Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- using namespace std;
- class Account
- {
- public:
- long long id;
- long double balance;
- double percent;
- int overdraft;
- bool change(double amount)
- {
- if (amount == 0)
- {
- cout << "E: Не указано сколько вводить/выводить.\n";
- return false;
- }
- else if (balance - amount < overdraft)
- {
- balance += amount;
- cout << "I: Операция выполнена.\n";
- return true;
- }
- else
- {
- cout << "E: Недостаточно средств.\n";
- return false;
- }
- }
- };
- class Customer
- {
- public:
- string name, surname; // "customer[0].name =" не работает с массивом char: https://www.google.com/search?q=error+C2440%3A+%27%3D%27+%3A+cannot+convert+from+%27const+char+[8]%27+to+%27char+[64]%27
- Account account;
- };
- int choose_customer(short& selected, Customer customer[4], string result)
- {
- /* WIP: Нестабильно работает при подавании на вход не цифры.
- switch (stoi(result)) // stoi -- конвертация из string в int
- {
- case 1: selected = 0; return 0;
- case 2: selected = 1; return 1;
- case 3: selected = 2; return 2;
- case 4: selected = 3; return 3;
- default: break;
- }*/
- for (int i = 0; i < 4; i++)
- {
- if (result == customer[i].name + " " + customer[i].surname)
- {
- selected = i;
- return selected;
- }
- }
- return -1;
- }
- int main()
- {
- setlocale(0, "");
- system("color 0A");
- system("title Bank simulator 2015");
- Customer customer[4];
- // Информация о клиенте/его счете
- customer[0].name = "Vasiliy";
- customer[0].surname = "Petrov";
- customer[0].account.id = 7943875921568423;
- customer[0].account.balance = 11,3;
- customer[0].account.percent = 78,3;
- customer[0].account.overdraft = 20000;
- customer[1].name = "Vasiliy";
- customer[1].surname = "Pupkin";
- customer[1].account.id = 3897031189409756;
- customer[1].account.balance = 1337,228;
- customer[1].account.percent = 0,7;
- customer[1].account.overdraft = 100000;
- customer[2].name = "Vladimir";
- customer[2].surname = "Putin";
- customer[2].account.id = 1337133713371448;
- customer[2].account.balance = 679140;
- customer[2].account.percent = 0,00001;
- customer[2].account.overdraft = 9000000000000;
- customer[3].name = "Dmitriy";
- customer[3].surname = "Medvedev";
- customer[3].account.id = 6379063409780127;
- customer[3].account.balance = 376879;
- customer[3].account.percent = 0,00008;
- customer[3].account.overdraft = 7000000000;
- //
- double howMuch;
- while (true) // Основной цикл
- {
- cout << "Выберите клиента для работы с ним:\n";
- for (int i = 0; i < 4; i++)
- {
- cout << i + 1 << ". " << customer[i].name << " " << customer[i].surname << " -- " << customer[i].account.balance << " YOBA-коинов\n";
- }
- cout << "EXIT - выход\n";
- string result = "";
- short selected = -1;
- while (true) // Цикл выбора клиента
- {
- cout << ">> ";
- getline(cin, result);
- if (result == "EXIT") // switch не работает со string
- {
- return 0;
- }
- else
- {
- if (choose_customer(selected, customer, result) == -1)
- {
- cout << "E: Указаный клиент не найден.\n";
- }
- else
- {
- cout << "I: Клиент " << customer[selected].name + " " + customer[selected].surname << " под номером " << selected + 1 << " выбран.\n";
- system("pause");
- system("cls");
- break;
- }
- }
- }
- while (true) // Цикл выбора операции
- {
- cout << "Какую операцию с клиентом " << customer[selected].name + " " + customer[selected].surname << " под номером " << selected + 1 << " вы желаете выполнить?\nДоступные операции:\nCHOOSE - сменить клиента\nBALANCE - вывести текущий баланс клиента\nADD - положить деньги на счет клиента\nTAKE - снять деньги со счета клиента\nEXIT - выйти\n>> ";
- cin >> result;
- system("cls");
- if (result == "CHOOSE")
- {
- system("cls");
- break;
- }
- else if (result == "BALANCE")
- {
- cout << "Баланс клиента " << customer[selected].name + " " + customer[selected].surname << " равен " << customer[selected].account.balance << " YOBA-коинов\n";
- system("pause");
- system("cls");
- }
- else if (result == "ADD")
- {
- cout << "Введите кол-во: ";
- cin >> howMuch;
- customer[selected].account.change(howMuch);
- system("pause");
- system("cls");
- }
- else if (result == "TAKE")
- {
- cout << "Введите кол-во: ";
- cin >> howMuch;
- customer[selected].account.change(-howMuch);
- system("pause");
- system("cls");
- }
- else if (result == "EXIT")
- {
- return 0;
- }
- else
- {
- cout << "E: Команда не распознана.\n";
- system("pause");
- system("cls");
- }
- }
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment