home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / a / armbob / !ArmBob / progs / main / Account next >
Text File  |  1994-03-14  |  2KB  |  96 lines

  1. /* Main program for account */
  2. main()
  3. {
  4.  account_no = 0;
  5.  client = newvector(enough=6);        /* 6 is big enough for Toy Town */
  6.  print(""+12);                        /* clear screen  */
  7.  banner();
  8.  while ((i = input()) != "0")         /* Top level interaction loop */
  9.  {
  10.    switch (i)
  11.    {
  12.     case "1":                         /* Open an account */
  13.       if (account_no<enough)
  14.         new_account();
  15.       else
  16.          print("Sorry, no more accounts.\n");
  17.       break;
  18.     case "2":                        /* Make a withdrawal */
  19.       if (account_no) withdraw();
  20.       break;
  21.     case "3":                        /* Get a statement */
  22.       if (account_no) statement();
  23.       break;
  24.     case "4":                        /* Change password */
  25.       if (account_no) change_password();
  26.       break;
  27.     default:
  28.       print("Sorry. Did not understand.\n");
  29.       break;
  30.     }
  31.     banner();
  32.  }
  33.  print("Goodbye.\n");
  34. }
  35.       
  36. banner()
  37. {
  38.  print("\nWelcome to the Toy Town Bank.\n");
  39.  print("\n   0 Quit\n");
  40.  print("   1 Open an account\n");
  41.  print("   2 Make a withdrawal or deposit\n");
  42.  print("   3 Get a statement\n");
  43.  print("   4 Change your password\n\n");
  44.  print("Press one of the above numbers then press RETURN.\n\n");
  45.  print("Number :");
  46. }
  47.  
  48. new_account()
  49. {
  50.  local name,amount;
  51.  print("Enter your name: ");
  52.  name = input();
  53.  print("Enter the amount you wish to deposit: ");
  54.  amount = val(input());
  55.  client[account_no++] = new account(amount,name);
  56.  print("Thank you for your custom , ",name,".\n");
  57. }
  58.  
  59. withdraw()
  60. {
  61.  local the_account;
  62.  if ((the_account = get_account())<account_no)
  63.    {
  64.    print("How much do you wish to withdraw? ");
  65.    client[the_account]->withdraw(val(input()));
  66.    }
  67. }
  68.  
  69. statement()
  70. {
  71.  local the_account;
  72.  if ((the_account = get_account())<account_no)
  73.     client[the_account]->statement();
  74. }
  75.  
  76. change_password()
  77. {
  78.  local the_account;
  79.  if ((the_account = get_account())<account_no)
  80.     client[the_account]->change_password();
  81. }
  82.  
  83. get_account()
  84. {
  85.  local name, the_account;
  86.  the_account = 0;
  87.  print("Enter your name: ");
  88.  name = input();
  89.  while ((the_account<account_no)
  90.         && !(client[the_account]->has_owner(name)))
  91.     the_account++;
  92.  if (the_account>=account_no)
  93.     print("We cannot find any account owned by ",name,".\n");
  94.  return the_account;
  95. }
  96.