Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Нужно сделать классы по работе банкомата. программа мною была написана, но в коде преподаватель нашел ошибки и сказал исправить, а точнее нужно переделать программу так, чтобы все данные хранились в отдельном классе называемым "процессинговый центр", данные туда вбивать не нужно, при вводе пин кода банкомат должен обращаться к этому классу, в котором будут сверяться данные, хотя их как таковых их там может и не хранится, а потом будет даваться ответ верно или нет, и в случае ошибки на экран выводится сообщение : неверный ПИН-Код. Желательно дописать произведенные изменения отдельно в документе 

Код в котором нужно исправить: 

#include  

#include  

using namespace std; 

class Polzovatel // имя класса пользователь банкомата 

private: 

string imya; 

string familiya; 

string otchestvo; 

public: // спецификатор доступа 

Polzovatel(string i, string f, string o) 

setFIO(i, f, o); 

void setFIO(string i, string f, string o) 

imya = i; 

familiya = f; 

otchestvo = o; 

string getFIO() 

return familiya + " " + imya + " " + otchestvo ; 

}; // конец объявления класса Polzovatel 

// начало объявления класса 

class Kartochka // имя класса для хранения информации о карточке 

private: 

string nazvanie_banka; //название банка, которому предналежит эта карточка 

float kolichestvo_sredstv;//количество денег на карте 

int PINcod; //пин-код карточки 

string nomer_karty;//номер карты 

Polzovatel vladelets; // владелец карточки 

public: 

Kartochka(string n, string n_k ,int k_s, int pin, Polzovatel &p) : vladelets(p) 

nazvanie_banka = n; 

nomer_karty = n_k; 

kolichestvo_sredstv = k_s; 

PINcod = pin; 

vladelets = p; 

float getKolichestvoSredstv() 

return kolichestvo_sredstv; 

void setKolichestvoSredstv(float novoeKolichestvoSredstv) 

kolichestvo_sredstv = novoeKolichestvoSredstv; 

string getNazvanieBanka() 

return nazvanie_banka; 

Polzovatel getVladelets() 

return vladelets; 

string getNomerKarty() 

return nomer_karty; 

string getInformasiyaKarty() 

string res = ""; 

res += "Владелец – " + vladelets.getFIO() + "n"; 

res += "Банк – " + getNazvanieBanka() + "n"; 

res += "Номер карты – " + getNomerKarty() + "n"; 

res += "Средства – " + to_string(getKolichestvoSredstv()) + "n"; 

return res; 

bool proverkaPinCoda(int pin) 

if (pin == PINcod) 

return true; 

return false; 

}; 

class OperatsiaVBankomate // имя класса для хранения данных о операции в банкомате 

private: 

Kartochka &kartochka;//карточка с которой проводиться эта операция 

Polzovatel &vladelets; // владелец карточки 

public: 

OperatsiaVBankomate(Kartochka &k, int pin, Polzovatel &p, float kolichestvo_sredstv_v_operatsie) : kartochka(k), vladelets(p) 

kartochka = k; 

vladelets = p; 

if (kartochka.proverkaPinCoda(pin)) 

kartochka.setKolichestvoSredstv(kartochka.getKolichestvoSredstv() + kolichestvo_sredstv_v_operatsie); 

else 

cout

}; 

class SnatieDeneg : public OperatsiaVBankomate// класс наследник от класс OperatsiaVBankomate, создан для снятия денег с карточки 

float komisia_banka; 

public: 

SnatieDeneg(Kartochka &k, int pin, Polzovatel &p, float kolichestvo_sredstv_v_operatsie, float k_b) : OperatsiaVBankomate(k, pin, p, -1 * (kolichestvo_sredstv_v_operatsie + kolichestvo_sredstv_v_operatsie * k_b)) 

komisia_banka = k_b; 

pokazatInfo(kolichestvo_sredstv_v_operatsie, k.getNomerKarty(), k_b * 100); 

float getKomisiaBanka() 

return komisia_banka; 

void pokazatInfo(int sum, string nomer_kartochky, float komisia) 

cout

}; 

class ProsmotrScheta : public OperatsiaVBankomate// класс наследник от класс OperatsiaVBankomate, создан для просмотра счета 

public: 

ProsmotrScheta(Kartochka &k, int pin, Polzovatel &p) : OperatsiaVBankomate(k, pin, p, 0) 

pokazatInfo(k.getKolichestvoSredstv(), k.getNomerKarty()); 

void pokazatInfo(int sum, string nomer_kartochky) 

cout

}; 

class PolozhitNaKartochku : public OperatsiaVBankomate// класс наследник от класс OperatsiaVBankomate, создан для возможности положить на счет средства 

int suma; 

public: 

PolozhitNaKartochku(Kartochka &k, int pin, Polzovatel &p, int sum) : OperatsiaVBankomate(k, pin, p, sum) 

pokazatInfo(sum, k.getNomerKarty()); 

suma = sum; 

void pokazatInfo(int sum, string nomer_kartochky) 

cout

}; 

int main(int argc, char* argv[]) 

setlocale(LC_ALL, "Russian"); 

Polzovatel p("Иванов", "Иван", "Иванович"); 

Kartochka k("Сбербанк России", "999111999", 1000, 1010, p); 

cout

cout

SnatieDeneg(k, 1010, p, 500, 0.01); 

cout

SnatieDeneg(k, 1010, p, 200, 0.02); 

cout

PolozhitNaKartochku(k, 1010, p, 250); 

cout

PolozhitNaKartochku(k, 1010, p, 505); 

cout

ProsmotrScheta(k, 1010, p); 

system("pause"); 

return 0; 

8 лет назад
SKV1994-18
Сергей 
29 летРоссия
8 лет в сервисе
Был
8 лет назад