Kurza twarz. Pewnie piszę po fakcie, ale co mi tam...
Ale ty masz zrobić algorytm czy go oprogramować?
Sam miałem algorytmy w prostym programie do układania algorytmów, w matlabie i teraz mam w C++.
Bez względu na odpowiedź na to pytanie proponuję takie ugryzienie problemu.
Musisz zrobić pętlę, której warunkami wyjścia z niej będzie przekroczenie liczby iteracji (tych masz 3, bo trzy próby) lub udzielenie poprawnej odpowiedzi. Dopiero wyjście z pętli może zakończyć działanie programu.
Pewnie dla estetyki (a właściwie żeby program był "gadatliwy") po każdym "strzale" musi być wypisane czy trafił czy nie trafił.
Według mnie do tego w zupełności wystarczy jedna pętla, jedna (max. dwie) zmienne i trzy (max. cztery) testy logiczne (max. dwa do warunku wyjścia i na pewno jeden do porównania wprowadzonego rozwiązania z faktycznym rozwiązaniem).
Na pewno zaprzyjaźnij się ze składniami pętli, testów logicznych, składnią dyrektywy/polecenia if.
W C i C++ jako pętli możesz użyć do...while, bo jeden obieg pętli jest konieczny. Jeżeli znasz składnię do...while, to powinieneś szybko wpaść na to jakie testy logiczne powinieneś zawrzeć i jakie zmienne powołać do życia.
Implementując kod w tym języku część kluczowych zmiennych możesz inicjalizować (powołać do życia) w ciele pętli. Z punktu widzenia dobrej praktyki dobrze będzie pewne zmienne zainicjalizować poza pętlą (np. w funkcji głównej) i w razie potrzeby zmieniać je w pętli.
Do tego zadania zupełnie powinna wystarczyć jedna standardowa biblioteka (w C++ to biblioteka iostream). Zresztą standardowa biblioteka będzie pomocna tylko do wprowadzania i wyprowadzania danych/tekstu.
Nie wiem na czym polegało zadanie "z przykładem działania bankomatu", ale na moją intuicję to zadanie wymaga krótszego kodu niż zadanie z bankomatem.