balance.cpp
上传用户:yxdoors
上传日期:2022-07-15
资源大小:1k
文件大小:2k
源码类别:

金融证券系统

开发平台:

C/C++

  1. #include <iostream>
  2. using namespace std;
  3. void printMonth(int);
  4. int main () {
  5. double amount, start, end, current, max, min;
  6. double depTotal, checkTotal, atmTotal;
  7. int mon, day, year;
  8. int mon1, day1, year1;
  9. int mon2, day2, year2;
  10. int checknum, deposits, checks, atm;
  11. int count = 0;
  12. deposits = checks = atm = 0;
  13. depTotal = checkTotal = atmTotal = 0;
  14. // Read starting balance
  15. cin >> start;
  16. max = min = current = start;
  17. // Read year
  18. cin >> year;
  19. while (year != -1) {
  20. // Read rest of line
  21. cin >> mon >> day >> amount;
  22. if (count == 0) {
  23. mon1 = mon2 = mon;
  24. day1 = day2 = day;
  25. year1 = year2 = year;
  26. }
  27. else {
  28. mon2 = mon;
  29. day2 = day;
  30. year2 = year;
  31. }
  32. count++;
  33. // Check for positive or negative amount
  34. if (amount < 0) {
  35. cin >> checknum;
  36. if (checknum == 0) {
  37. atm++;
  38. atmTotal -= amount;
  39. }
  40. else {
  41. checks++;
  42. checkTotal -= amount;
  43. }
  44. }
  45. else {
  46. deposits++;
  47. depTotal += amount;
  48. }
  49. // Update current balance
  50. current += amount;
  51. // Determine if high or low
  52. if (current > max)
  53. max = current;
  54. else if (current < min)
  55. min = current;
  56. // Read next year
  57. cin >> year;
  58. }
  59. // Print results
  60. cout << "Starting Balance:          " << start << endl;
  61. cout << "Ending Balance:            " << current << "nn";
  62. cout << "Date of first transaction: ";
  63. printMonth(mon1);
  64. cout << " " << day1 << ", " << year1 << endl;
  65. cout << "Date of last transaction:  ";
  66. printMonth(mon2);
  67. cout << " " << day2 << ", " << year2 << "nn";
  68. cout << "# of Deposits:        " << deposits << ".  Total: $" << depTotal << endl;
  69. cout << "# of Checks:          " << checks << ".  Total: $" << checkTotal << endl;
  70. cout << "# of ATM Withdrawals: " << atm << ".  Total: $" << atmTotal << "nn";
  71. cout << "Minimum balance during this period: $" << min << endl;
  72. cout << "Maximum balance during this period: $" << max << endl;
  73. return(0);
  74. }
  75. void printMonth(int mon) {
  76. if (mon == 1) cout << "January";
  77. else if (mon == 2) cout << "February";
  78. else if (mon == 3) cout << "March";
  79. else if (mon == 4) cout << "April";
  80. else if (mon == 5) cout << "May";
  81. else if (mon == 6) cout << "June";
  82. else if (mon == 7) cout << "July";
  83. else if (mon == 8) cout << "August";
  84. else if (mon == 9) cout << "September";
  85. else if (mon == 10) cout << "October";
  86. else if (mon == 11) cout << "November";
  87. else cout << "December";
  88. }