Solved

C++ - Checkbook Problem

Posted on 2006-10-26
6
839 Views
Last Modified: 2008-02-01
This is the second problem I need to figure out that is needed by tomorrow.

After many years of being frustratedby a check book that just won't balance you decide to make a program that does it for you.  The program should display a list of choices: D for deposit, C for check, W for withdrawal, and Q for quit.  If D is selected ask for the amount of the deposit, and add it to the account balance.  If the user enters C, ask for the amount of the check and subtract it from the balance.  If the user enters a W, ask for the amount of the withdrawal and subtract it from the balance.  When the user enters a Q, the program should display the opening balance, total amount deposited, total amount withdrawn, total amount of the checks and the final balance.  If the user enters something other than D, W, C, or Q, the program should display an error message and redisplay the menu.  Allow the user to enter either upper or lower case letters.

Here's the sample pseudocode to help with the program code.

START
   Initialize variables
     total_balance to 0
     total_checks to 0
     total_withdrawals to 0
     total_deposits to 0

Process
   get starting balance

   do ... while loop
      prompt for type of transaction
      get transaction
      switch
         Deposit
           increase balance
           increase total_deposits
         Check
           decrease balance
           increase total_checks
         Withdrawal
           decrease balance
           increase total_withdrawals
   end do while loop as Q was pressed

OUTPUT
   Display summary data
       show balance
       show total_deposits
       show total_checks
       show total_withdrawals

END

Thanks for being there.  This will help pull my ass out of the fire.
0
Comment
Question by:MrParkes
  • 2
6 Comments
 
LVL 45

Expert Comment

by:sunnycoder
ID: 17810909
Hi MrParkes,

Post the code and we will try to help with it. We can help you with assignments but we can't do them for you.

Cheers!
sunnycoder
0
 

Author Comment

by:MrParkes
ID: 17815587
Here is yet another beginner try at coding C++.  I know in my code that I am supposed to show an acccumulator of some kind but I'm not sure how.  I also have to show the summary somehow.

#include <iostream>
#include <iomanip>
#include <cstdlib>

using namespace std;

int main ()
{

      int            transaction_code,
                  total_balance,
                  total_checks,
                  total_withdrawals,
                  total_deposits,
                  Quit;

      cout << setprecision(2)
             << setiosflags(ios::fixed)
             << setiosflags(ios::showpoint);

      total_balance = total_checks = total_withdrawals = total_deposits = 0;

;      cout << "Enter the starting balance: ";
      cin >> total_balance;

      cout << endl;
      cout << "Enter the transaction code according to the following."
             << endl << endl;
      cout << "Deposit,            enter D" << endl;
      cout << "Check,                  enter C" << endl;
      cout << "Withdrawal,      enter W" << endl;
      cout << "Quit                  enter Q" << endl << endl;
      cout << "Please make your selection: ";

      cin.get();
      transaction_code = cin.get();

      switch (transaction_code)
      {
            case 'D':
            case 'd':
                  total_deposits;
                  break;
            case 'C':
            case 'c':
                  total_checks;
                  break;
            case 'W':
            case 'w':
                  total_withdrawals;
                  break;
            case 'Q':
            case 'q':
                  Quit;
                  break;
            default:
            cout << endl << endl
                   <<"Invalid Transaction Code!  Try Again." << endl;
            exit(1);
            break;
      }

      cout << endl << endl;
      cout << "The balance is " << total_balance << endl;

      cout << "Total Deposits are: " << total_deposits << endl;
      cout << endl;

      cout << "Total Checks are: " << total_checks << endl;
      cout << endl;

      cout << "Total Withdrawals are: " << total_withdrawals << endl;
      cout << endl;


      return 0;

}
0
 
LVL 45

Accepted Solution

by:
sunnycoder earned 500 total points
ID: 17816954
Its a good start ... You need to
a) Put the whole menu printing, choice selection and switch case in a loop. This can be a do while loop organized as

do {
   //print menu
   //read choice
   //switch case to act on choice
} while (choice was not Quit)

b) Put actual processing in the switch case .. e.g.
          case 'D':
          case 'd':
               total_deposits;
               break;
>If D is selected ask for the amount of the deposit, and add it to the account balance.
So in this case, you prompt asker for the amount of money to be depoited .. read the input and add it to total_deposits ... just 3 lines of code and you have a working case!!!
0
 

Expert Comment

by:mtrocine
ID: 17868248
I'm pretty sure you're in the same class as me-I'm having isssues with this program also.  I may seek tutoring-my email is <email id edited out by sunnycoder, Page Editor>if you want to do some sort of online study group thing.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now