Bank Accounts Manager

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

struct customer
{
    char acc_number[30];
    char password[30];
    float balance;
};

void main()
{
    int amount;
    struct customer clt,clt_2;
    FILE *file , *file_2;
    char file_name[30],number[30],password[30];
    int choice, choice_2;

    printf("\nBIENVENUE A HMS BANK\n");
    printf("\n1. Creer un compte");
    printf("\n2. Se connecter");
    printf("\n\nTaper 1 ou 2: ");
    scanf("%d" , &choice);

    switch(choice)
    {

        case 1:
            printf("Taper le numero de votre compte: ");
            scanf("%s" , clt.acc_number);
            printf("Taper le mot de passe: ");
            scanf("%s" , clt.password);
            clt.balance = 0;
            strcpy(file_name, clt.acc_number);
            file = fopen(strcat(file_name,".txt"), "w");
            fwrite(&clt, sizeof(clt), 1, file);
            if(fwrite != 0)
            {
                printf("\n\n Votre compte a ete cree");
            }
            else
            {
                printf("Probleme inattendu, reessayez plus tard");
            }

        case 2:
            printf("Taper le numero de votre compte : ");
            scanf("%s" , number);
            printf("\nTaper le mot de passe : ");
            scanf("%s" , password);
            strcpy(file_name,number);
            file = fopen(strcat(file_name,".txt"), "r");
            if(file == NULL)
            {
                printf("\nIl n'y a pas de compte sous ce nombre");
            }
            else
            {
                fread(&clt,sizeof(struct customer),1,file);
                fclose(file);
                if(!strcmp(password,clt.password))
                {
                    printf("\n1.Solde");
                    printf("\n2.Retrait");
                    printf("\n3.Depot");
                    printf("\n4.Virement");
                    printf("\n5.Changement de mot de passe");
                    printf("\n Taper votre choix: ");
                    scanf("%d" , &choice_2);

                    switch(choice_2)
                    {
                        case 1:
                            printf("\nVotre solde est %.2f MAD", clt.balance);
                            break;
                        
                        case 2:
                            printf("\nEntrer la somme desiree: ");
                            scanf("%d" , &amount);
                            if(amount > clt.balance)
                            {
                                printf("\nSolde insuffisant");
                            }
                            else
                            {
                                clt.balance -= amount;
                                file = fopen(file_name , "w");
                                fwrite(&clt,sizeof(struct customer),1,file);
                                if(fwrite != 0)
                                {
                                    printf("Vous avez retire %d MAD" , amount);
                                }
                                fclose(file);
                            }
                            break;

                        case 3:
                            printf("\nEntrer la somme desiree: ");
                            scanf("%d" , &amount);
                            clt.balance += amount;
                            file = fopen(file_name , "w");
                            fwrite(&clt,sizeof(struct customer),1,file);
                            if(fwrite != 0) printf("Vous avez depose %d MAD" , amount);
                            fclose(file);
                            break;

                        case 4:
                            printf("\nTaper le numero de compte du benificiaire: ");
                            scanf("%s" , number);
                            printf("\nEntrer la somme desiree: ");
                            scanf("%d" , &amount);
                            if(amount > clt.balance)
                            {
                                printf ("\nSolde insufisant");
                            }
                            else
                            {
                                file_2 = fopen(strcat(number,".txt"),"r+");
                                if(file_2==NULL)
                                {
                                    printf("Il n'y a pas de compte sous ce nombre");
                                }
                                else
                                {
                                    fread(&clt_2,sizeof(struct customer),1,file_2);
                                    fclose(file_2);
                                    clt_2.balance += amount;
                                    file_2 = fopen(number,"w");
                                    fwrite(&clt_2,sizeof(struct customer),1,file_2);
                                    if(fwrite != 0)
                                    {
                                        printf("Vous avez transfere %d MAD vers %s ",amount, clt_2.acc_number);
                                        fclose(file_2);
                                        clt.balance -= amount;

                                        strcpy(file_name,clt.acc_number);
                                        file = fopen(strcat(file_name,".txt"), "w");

                                        fwrite(&clt,sizeof(struct customer),1,file);
                                        fclose(file);
                                    }

                                }
                            }
                            break;

                        case 5:
                            printf("\nTaper votre ancien mot de passe:  ");
                            scanf("%s",password);
                            if(!strcmp(password,clt.password))
                            {
                                printf("\n\nTaper votre nouveau mot de passe: ");
                                scanf("%s",password);
                                strcpy(clt.password,password);
                                strcpy(file_name,clt.acc_number);
                                file = fopen(strcat(file_name,".txt"),"w");
                                fwrite(&clt,sizeof(struct customer),1,file);
                                fclose(file);
                                printf("\nLe mot de passe est bien modifie");
                            }
                            else
                            {
                                printf("Mot de passe incorrect");
                            }

                        default:
                            break;
                    }
                }
                else
                {
                    printf("\nMot de passe incorrect");
                }
            }
    }
}
Editor is loading...