Исправить работу на С++
Нужно сделать классы по работе банкомата. программа мною была написана, но в коде преподаватель нашел ошибки и сказал исправить, а точнее нужно переделать программу так, чтобы все данные хранились в отдельном классе называемым "процессинговый центр", данные туда вбивать не нужно, при вводе пин кода банкомат должен обращаться к этому классу, в котором будут сверяться данные, хотя их как таковых их там может и не хранится, а потом будет даваться ответ верно или нет, и в случае ошибки на экран выводится сообщение : неверный ПИН-Код. Желательно дописать произведенные изменения отдельно в документе
Код в котором нужно исправить:
#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;
}