Trochę nie zrozumiale to opisujesz, jak to program nie robi tego, co oczekujesz?
Tak jak mówisz, pętla wykonuje się w nieskończoność, ale to co znajduje się w pętli jest tak i tak wykonywane...
Może wstawiłeś coś poza nią, na końcu programu i dziwisz się, czemu nie działają te linijki kodu hmm...?
Jeżeli dobrze rozumiem, to po prostu przenieś je do pętli while, jeżeli takie działanie będzie Ci odpowiadało?
Chyba, że chcesz samemu wyjść z tej "nieskończonej pętli", wtedy może na samym dole "While" dodaj dodatkowy cin>>(int) koniec, na przykład i wypisuj dla użytkownika coś w rodzaju: cout<<"Czy chcesz zakonczyc program? "1" = TAK, "0" = NIE.
Wtedy tylko poprawiasz warunek while, który będzie wyglądał teraz mniej więcej tak:
while(cin>>x&&koniec!=1)
{
Pętla
}
Pamiętaj tylko, żeby przy inicjowaniu zmiennej nadać: koniec = 0;
Pozdrawiam:)
EDIT:
Całość powinna wyglądać mniej więcej tak:
int x;
int koniec = 0;
int main()
{
while(koniec!=1&&cin>>x)
{
cout<<x<<endl;
cout<<"Czy chcesz zakonczyc? 1 = TAK | 0 = NIE"<<endl;
cin>>koniec;
}
return 0;
}
ps.
Bardzo ważne, aby warunek był właśnie w podanej przeze mnie kolejności: while(koniec!=1&&cin>>x) inaczej, program wykonuje wczytywanie X i dopiero kończy program 