Zabezpieczenie przed wpisaniem czegoś innego niż cyfra

0

Witam forumowicze!!!
Piszę prościutki kod wykorzystujący pętlę do...while i mam problem. Kod wygląda następująco:

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
int zmienna;
do
{

	cout << "podaj liczbe " << endl;
	cin >> zmienna;
            

} while (cin.fail());

system("pause");

return 0;

}

chodzi mi o zabezpieczenie przed wpisaniem czegoś innego niż cyfra... gdy wpiszę coś innego niż cyfra program ma jeszcze raz poprosić o podanie liczby... niestety nie działa to. Jaki może być powód? Co zmienić w kodzie aby mój pomysł zadziałał?
Z góry dziękuję za pomoc

0

pewnie to że nie wiesz czym jest ascii albo znak? Jak byś chciał reprezentować dane w pamięci komputera? Za pomocą bitów. Nie ty pierwszy wyśniłeś taki program. Rozwiązań znajdziesz więcej niż jedno ale ja przewrotnie podrzucę taki o to link. Ale poszukaj czegoś lepszego.

0

a jak zrobić to na pętli do...while? żebym mógł wczytywać w pętli tą liczbę, a nie tylko czyścić strumień

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