Im writing a c program and Im not sure why its not working i

I\'m writing a c++ program and I\'m not sure why it\'s not working.

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
class Howard_COP2513_F1601 {

   void moneyOption();
   void bankOption();
   void login();
   void createAcnt();
   void quit();
   void dMoney(); // Deposit money
   void wMoney();       // Withdraw money
   void rBalance(); // Request balance
   char userInput = \'?\';
   char userInput2 = \'?\';
   string id = \"?\";
   string password = \"?\";
   string ID = \"?\";
   string PASSWORD = \"?\";
   double DEPOSIT = 0.00;
   double WITHDRAW = 0.00;
   double OLDBALANCE = 0.00;
   double NEWBALANCE = 0.00;

   int main() {

       bankOption();

       return 0;
   }

   bankOption() {
       cout << \"Please select an option: \" << endl;
       cout << \"l -> Login \" << endl;
       cout << \"c -> Create New Account \" << endl;
       cout << \"q -> Quit \" << endl;

       cin >> userInput;

       if (userInput == \'l\' || \'L\') {
           login();
       }
       else if (userInput == \'c\' || \'C\') {
           createAcnt();
       }
       else if (userInput == \'q\' || \'Q\') {
           quit();
       else {
           cout << \"Invalid Input. \" << endl;
           main();
       }

       return 0;
       }
   }


   moneyOption() {

       cout << \"d -> Deposit Money \" << endl;
       cout << \"w -> Withdraw Money \" << endl;
       cout << \"r -> Request Balance\" << endl;

       cin >> userInput2;

       if (userInput2 == \'d\' || \'D\') {
           dMoney();
       }
       else if (userInput2 == \'w\' || \'W\') {
           wMoney();
       }
       else if (userInput2 == \'r\' || \'R\') {
           rBalance();
       }
       else {
           cout << \"Invalid Input. \" << endl;
           moneyOption();
       }

       return 0;
   }


   login() {
       cout << \"Please enter your user id: \" << endl;
       cin >> ID;

       cout << \"Please enter your password: \" << endl;
       cin >> PASSWORD;

       if (id == ID && password == Password) {
           cout << \"Access Granted - \" << ID << endl;
       }
       else {
           cout << \"******** \" << \"LOGIN FAILED! \" << \"********\" << endl;

           bankOption();
       }

       moneyOption();

       return 0;
   }

   createAcnt() {

       cout << \"Please enter your user name: \" << endl;
       cin >> ID;

       cout << \"Please enter your password: \" << endl;
       cin >> PASSWORD;

       bankOption();

       return 0;
   }


   quit() {

       cout << \"Thanks for banking with COP2513.F16,\"
           system(\"pause\");

       return 0;
   }


   dMoney() {

       cout << \"Amount of deposit: \" << endl;
       cin >> DEPOSIT;

       OLDBALANCE = NEWBALANCE;
       NEWBALANCE = BALANCE + DEPOSIT;

       moneyOption();

       return 0;
   }


   wMoney() {

       cout << \"Amount of withdrawal: \" << endl;
       cin >> WITHDRAW;

       OLDBALANCE = NEWBALANCE;
       NEWBALANCE = BALANCE - WITHDRAW;

       moneyOption;

       return 0;
   }


   rBalance() {

       if (DEPOSIT > 0) {

           cout << \"Beginning balance: \" << \"$ \" << fixed << setprecision(2) << OLDBALANCE << endl;
           cout << \"Deposit amount: \" << \"$ \" << fixed << setprecision(2) << DEPOSIT << endl;
           cout << \"Your Balance is: \" << \"$ \" << fixed << setprecision(2) << NEWBALANCE << endl;
       }
       else if (WITHDRAW > 0) {

           cout << \"Beginning balance: \" << \"$ \" << << fixed << setprecision(2) << OLDBALANCE << endl;
           cout << \"Withdrawal amount: \" << \"$ \" << << fixed << setprecision(2) << WITHDRAW << endl;
           cout << \"Your Balance is: \" << \"$ \" << fixed << setprecision(2) << NEWBALANCE << endl;

           return 0;
       }

   }

}
                      

Solution

Ive modified the code to remove errors. Have a look.

PROGRAM CODE with corrections and comments

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

//Ive removed the function prototypes, modified them with void return type and removed the return statement

class Howard_COP2513_F1601 {
   public:
// Request balance
  
char userInput = \'?\';
char userInput2 = \'?\';
string id = \"?\";
string password = \"?\";
string ID = \"?\";
string PASSWORD = \"?\";
double DEPOSIT = 0.00;
double WITHDRAW = 0.00;
double OLDBALANCE = 0.00;
double NEWBALANCE = 0.00;
  
//changed the brackets for this function
void bankOption() {
cout << \"Please select an option: \" << endl;
cout << \"l -> Login \" << endl;
cout << \"c -> Create New Account \" << endl;
cout << \"q -> Quit \" << endl;
cin >> userInput;
if (userInput == \'l\' || \'L\') {
login();
}
else if (userInput == \'c\' || \'C\') {
createAcnt();
}
else if (userInput == \'q\' || \'Q\') {
quit();
}
else {
cout << \"Invalid Input. \" << endl;
// main(); program execution starts from main() . there cant be a function call for main.
}
}

void moneyOption() {
cout << \"d -> Deposit Money \" << endl;
cout << \"w -> Withdraw Money \" << endl;
cout << \"r -> Request Balance\" << endl;
cin >> userInput2;
if (userInput2 == \'d\' || \'D\') {
dMoney();
}
else if (userInput2 == \'w\' || \'W\') {
wMoney();
}
else if (userInput2 == \'r\' || \'R\') {
rBalance();
}
else {
cout << \"Invalid Input. \" << endl;
moneyOption();
}
}

int login() {
cout << \"Please enter your user id: \" << endl;
cin >> ID;
cout << \"Please enter your password: \" << endl;
cin >> PASSWORD;
if (id == ID && password == PASSWORD) { // changed the varaible to PASSWORD
cout << \"Access Granted - \" << ID << endl;
}
else {
cout << \"******** \" << \"LOGIN FAILED! \" << \"********\" << endl;
bankOption();
}
moneyOption();
return 0;
}

int createAcnt() {
cout << \"Please enter your user name: \" << endl;
cin >> ID;
cout << \"Please enter your password: \" << endl;
cin >> PASSWORD;
bankOption();
return 0;
}

int quit() {
cout << \"Thanks for banking with COP2513.F16,\"; // semicolon was missing
system(\"pause\");
return 0;
}

int dMoney() {
cout << \"Amount of deposit: \" << endl;
cin >> DEPOSIT;
OLDBALANCE = NEWBALANCE;
NEWBALANCE = OLDBALANCE + DEPOSIT; // changed the variable name to OLDBALANCE
moneyOption();
return 0;
}

int wMoney() {
cout << \"Amount of withdrawal: \" << endl;
cin >> WITHDRAW;
OLDBALANCE = NEWBALANCE;
NEWBALANCE = OLDBALANCE - WITHDRAW; // changed the variable name to OLDBALANCE
moneyOption(); // function call missing brackets
return 0;
}

int rBalance() {
if (DEPOSIT > 0) {
cout << \"Beginning balance: \" << \"$ \" << fixed << setprecision(2) << OLDBALANCE << endl;
cout << \"Deposit amount: \" << \"$ \" << fixed << setprecision(2) << DEPOSIT << endl;
cout << \"Your Balance is: \" << \"$ \" << fixed << setprecision(2) << NEWBALANCE << endl;
}
else if (WITHDRAW > 0) {
cout << \"Beginning balance: \" << \"$ \" << fixed << setprecision(2) << OLDBALANCE << endl;//typos
cout << \"Withdrawal amount: \" << \"$ \" << fixed << setprecision(2) << WITHDRAW << endl;//typos
cout << \"Your Balance is: \" << \"$ \" << fixed << setprecision(2) << NEWBALANCE << endl;
}
return 0; //moved return function outside the bracket

}
  
  
}; // Class declaration must end with semicolon

//main function should be outside of the class
//functions of the class shoudl be invoked using objects of the same class.
//Ive created one for this class
int main() {
       Howard_COP2513_F1601 obj1;
obj1.bankOption();
return 0;
}
  
  

I\'m writing a c++ program and I\'m not sure why it\'s not working. #include <iostream> #include <string> #include <iomanip> using namespace s
I\'m writing a c++ program and I\'m not sure why it\'s not working. #include <iostream> #include <string> #include <iomanip> using namespace s
I\'m writing a c++ program and I\'m not sure why it\'s not working. #include <iostream> #include <string> #include <iomanip> using namespace s
I\'m writing a c++ program and I\'m not sure why it\'s not working. #include <iostream> #include <string> #include <iomanip> using namespace s
I\'m writing a c++ program and I\'m not sure why it\'s not working. #include <iostream> #include <string> #include <iomanip> using namespace s
I\'m writing a c++ program and I\'m not sure why it\'s not working. #include <iostream> #include <string> #include <iomanip> using namespace s

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site