Witam,
Mam pewien problem. Aby sobie utrwalić wiedzę, którą w jakimś stopniu przyswoiłem z odcinków kursu c++, postanowiłem napisać, projekt w którym zawarte będą konstrukcje z pierwszych 7 odcinków. Mniejsza z tym co wcześniej napisałem ;). Zależy mi na tym, by program generował kod, dopóki będzie się wpisywać nieprawidłowy lub nie wybierze się opcji wyjścia. Czy mógłby mi ktoś wyjaśnić jak zastosować tutaj pętle. Chciałbym zrobić tak aby przy wpisaniu odpowiedniego kodu, program pokazywał menu. Przy wpisaniu złego kodu, program dawał 2 opcje 1. Wygeneruj kod jeszcze raz, 2. Wyjście i tu jak użytkownik wpisał kod poprawnie pokazal menu, a jeśli nie to odesłał znow do wyboru między pierwszą a drugą opcją. Mogłem to napisać dość niezrozumiale i nieudolnie, ale dopiero zaczynam, więc prosze o wyrozumiałość 
#include <iostream>
#include <time.h>
#include <cstdlib>
#include <conio.h>
#include <stdio.h>
using namespace std;
string login, haslo;
int kod, liczba;
char numer;
int main()
{
cout << "Witaj!" << endl;
cout << "Podaj login: ";
cin >> login;
cout << "Podaj haslo:";
cin >> haslo;
if ((login== "Jan")&& (haslo== "Kowalski"))
{
cout << "Wygenerowany zostanie unikatowy kod"<<endl;
srand(time(NULL));
liczba=rand()%1000;
cout<< "Twoj kod: "<< liczba<<endl;
cout<< "Wpisz kod:";
cin >> kod;
if (kod==liczba)
{
cout << "Zaraz pojawi sie Menu."<< endl;
// Tu bedzie to menu
}
else
{
cout << "Niepoprawny kod!"<< endl;
cout << "Wybierz opcje, ktora cie interesuje:"<< endl;
cout << "1.Generuję kod"<< endl;
cout << "2. Wychodze z programu"<< endl;
cout << "Wybierz opcje, ktora cie interesuje: "<< endl;
numer=getch ();
switch (numer)
{
case '1':
{
cout<< "Zaraz zostanie wygenerowany kod"<< endl;
srand(time(NULL));
liczba=rand()%1000;
cout<< "Twoj kod: "<< liczba<<endl;
cout<< "Wpisz kod:";
cin >> kod;
//Co zrobic aby program przy wpisaniu odpowiedniego kodu pokazal menu (te które będzie w pierwszym "ifie"),
//przy wpisaniu złego kodu znów dał te 2 opcje.
}
break;
case '2':
{
exit (0);
}
break;
default: cout<< "Nie ma takiej opcji!"<<endl;
}
}
}
else
{
cout << "Niepoprawne Dane"<<endl;
}
system ("pause");
return 0;
}