#include #include #include using namespace std; enum Command_type {Withdraw, Deposit, Transfer, Create, End}; class Account; class Command; class AccountManager; // -------------------------- class Account { string ac_number; double balance; public: Account(string n); Account(string n, double b); string &getNumber(); double getBalance(); void addVal(double val); }; Account::Account(string n) { ac_number = n; } Account::Account(string n, double b) { ac_number = n; balance = b; } string &Account::getNumber() { return ac_number; } double Account::getBalance() { return balance; } void Account::addVal(double val) { balance += val; } // -------------------------- class Command { public: Command_type type; string number1, number2; double val; //public: Command(); void readCommand(); // friend class AccountManager; }; Command::Command() { type = End; val = 0.0; } void Command::readCommand() { string cmd_str; number1 = number2 = ""; val = 0.0; cin >> cmd_str; switch(cmd_str.at(0)){ case 'w': type = Withdraw; cin >> number1 >> val; break; case 't': type = Transfer; cin >> number1 >> number2 >> val; break; case 'c': type = Create; cin >> number1; break; case 'd': type = Deposit; cin >> number1 >> val; break; default: type = End; break; } } // -------------------------- class AccountManager { public: vector account; AccountManager(); int findAccount(string number); bool doCommand(Command cmd); }; AccountManager::AccountManager() { account.clear(); } int AccountManager::findAccount(string number) { unsigned int i, size; size = account.size(); for(i=0; i> num_inputs; while(num_inputs){ manager.account.clear(); for(i=0; i> read_acc_number >> read_balance; // nacteni dat a vytvoreni pocatecnich uctu manager.account.push_back(Account(read_acc_number, read_balance)); } get_next = true; while(get_next){ cmd.readCommand(); get_next = manager.doCommand(cmd); } cout << "end" << endl << endl; getline(cin, prazdny); cin >> num_inputs; //num_inputs = 0; } cout << "goodbye"; return 0; }