Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- int n;
- struct bank_accnt
- {
- int accnt_no,pwd,locked_status;
- float balance;
- }acc[50];
- struct bank_accnt deposit(struct bank_accnt a,float amount)
- {
- a.balance+=amount;
- printf("%f was deposited to account number %d\n",amount,a.accnt_no);
- return a;
- }
- struct bank_accnt withdraw(struct bank_accnt a,float amount)
- {
- if(a.balance==0)
- {
- printf("Nil balance in account number %d\nNo amount was withdrawn.",a.accnt_no);
- return a;
- }
- a.balance-=amount;
- printf("%f was withdrawn from account number %d\n",amount,a.accnt_no);
- return a;
- }
- void balance(struct bank_accnt a)
- {
- printf("Balance in account number %d is %f\n",a.accnt_no,a.balance);
- }
- int acc_check(int ac_num)
- {
- int i,flag=1;
- for(i=0;i<n;i++)
- {
- if(acc[i].accnt_no==ac_num)
- {
- flag=0;
- break;
- }
- }
- if(flag)
- {
- printf("Error! Account number %d does not exist!",ac_num);
- return -1;
- }
- else
- return i;
- }
- void main()
- {
- int i,ch=-1,ac_num,password,err_flag,flag;
- float amount;
- printf("Enter the number of bank accounts needed:");
- scanf("%d",&n);
- for(i=0;i<n;i++)
- {
- err_flag=0;
- printf("Enter account number for account %d:",i+1);
- scanf("%d",&acc[i].accnt_no);
- acc[i].pwd=1;
- while(acc[i].pwd<1000 || acc[i].pwd>9999)
- {
- if(err_flag)
- printf("Invalid input! Enter a valid 4-digit number:");
- else
- printf("Enter 4-digit password:");
- scanf("%d",&acc[i].pwd);
- err_flag+=1;
- }
- printf("Enter starting balance for account %d:",i+1);
- scanf("%f",&acc[i].balance);
- acc[i].locked_status=0;
- }
- while(ch!=4)
- {
- printf("\n1.Deposit\n2.Withdrawal\n3.Balance Enquiry\n4.Exit\nEnter your choice:");
- scanf("%d",&ch);
- switch(ch)
- {
- case 1:
- printf("Enter the account number:");
- scanf("%d",&ac_num);
- flag=acc_check(ac_num);
- if(flag==-1)
- break;
- if(acc[flag].locked_status)
- {
- printf("Your account has been locked. Contact nearest branch for help.");
- break;
- }
- printf("Enter the amount to be deposited:");
- scanf("%f",&amount);
- acc[flag]=deposit(acc[flag],amount);
- break;
- case 2:
- printf("Enter the account number:");
- scanf("%d",&ac_num);
- flag=acc_check(ac_num);
- if(flag==-1)
- break;
- if(acc[flag].locked_status)
- {
- printf("Your account has been locked. Contact nearest branch for help.");
- break;
- }
- password=1;
- err_flag=0;
- while(password!=acc[flag].pwd)
- {
- if(3==err_flag)
- {
- acc[flag].locked_status=1;
- printf("Account locked! Contact the nearest branch for further help.");
- goto jump;
- }
- if(err_flag)
- printf("Incorrect password. %d tries left.\n",3-err_flag);
- printf("Enter the 4-digit password:");
- scanf("%d",&password);
- err_flag+=1;
- }
- printf("Enter the amount to be withdrawn:");
- scanf("%f",&amount);
- acc[flag]=withdraw(acc[flag],amount);
- jump:
- break;
- case 3:
- printf("Enter the account number:");
- scanf("%d",&ac_num);
- flag=acc_check(ac_num);
- if(flag==-1)
- {
- printf("check");
- break;
- }
- if(acc[flag].locked_status)
- {
- printf("Your account has been locked. Contact nearest branch for help.");
- break;
- }
- password=1;
- err_flag=0;
- while(password!=acc[flag].pwd)
- {
- if(3==err_flag)
- {
- acc[flag].locked_status=1;
- printf("Account locked! Contact the nearest branch for further help.");
- goto jump;
- }
- if(err_flag)
- printf("Incorrect password. %d tries left.",3-err_flag);
- printf("Enter the 4-digit password:");
- scanf("%d",&password);
- err_flag+=1;
- }
- balance(acc[flag]);
- break;
- case 4:
- exit(0);
- break;
- default:
- printf("Invalid input!");
- }
- }
- }
Add Comment
Please, Sign In to add comment