Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<windows.h>
- int i,j;
- int main_exit;
- void menu();
- struct date{
- int month,day,year;
- };
- struct {
- char name[60];
- int acc_no,age;
- char address[60];
- char citizenship[15];
- double phone;
- char acc_type[10];
- float amt;
- struct date dob;
- struct date deposit;
- struct date withdraw;
- }add,upd,check,rem,transaction;
- float interest(float t,float amount,int rate)
- {
- float SI;
- SI=(rate*t*amount)/100.0;
- return (SI);
- }
- void fordelay(int j)
- { int i,k;
- for(i=0;i<j;i++)
- k=i;
- }
- void new_acc()
- {
- int choice;
- FILE *ptr;
- ptr=fopen("record.dat","a+");
- account_no:
- system("cls");
- printf("\t\t\t\xB2\xB2\xB2\ ADD RECORD \xB2\xB2\xB2\xB2");
- printf("\n\n\nSaisir la date du jour(mm/dd/yyyy):");
- scanf("%d/%d/%d",&add.deposit.month,&add.deposit.day,&add.deposit.year);
- printf("\nSaisir le numero de compte:");
- scanf("%d",&check.acc_no);
- while(fscanf(ptr,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",&add.acc_no,add.name,&add.dob.month,&add.dob.day,&add.dob.year,&add.age,add.address,add.citizenship,&add.phone,add.acc_type,&add.amt,&add.deposit.month,&add.deposit.day,&add.deposit.year)!=EOF)
- {
- if (check.acc_no==add.acc_no)
- {printf("Numero de compte deja utilisé!");
- fordelay(1000000000);
- goto account_no;
- }
- }
- add.acc_no=check.acc_no;
- printf("\nSaisir le nom:");
- scanf("%s",add.name);
- printf("\nSaisir la date de naissance(mm/dd/yyyy):");
- scanf("%d/%d/%d",&add.dob.month,&add.dob.day,&add.dob.year);
- printf("\nSaisir l'age:");
- scanf("%d",&add.age);
- printf("\nSaisir l'adresse:");
- scanf("%s",add.address);
- printf("\nEnter the citizenship number:");
- scanf("%s",add.citizenship);
- printf("\nSaisir le numero de tel: ");
- scanf("%lf",&add.phone);
- printf("\nSaisir le montant du depot:$");
- scanf("%f",&add.amt);
- printf("\nType de compte:\n\t#Sauvegarde\n\t#Current\n\t#Fixed1(for 1 year)\n\t#Fixed2(for 2 years)\n\t#Fixed3(for 3 years)\n\n\tEnter your choice:");
- scanf("%s",add.acc_type);
- fprintf(ptr,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- fclose(ptr);
- printf("\nAccount created successfully!");
- add_invalid:
- printf("\n\n\n\t\tEnter 1 to go to the main menu and 0 to exit:");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==1)
- menu();
- else if(main_exit==0)
- close();
- else
- {
- printf("\nInvalid!\a");
- goto add_invalid;
- }
- }
- void view_list()
- {
- FILE *view;
- view=fopen("record.dat","r");
- int test=0;
- system("cls");
- printf("\nACC. NO.\tNAME\t\t\tADDRESS\t\t\tPHONE\n");
- while(fscanf(view,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d",&add.acc_no,add.name,&add.dob.month,&add.dob.day,&add.dob.year,&add.age,add.address,add.citizenship,&add.phone,add.acc_type,&add.amt,&add.deposit.month,&add.deposit.day,&add.deposit.year)!=EOF)
- {
- printf("\n%6d\t %10s\t\t\t%10s\t\t%.0lf",add.acc_no,add.name,add.address,add.phone);
- test++;
- }
- fclose(view);
- if (test==0)
- { system("cls");
- printf("\nNO RECORDS!!\n");}
- view_list_invalid:
- printf("\n\nEnter 1 to go to the main menu and 0 to exit:");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==1)
- menu();
- else if(main_exit==0)
- close();
- else
- {
- printf("\nInvalid!\a");
- goto view_list_invalid;
- }
- }
- void edit(void)
- {
- int choice,test=0;
- FILE *old,*newrec;
- old=fopen("record.dat","r");
- newrec=fopen("new.dat","w");
- printf("\nEnter the account no. of the customer whose info you want to change:");
- scanf("%d",&upd.acc_no);
- while(fscanf(old,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d",&add.acc_no,add.name,&add.dob.month,&add.dob.day,&add.dob.year,&add.age,add.address,add.citizenship,&add.phone,add.acc_type,&add.amt,&add.deposit.month,&add.deposit.day,&add.deposit.year)!=EOF)
- {
- if (add.acc_no==upd.acc_no)
- { test=1;
- printf("\nWhich information do you want to change?\n1.Address\n2.Phone\n\nEnter your choice(1 for address and 2 for phone):");
- scanf("%d",&choice);
- system("cls");
- if(choice==1)
- {printf("Enter the new address:");
- scanf("%s",upd.address);
- fprintf(newrec,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,upd.address,add.citizenship,add.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- system("cls");
- printf("Changes saved!");
- }
- else if(choice==2)
- {
- printf("Enter the new phone number:");
- scanf("%lf",&upd.phone);
- fprintf(newrec,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,upd.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- system("cls");
- printf("Changes saved!");
- }
- }
- else
- fprintf(newrec,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- }
- fclose(old);
- fclose(newrec);
- remove("record.dat");
- rename("new.dat","record.dat");
- if(test!=1)
- { system("cls");
- printf("\nRecord not found!!\a\a\a");
- edit_invalid:
- printf("\nTaper 1 pour retourner au menu principal ou 0 pour quitter l'application: ");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==1)
- menu();
- else if (main_exit==2)
- close();
- else if(main_exit==0)
- edit();
- else
- {printf("\nInvalid!\a");
- goto edit_invalid;}
- }
- else
- {printf("\n\n\nEnter 1 to go to the main menu and 0 to exit:");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==1)
- menu();
- else
- close();
- }
- }
- void transact(void)
- { int choice,test=0;
- FILE *old,*newrec;
- old=fopen("record.dat","r");
- newrec=fopen("new.dat","w");
- printf("Enter the account no. of the customer:");
- scanf("%d",&transaction.acc_no);
- while (fscanf(old,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d",&add.acc_no,add.name,&add.dob.month,&add.dob.day,&add.dob.year,&add.age,add.address,add.citizenship,&add.phone,add.acc_type,&add.amt,&add.deposit.month,&add.deposit.day,&add.deposit.year)!=EOF)
- {
- if(add.acc_no==transaction.acc_no)
- { test=1;
- if(strcmpi(add.acc_type,"fixed1")==0||strcmpi(add.acc_type,"fixed2")==0||strcmpi(add.acc_type,"fixed3")==0)
- {
- printf("\a\a\a\n\nYOU CANNOT DEPOSIT OR WITHDRAW CASH IN FIXED ACCOUNTS!!!!!");
- fordelay(1000000000);
- system("cls");
- menu();
- }
- printf("\n\nDo you want to\n1.Deposit\n2.Withdraw?\n\nEnter your choice(1 for deposit and 2 for withdraw):");
- scanf("%d",&choice);
- if (choice==1)
- {
- printf("Enter the amount you want to deposit:$ ");
- scanf("%f",&transaction.amt);
- add.amt+=transaction.amt;
- fprintf(newrec,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- printf("\n\nDeposited successfully!");
- }
- else
- {
- printf("Enter the amount you want to withdraw:$ ");
- scanf("%f",&transaction.amt);
- add.amt-=transaction.amt;
- fprintf(newrec,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- printf("\n\nWithdrawn successfully!");
- }
- }
- else
- {
- fprintf(newrec,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- }
- }
- fclose(old);
- fclose(newrec);
- remove("record.dat");
- rename("new.dat","record.dat");
- if(test!=1)
- {
- printf("\n\nRecord not found!!");
- transact_invalid:
- printf("\n\n\nTaper 1 pour retourner au menu principal ou 0 pour quitter l'application: ");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==0)
- transact();
- else if (main_exit==1)
- menu();
- else if (main_exit==2)
- close();
- else
- {
- printf("\nInvalid!");
- goto transact_invalid;
- }
- }
- else
- {
- printf("\nEnter 1 to go to the main menu and 0 to exit:");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==1)
- menu();
- else
- close();
- }
- }
- void erase(void)
- {
- FILE *old,*newrec;
- int test=0;
- old=fopen("record.dat","r");
- newrec=fopen("new.dat","w");
- printf("Enter the account no. of the customer you want to delete:");
- scanf("%d",&rem.acc_no);
- while (fscanf(old,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d",&add.acc_no,add.name,&add.dob.month,&add.dob.day,&add.dob.year,&add.age,add.address,add.citizenship,&add.phone,add.acc_type,&add.amt,&add.deposit.month,&add.deposit.day,&add.deposit.year)!=EOF)
- {
- if(add.acc_no!=rem.acc_no)
- fprintf(newrec,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- else
- {test++;
- printf("\nRecord deleted successfully!\n");
- }
- }
- fclose(old);
- fclose(newrec);
- remove("record.dat");
- rename("new.dat","record.dat");
- if(test==0)
- {
- printf("\nRecord not found!!\a\a\a");
- erase_invalid:
- printf("\nTaper 1 pour retourner au menu principal ou 0 pour quitter l'application: ");
- scanf("%d",&main_exit);
- if (main_exit==1)
- menu();
- else if (main_exit==2)
- close();
- else if(main_exit==0)
- erase();
- else
- {printf("\nInvalid!\a");
- goto erase_invalid;}
- }
- else
- {printf("\nEnter 1 to go to the main menu and 0 to exit:");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==1)
- menu();
- else
- close();
- }
- }
- void see(void)
- {
- FILE *ptr;
- int test=0,rate;
- int choice;
- float time;
- float intrst;
- ptr=fopen("record.dat","r");
- printf("Do you want to check by\n1.Account no\n2.Name\nEnter your choice:");
- scanf("%d",&choice);
- if (choice==1)
- { printf("Enter the account number:");
- scanf("%d",&check.acc_no);
- while (fscanf(ptr,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d",&add.acc_no,add.name,&add.dob.month,&add.dob.day,&add.dob.year,&add.age,add.address,add.citizenship,&add.phone,add.acc_type,&add.amt,&add.deposit.month,&add.deposit.day,&add.deposit.year)!=EOF)
- {
- if(add.acc_no==check.acc_no)
- { system("cls");
- test=1;
- printf("\nAccount NO.:%d\nName:%s \nDOB:%d/%d/%d \nAge:%d \nAddress:%s \nCitizenship No:%s \nPhone number:%.0lf \nType Of Account:%s \nAmount deposited:$ %.2f \nDate Of Deposit:%d/%d/%d\n\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,
- add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- if(strcmpi(add.acc_type,"fixed1")==0)
- {
- time=1.0;
- rate=9;
- intrst=interest(time,add.amt,rate);
- printf("\n\nYou will get $%.2f as interest on %d/%d/%d",intrst,add.deposit.month,add.deposit.day,add.deposit.year+1);
- }
- else if(strcmpi(add.acc_type,"fixed2")==0)
- {
- time=2.0;
- rate=11;
- intrst=interest(time,add.amt,rate);
- printf("\n\nYou will get $.%.2f as interest on %d/%d/%d",intrst,add.deposit.month,add.deposit.day,add.deposit.year+2);
- }
- else if(strcmpi(add.acc_type,"fixed3")==0)
- {
- time=3.0;
- rate=13;
- intrst=interest(time,add.amt,rate);
- printf("\n\nYou will get $.%.2f as interest on %d/%d/%d",intrst,add.deposit.month,add.deposit.day,add.deposit.year+3);
- }
- else if(strcmpi(add.acc_type,"saving")==0)
- {
- time=(1.0/12.0);
- rate=8;
- intrst=interest(time,add.amt,rate);
- printf("\n\nYou will get $.%.2f as interest on %d of every month",intrst,add.deposit.day);
- }
- else if(strcmpi(add.acc_type,"current")==0)
- {
- printf("\n\nYou will get no interest\a\a");
- }
- }
- }
- }
- else if (choice==2)
- { printf("Saisir le nombre:");
- scanf("%s",&check.name);
- while (fscanf(ptr,"%d %s %d/%d/%d %d %s %s %lf %s %f %d/%d/%d",&add.acc_no,add.name,&add.dob.month,&add.dob.day,&add.dob.year,&add.age,add.address,add.citizenship,&add.phone,add.acc_type,&add.amt,&add.deposit.month,&add.deposit.day,&add.deposit.year)!=EOF)
- {
- if(strcmpi(add.name,check.name)==0)
- { system("cls");
- test=1;
- printf("\nNumero de compte:%d\nNom:%s \nDOB:%d/%d/%d \nAge:%d \nAdresse:%s \nCitizenship No:%s \nPhone number:%.0lf \nType Of Account:%s \nAmount deposited:$%.2f \nDate Of Deposit:%d/%d/%d\n\n",add.acc_no,add.name,add.dob.month,add.dob.day,add.dob.year,add.age,add.address,add.citizenship,add.phone,
- add.acc_type,add.amt,add.deposit.month,add.deposit.day,add.deposit.year);
- if(strcmpi(add.acc_type,"fixed1")==0)
- {
- time=1.0;
- rate=9;
- intrst=interest(time,add.amt,rate);
- printf("\n\nVous aurez $.%.2f d'interet le %d/%d/%d",intrst,add.deposit.month,add.deposit.day,add.deposit.year+1);
- }
- else if(strcmpi(add.acc_type,"fixed2")==0)
- {
- time=2.0;
- rate=11;
- intrst=interest(time,add.amt,rate);
- printf("\n\nVous aurez $.%.2f d'interet le %d/%d/%d",intrst,add.deposit.month,add.deposit.day,add.deposit.year+2);
- }
- else if(strcmpi(add.acc_type,"fixed3")==0)
- {
- time=3.0;
- rate=13;
- intrst=interest(time,add.amt,rate);
- printf("\n\nVous aurez $.%.2f d'interet le %d/%d/%d",intrst,add.deposit.month,add.deposit.day,add.deposit.year+3);
- }
- else if(strcmpi(add.acc_type,"saving")==0)
- {
- time=(1.0/12.0);
- rate=8;
- intrst=interest(time,add.amt,rate);
- printf("\n\nVous aurez $.%.2f d'interet tous les %d of every month",intrst,add.deposit.day);
- }
- else if(strcmpi(add.acc_type,"current")==0)
- {
- printf("\n\nVous n'aurez pas d'interet\a\a");
- }
- }
- }
- }
- fclose(ptr);
- if(test!=1)
- { system("cls");
- printf("\nCompte non trouve!!\a\a\a");
- see_invalid:
- printf("\nTaper 1 pour retourner au menu principal ou 0 pour quitter l'application: ");
- scanf("%d",&main_exit);
- system("cls");
- if (main_exit==1)
- menu();
- else if (main_exit==2)
- close();
- else if(main_exit==0)
- see();
- else
- {
- system("cls");
- printf("\nInvalide!\a");
- goto see_invalid;}
- }
- else
- {printf("\nTaper 1 pour retourner au menu principal ou 0 pour quitter l'application: ");
- scanf("%d",&main_exit);}
- if (main_exit==1)
- {
- system("cls");
- menu();
- }
- else
- {
- system("cls");
- close();
- }
- }
- void menu(void)
- { int choice;
- system("cls");
- system("color 0");
- printf("\n\n\t\t\tGESTION DES COMPTES BANCAIRES");
- printf("\n\n\n\t\t\t\xB2\xB2\xB2\xB2\xB2\xB2\xB2 BIENVENUE DANS LE MENU PRINCIPAL \xB2\xB2\xB2\xB2\xB2\xB2\xB2");
- printf("\n\n\t\t1.Creer un nouveau compte\n\t\t2.Modifier les informations d'un compte\n\t\t3.Transactions\n\t\t4.Verifier les details du compte existant\n\t\t5.Supprimer un compte existant\n\t\t6.Voir la liste des clients\n\t\t7.Quitter\n\n\n\n\n\t\t Choix du menu:");
- scanf("%d",&choice);
- system("cls");
- switch(choice)
- {
- case 1:new_acc();
- break;
- case 2:edit();
- break;
- case 3:transact();
- break;
- case 4:see();
- break;
- case 5:erase();
- break;
- case 6:view_list();
- break;
- case 7:close();
- break;
- }
- }
- int main()
- {
- char pass[10],password[10]="esgi";
- int i=0;
- printf("\n\n\t\tVeuillez saisir le mot de passe: ");
- scanf("%s",pass);
- /*do
- {
- //if (pass[i]!=13&&pass[i]!=8)
- {
- printf("*");
- pass[i]=getch();
- i++;
- }
- }while (pass[i]!=13);
- pass[10]='\0';*/
- if (strcmp(pass,password)==0)
- {printf("\n\nMot de passe correct!\nCHARGEMENT");
- for(i=0;i<=6;i++)
- {
- fordelay(100000000);
- printf(".");
- }
- system("cls");
- menu();
- }
- else
- { printf("\n\nMauvais mot de passe!!\a\a\a");
- login_try:
- printf("\nTaper 1 pour reessayer ou 0 pour quitter l'application");
- scanf("%d",&main_exit);
- if (main_exit==1)
- {
- system("cls");
- main();
- }
- else if (main_exit==0)
- {
- system("cls");
- close();}
- else
- {printf("\Invalide!");
- fordelay(1000000000);
- system("cls");
- goto login_try;}
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement