Skip to content

Instantly share code, notes, and snippets.

@shade34321
Created February 26, 2013 23:11
Show Gist options
  • Save shade34321/5043237 to your computer and use it in GitHub Desktop.
Save shade34321/5043237 to your computer and use it in GitHub Desktop.
Bank Application: Bank Login Menu ------------------------- A) Log into an account B) Open a new account C) Show all accounts D) Exit System After a user has successfully logged in, then following menu should show: Bank Menu ------------------------------------ A) Show account balance B) Make a deposit C) Make a withdrawal D) Write a Check E) Sh…
123456789 Shade Alabsa spongebob 802.48
134567892 Jessica Dougherty nemo 9253.21
145678923 Charles Hardnet gwinnettTech 94328.54
//
// main.cpp
// Midterm_mac
//
// Created by Shade Alabsa on 2/25/13.
// Copyright (c) 2013 Shade Alabsa. All rights reserved.
//
#include <iostream>
#include "menu.h"
int main(int argc, const char * argv[])
{
// insert code here...
menu m;
return 0;
}
//
// menu.cpp
// Midterm_mac
//
// Created by Shade Alabsa on 2/26/13.
// Copyright (c) 2013 Shade Alabsa. All rights reserved.
//
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
#include "menu.h"
menu::menu(){
selection = 0;
showLogin();
}
void menu::showLogin(){
std::cout << "Bank Login Menu" << std::endl;
std::cout << "--------------------" << std::endl << std::endl;
std::cout << "1) Log into an account" << std::endl;
std::cout << "2) Open a new account" << std::endl;
std::cout << "3) Show all accounts" << std::endl;
std::cout << "4) Exit System" << std::endl;
RECOVER:
try{
std::cin.exceptions(std::ios_base::badbit | std::ios_base::failbit);
for(;;){
std::cout << "Enter option(1-4):";
std::cin >> selection;
switch(selection){
case 1:
login();
break;
case 2:
Open();
break;
case 3:
showAllAccounts();
break;
case 4:
std::exit(EXIT_SUCCESS);
break;
default:
std::cout << "Please enter a valid input!" << std::endl;
showLogin();
}
}
}
catch(std::ios_base::failure& e){
std::cout << "Reading input failed:" << e.what() << std::endl;
std::cin.clear();
std::cin.ignore();
goto RECOVER;
}
}
void menu::showBank(){
std::cout << "Bank Menu" << std::endl;
std::cout << "--------------------" << std::endl << std::endl;
std::cout << "1) Show account balance" << std::endl;
std::cout << "2) Make a deposit" << std::endl;
std::cout << "3) Make a withdrawal" << std::endl;
std::cout << "4) Write a check" << std::endl;
std::cout << "5) Show all transactions" << std::endl;
std::cout << "6) Logout of an account" << std::endl;
selection = 0;
RECOVER:
try{
std::cin.exceptions(std::ios_base::badbit | std::ios_base::failbit);
for(;;){
std::cout << "Enter option(1-6):";
std::cin >> selection;
switch(selection){
case 1:
std::cout << "selected 1" << std::endl;
break;
case 2:
std::cout << "Selected 2" << std::endl;
break;
case 3:
std::cout << "Selected 3" << std::endl;
break;
case 4:
std::cout << "selected 4" << std::endl;
break;
case 5:
std::cout << "selected 5" << std::endl;
break;
case 6:
std::cout << "select 6" << std::endl;
break;
default:
std::cout << "Please enter a valid input!" << std::endl;
showBank();
}
}
}
catch(std::ios_base::failure& e){
std::cout << "Reading input failed:" << e.what() << std::endl;
std::cin.clear();
std::cin.ignore();
goto RECOVER;
}
}
void menu::login(){
std::string acct_number;
std::string passwd;
std::cout << "Please enter your account number:" << std::endl;
std::cin >> acct_number;
std::cin.clear();
std::cout << "Please enter your account password:" << std::endl;
std::cin >> passwd;
std::cout << "You entered " << acct_number << " and " << passwd << std::endl;
bool test = true;
if(test){
showBank();
}
else{
showLogin();
}
}
void menu::showAllAccounts(){
input.open("allaccounts.txt", std::ios::in);
std::string temp;
if(!input){
std::cerr << "Error opening input file." << std::endl;
exit(0);
}
while(getline(input,temp)){
std::cout << temp << std::endl;
}
input.close();
showLogin();
}
void menu::Open(){
output.open("allcounts.txt", std::ios::in | std::ios::out);
std::string passwd;
std::string fname;
std::string lname;
double balance;
if(!output){
std::cerr << "Error opening output file." << std::endl;
exit(0);
}
std::cout << "Please input your first name:" << std::endl;
std::cin >> fname;
std::cin.clear();
std::cout << "Please input your last name:" << std::endl;
std::cin >> lname;
std::cin.clear();
std::cout << "Please input a password for your account:" << std::endl;
std::cin >> passwd;
std::cin.clear();
std::cout << "Please input your initial deposit:" << std::endl;
std::cin >> balance;
output << "156789234" << " " << fname << " " << lname << " " << passwd << " " << balance << std::endl;
output.close();
}
//
// menu.h
// Midterm_mac
//
// Created by Shade Alabsa on 2/26/13.
// Copyright (c) 2013 Shade Alabsa. All rights reserved.
//
#include <string>
#include <fstream>
#ifndef menu_h
#define menu_h
class menu{
private:
int selection;
std::ifstream input;
std::ofstream output;
public:
menu();
void firstStep();
void showLogin();
void showBank();
void login();
void Open();
void showAllAccounts();
};
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment