Komplikacje początkującego, program "bankomat"

0

Hejka, kilka dni temu trafiłem na fajny kurs C++, mam jednak problem ze swoim pierwszym większym programem - bankomatem.

Wszystko byłoby dobrze, ale:
-chciałbym aby po wpisaniu 3x złego PINu wyświetlał się odpowiedni komunikat, a program kończył się, a po wpisaniu 2x złego, a następnie dobrego PINu pętla gnała dalej.

-poważniejszym problemem jest "kieszeń" na pieniądze; ustawiłem wartość "3500", lecz po zakończeniu pętli (niezależnie czy wybraliśmy, czy wpłaciliśmy pieniądze) wartość ta się resetuje; ja natomiast chciałbym żeby wartość tej kieszeni zmieniała się wraz z postępowaniem pętli

KOD:

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <cstdlib>

using namespace std;

string PIN;

int z;
int x=3500;
int y;
int f=1;
int kipa;


int main()
{
cout << "Witaj w naszym banku. " << endl;
    cout << "Podaj numer pin:";
    cin >> PIN;




if (PIN!="0000") do
    {
        f++;
    cout << "NIEPOPRAWNY " << endl;
    cout << "Podaj numer pin:";
    cin >> PIN;
    if (f>3){
            cout <<  "\a" <<"Trzykrotnie uzyto zlego kodu PINu, karta zostaje zablokowana"  << "\a" << endl;

            exit( 0 );
    }
    } while (PIN!="0000");
if (f<=3){
while (PIN=="0000"){
     cout <<"Poprawny pin" << endl;
     break;
}

while (PIN=="0000")
    {

do {
        cout <<" "<<endl;
        cout <<"Na Twoim koncie znaduje sie " << x << " zlotych" << endl;
        cout <<"Co chcesz zrobic?" << endl;
        Sleep (500);
        cout <<"1. Wplacam pieniadze"  << endl;
        Sleep (500);
        cout <<"2. Wyplacam pieniadze" << endl;
        Sleep (500);
        cout <<"3. Sprawdz stan konta" << endl;
        Sleep (500);
        cout <<"Wybieram opcje numer: ";
        cin >> y;

        switch (y){
        case 1:  cout << "Ile pieniedzy wplacasz?: ";
                 cin >> z;
                 cout << "Obecny stan konta: " << x+z << endl<< endl; break;
        case 2:  cout << "Ile pieniedzy wyplacasz?: ";
                 cin >> z;
           while (z>x)
              {
                 cout << "Nie masz tyle srodkow na koncie, wybierz inna kwote: ";
                            cin >> z;
              }
                 cout << "Obecny stan konta: " << x-z << endl << endl;  break;
        case 3:  cout << "Obecny stan konta: " << x << endl<< endl; break;
                 }




    cout << "Czy chcesz zrobic cos jeszcze?"<< endl;
    cout << "1. TAK;"<< endl;
    cout << "2. NIE"<< endl;
    cout << "Wybieram opcje nr.:";
    cin >> kipa;
    cout << " " << endl;
 }while (kipa==1);{
 cout << "Dziekujemy za skorzystanie z naszych uslug, zapraszamy ponownie" << endl ; break;}
    }



    }



    getch ();
}







 
6

czesc

Polecam sie zarejestrowac, bedziesz mogl pisac komentarze i ludzie nie beda Cie mylic (gdy zmienisz sobie anonimowy nick).

Niestety musze Cie zmartwic. Kod jest okropnej jakosci, w takim stanie nikt nie bedzie chcial Ci pomagac bo to jest tortura

  1. Sformatuj kod tak by wciecia mialy znaczenia. TO JEST BARDZO WAZNE. Dzieki temu lepiej sie czyta. A dzieki temu dostaniesz szybciej odpowiedz
    https://pl.wikipedia.org/wiki/Formatowanie_kodu

To jest glowny powod dla ktorego nadal nie dostales odpowiedzi

Jest dosc duzo rzeczy do poprawy ale napisze tylko jeszcze jedna

  1. nazywaj zmienne zeby mialy sens
    Zmienna x nic nie mowi nam. Nazwij ja do tego co uzywasz. Nie boj sie dlugich nazw zmiennych IDE podpowiada je wiec nie ma problemu z pisaniem ;)

Gdy to poprawisz wrzuc jako nowy post (niestety nie mozesz edytowac bo nie jestes zalogowany. Gdybys byl to moglbys po prostu zedytowac wpis, takze polecam sie zarejestrowac)

Sadze ze gdy to poprawisz to na pewno ktos sie znajdzie ze wypunktuje Twoj kod co mozna w nim polepszyc i jak powinieni wygladac a zapewne ktos jeszcze przyjdzie i napisze Ci jak w pracy by to napisal.

Im wiecej pracy wlozysz od siebie tym lepsze odpowiedzi dostaniesz ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1