Untitled

 avatar
unknown
c_cpp
2 years ago
6.6 kB
11
Indexable
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


struct client
{
    char numero_de_compte[30];
    char mot_de_passe[30];
    float solde;
};


void main()
{
    int montant;
    struct client clt,clt2;
    FILE *fichier , *fichier2;
    char nom_fichier[30],numero[30],mot_de_passe[30];
    int choix, choix2;
    char connect = 'o';

    printf("\nBIENVENUE\n");
    printf("\n1. SE CONNECTER");
    printf("\n2. CREER UN NOUVEAU COMPTE");
    printf("\n\nVOTRE CHOIX: ");
    scanf("%d" , &choix);

    switch(choix)
    {
    case 1:
        printf("\e[1;1H\e[2J"); /*Meme chose que system("CLS") mais valable pour tous
        les systémes d'exploiatation*/
        printf("NUMERO DE COMPTE : ");
        scanf("%s" , numero);
        printf("\nMOT DE PASSE : ");
        scanf("%s" , mot_de_passe);
        strcpy(nom_fichier,numero);
        fichier = fopen(strcat(nom_fichier,".txt"), "r");
        if(fichier == NULL)
        {
            printf("\nCE COMPTE N'EXISTE PAS");
        }
        else
        {
            fread(&clt,sizeof(struct client),1,fichier);
            fclose(fichier);
            if(!strcmp(mot_de_passe,clt.mot_de_passe))
                {
                    while(connect == 'o')
                    {
                        printf("\e[1;1H\e[2J");
                    printf("\n1.VOIRE VOTRE SOLDE");
                    printf("\n2.DEPOSER UNE SOMME D'ARGENT");
                    printf("\n3.RETIRER UNE SOMME D'ARGENT");
                    printf("\n4.TRANSFERE UNE SOMME D'ARGENT");
                    printf("\n VOITRE CHOIX : ");
                    scanf("%d" , &choix2);

                    switch(choix2){
                    case 1:

                        printf("\nVOTRE SOLDE EST %.2f MAD", clt.solde);
                        break;
                    case 2:
                        printf("\e[1;1H\e[2J");
                        printf("\nENTRER LA MONTANT QUI SERA DEPOSE : ");
                        scanf("%d" , &montant);
                        clt.solde += montant;
                        fichier = fopen(nom_fichier , "w");
                        fwrite(&clt,sizeof(struct client),1,fichier);
                        if(fwrite != 0) printf("VOUS AVEZ DEPOSER %d MAD" , montant);
                        fclose(fichier);
                        break;

                    case 3:
                        printf("\nENTRER LA MONTANT QUI SERA RETIRER : ");
                        scanf("%d" , &montant);
                        if(montant > clt.solde) printf("\nVOTRE SOLDE EST INSUFISANT");
                        else
                        {
                        clt.solde -= montant;
                        fichier = fopen(nom_fichier , "w");
                        fwrite(&clt,sizeof(struct client),1,fichier);
                        if(fwrite != 0) printf("VOUS AVEZ RETIRER %d MAD" , montant);
                        fclose(fichier);
                        }

                        break;

                    case 4:
                        printf("\nENTRER LE NUMERO DE COMPTE DU BENEFICIAIRE : ");
                        scanf("%s" , numero);
                        printf("\nLE MONTANT A TRANSFRER : ");
                        scanf("%d" , &montant);
                        if(montant > clt.solde) printf ("\nSOLDE INSUFISANT");
                        else
                        {
                            fichier2 = fopen(strcat(numero,".txt"),"r+");
                            if(fichier2==NULL) printf("CE COMPTE N'EXISTE PAS");
                            else
                            {
                                 fread(&clt2,sizeof(struct client),1,fichier2);
                                 fclose(fichier2);
                                 clt2.solde += montant;
                                 fichier2 = fopen(numero,"w");
                                 fwrite(&clt2,sizeof(struct client),1,fichier2);
                                  if(fwrite != 0)
                            {
                                printf("VOUS AVEZ TRANSFERE %d MAD vers %s ",montant, clt2.numero_de_compte);
                                fclose(fichier2);
                                clt.solde -= montant;

                                strcpy(nom_fichier,clt.numero_de_compte);
                                fichier = fopen(strcat(nom_fichier,".txt"), "w");

                                fwrite(&clt,sizeof(struct client),1,fichier);
                                fclose(fichier);
                            }







                            }
                        }
                        break;

                    case 5:
                        printf("\nENTRER VOTRE MOT DE PASSE ACTUEL :  ");
                        scanf("%s",mot_de_passe);
                        if(!strcmp(mot_de_passe,clt.mot_de_passe))
                        {
                            printf("\n\nENTRER VOTRE NOUVEAU MOT DE PASSE : ");
                            scanf("%s",mot_de_passe);
                            strcpy(clt.mot_de_passe,mot_de_passe);
                            strcpy(nom_fichier,clt.numero_de_compte);
                            fichier = fopen(strcat(nom_fichier,".txt"),"w");
                            fwrite(&clt,sizeof(struct client),1,fichier);
                            fclose(fichier);
                            printf("\nLE MOT DE PASSE A BIEN ETE MODIFIE");
                        } else printf("VOTRE MOT DE PASSE EST INCORRECT");
                    }
                    defaul:
                        break;
                    printf("\nRESTER CONNECTER ? [o/n]");
                scanf("%s", &connect);

                }

                    }


            else{
                    printf("\n MOT DE PASSE INCORRECT");
                }

        }

    case 2:
        printf("\e[1;1H\e[2J");
        printf("NUMERO DE COMPTE : ");
        scanf("%s" , clt.numero_de_compte);
        printf("MOT DE PASSE : ");
        scanf("%s" , clt.mot_de_passe);
        clt.solde = 0;
        strcpy(nom_fichier, clt.numero_de_compte);
        fichier = fopen(strcat(nom_fichier,".txt"), "w");
        fwrite(&clt, sizeof(clt), 1, fichier);
        if(fwrite != 0)
        {
            printf("\n\n LE NOUVEAU COMPTE A BIEN ETE CREER");
        }
        else
        {
            printf("PROBLEME LORS DU SAUVEGARDE");
        }

    }



}
Editor is loading...