C++ - Checkbook Problem

Posted on 2006-10-26
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.

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

   get starting balance

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

   Display summary data
       show balance
       show total_deposits
       show total_checks
       show total_withdrawals


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

Expert Comment

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.


Author Comment

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,

      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: ";

      transaction_code = cin.get();

      switch (transaction_code)
            case 'D':
            case 'd':
            case 'C':
            case 'c':
            case 'W':
            case 'w':
            case 'Q':
            case 'q':
            cout << endl << endl
                   <<"Invalid Transaction Code!  Try Again." << endl;

      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;

LVL 45

Accepted Solution

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':
>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!!!

Expert Comment

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.

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
returning a dereferenced pts in C++ 10 158
Lambda for random numbers problem 7 119
Socket Programming (Unix) 8 142
C++ help/ Toy problem 19 31
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…
This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
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 be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

821 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