NightRaven97

Bank operations

Mar 3rd, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.80 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int n;
  4. struct bank_accnt
  5. {
  6.     int accnt_no,pwd,locked_status;
  7.     float balance;
  8. }acc[50];
  9. struct bank_accnt deposit(struct bank_accnt a,float amount)
  10. {
  11.     a.balance+=amount;
  12.     printf("%f was deposited to account number %d\n",amount,a.accnt_no);
  13.     return a;
  14. }
  15. struct bank_accnt withdraw(struct bank_accnt a,float amount)
  16. {
  17.     if(a.balance==0)
  18.     {
  19.         printf("Nil balance in account number %d\nNo amount was withdrawn.",a.accnt_no);
  20.         return a;
  21.     }
  22.     a.balance-=amount;
  23.     printf("%f was withdrawn from account number %d\n",amount,a.accnt_no);
  24.     return a;
  25. }
  26. void balance(struct bank_accnt a)
  27. {
  28.     printf("Balance in account number %d is %f\n",a.accnt_no,a.balance);
  29. }
  30. int acc_check(int ac_num)
  31. {
  32.     int i,flag=1;
  33.     for(i=0;i<n;i++)
  34.     {
  35.         if(acc[i].accnt_no==ac_num)
  36.         {
  37.             flag=0;
  38.             break;
  39.         }
  40.     }
  41.     if(flag)
  42.     {
  43.         printf("Error! Account number %d does not exist!",ac_num);
  44.         return -1;
  45.     }
  46.     else
  47.         return i;
  48. }
  49. void main()
  50. {
  51.     int i,ch=-1,ac_num,password,err_flag,flag;
  52.     float amount;
  53.     printf("Enter the number of bank accounts needed:");
  54.     scanf("%d",&n);
  55.     for(i=0;i<n;i++)
  56.     {
  57.         err_flag=0;
  58.         printf("Enter account number for account %d:",i+1);
  59.         scanf("%d",&acc[i].accnt_no);
  60.         acc[i].pwd=1;
  61.         while(acc[i].pwd<1000 || acc[i].pwd>9999)
  62.         {
  63.             if(err_flag)
  64.                 printf("Invalid input! Enter a valid 4-digit number:");
  65.             else
  66.                 printf("Enter 4-digit password:");
  67.             scanf("%d",&acc[i].pwd);
  68.             err_flag+=1;
  69.         }
  70.         printf("Enter starting balance for account %d:",i+1);
  71.         scanf("%f",&acc[i].balance);
  72.         acc[i].locked_status=0;
  73.     }
  74.     while(ch!=4)
  75.     {
  76.         printf("\n1.Deposit\n2.Withdrawal\n3.Balance Enquiry\n4.Exit\nEnter your choice:");
  77.         scanf("%d",&ch);
  78.         switch(ch)
  79.         {
  80.             case 1:
  81.                 printf("Enter the account number:");
  82.                 scanf("%d",&ac_num);
  83.                 flag=acc_check(ac_num);
  84.                 if(flag==-1)
  85.                     break;
  86.                 if(acc[flag].locked_status)
  87.                 {
  88.                     printf("Your account has been locked. Contact nearest branch for help.");
  89.                     break;
  90.                 }
  91.                 printf("Enter the amount to be deposited:");
  92.                 scanf("%f",&amount);
  93.                 acc[flag]=deposit(acc[flag],amount);
  94.                 break;
  95.             case 2:
  96.                 printf("Enter the account number:");
  97.                 scanf("%d",&ac_num);
  98.                 flag=acc_check(ac_num);
  99.                 if(flag==-1)
  100.                     break;
  101.                 if(acc[flag].locked_status)
  102.                 {
  103.                     printf("Your account has been locked. Contact nearest branch for help.");
  104.                     break;
  105.                 }
  106.                 password=1;
  107.                 err_flag=0;
  108.                 while(password!=acc[flag].pwd)
  109.                 {
  110.                     if(3==err_flag)
  111.                     {
  112.                         acc[flag].locked_status=1;
  113.                         printf("Account locked! Contact the nearest branch for further help.");
  114.                         goto jump;
  115.                     }
  116.                     if(err_flag)
  117.                         printf("Incorrect password. %d tries left.\n",3-err_flag);
  118.                     printf("Enter the 4-digit password:");
  119.                     scanf("%d",&password);
  120.                     err_flag+=1;
  121.                 }
  122.                 printf("Enter the amount to be withdrawn:");
  123.                 scanf("%f",&amount);
  124.                 acc[flag]=withdraw(acc[flag],amount);
  125.                 jump:
  126.                 break;
  127.             case 3:
  128.                 printf("Enter the account number:");
  129.                 scanf("%d",&ac_num);
  130.                 flag=acc_check(ac_num);
  131.                 if(flag==-1)
  132.                 {
  133.                     printf("check");
  134.                     break;
  135.                 }
  136.                 if(acc[flag].locked_status)
  137.                 {
  138.                     printf("Your account has been locked. Contact nearest branch for help.");
  139.                     break;
  140.                 }
  141.                 password=1;
  142.                 err_flag=0;
  143.                 while(password!=acc[flag].pwd)
  144.                 {
  145.                     if(3==err_flag)
  146.                     {
  147.                         acc[flag].locked_status=1;
  148.                         printf("Account locked! Contact the nearest branch for further help.");
  149.                         goto jump;
  150.                     }
  151.                     if(err_flag)
  152.                         printf("Incorrect password. %d tries left.",3-err_flag);
  153.                     printf("Enter the 4-digit password:");
  154.                     scanf("%d",&password);
  155.                     err_flag+=1;
  156.                 }
  157.                 balance(acc[flag]);
  158.                 break;
  159.             case 4:
  160.                 exit(0);
  161.                 break;
  162.             default:
  163.                 printf("Invalid input!");
  164.            
  165.         }
  166.     }
  167. }
Add Comment
Please, Sign In to add comment