Bank Accounts Manager
unknown
c_cpp
3 years ago
6.9 kB
13
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");
}
break;
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");
}
break;
default:
break;
}
}
else
{
printf("\nMot de passe incorrect");
}
}
}
}Editor is loading...