Witam!
Program który napisałem nie jest niczym wielkim ogólnie rzecz biorąc było to ćwiczenie dziedziczenia (jednak nie ma go tutaj za wiele).
#include <iostream>
#include <windows.h>
#include <string>
class Bank
{
private:
std::string name;
int age;
int PIN;
double value = 22422.44;
public:
Bank(const std::string, int);
void check_pin();
};
class Person : public Bank
{
public:
Person(std::string, int);
};
Bank::Bank(const std::string nm, int ag) : name(nm), age(ag)
{
std::cout << "Podaj imie i nazwisko: "; std::getline(std::cin, name);
std::cout << "Podaj swoj wiek: " << ag << std::endl;
}
void Bank::check_pin()
{
std::cout << "Podaj kod PIN: ";
std::cin >> PIN;
if (PIN == 7913)
{
std::cout << "Kod prawidlowy!\n";
std::cout << "Saldo: " << value << std::endl;
}
else
std::cout << "Kod nieprawidlowy!\n";
std::cout << "Dziekujemy za przybycie!\n";
}
Person::Person(std::string nm, int ag) : Bank(nm, ag) { }
int main()
{
std::string nm;
Person klient(nm, 23);
klient.check_pin();
Sleep(5000);
return 0;
}
Mam pytania:
1. W jaki sposób mogę stworzyć warunek pętli opierając się na wytycznych (program zakończy się, wyświetlając prawidłowe dane)
- PIN == 7913, PIN > 999, PIN < 9999,
- Jeżeli PIN jest różny od 7913, może się wykonać 3 razy (właśnie w tym miejscu mam problem, ponieważ wielokrotnie chciałem połączyć w waruneku pętli powyższe dane i wyświetlenie 3 krotne pętli.
Chodzi dokładnie o tą część kodu:
std::cout << "Podaj kod PIN: "; std::cin >> PIN; if (PIN == 7913) { std::cout << "Kod prawidlowy!\n"; std::cout << "Saldo: " << value << std::endl; } else std::cout << "Kod nieprawidlowy!\n";
2. Korzystając z dziedziczenia oraz różnych metod w jaki sposób mogę zoptymalizować ten kod ?