Pisałem kiedyś taką funkcję która sprawdzała czy w nieskończonym ciągu znaków są same cyfry ewentualnie przecinek, jeśli nie działasz na nieskończonym ciągu to dobrze jest zadeklarować sobie jakąs tablice która będzie buforem np.
#include <iostream>
#include <ctype.h>
using namespace std;
int sprawdz(char* data)
{ int i;
if(data == NULL) return 0;
if (!isdigit(data[0])) // sprawdzamy czy pierwszy wprowadzony znak jest cyfra
{ return 0; }
for (i=0; isdigit(data[i]);i++) { }
// jesli tak to przeskakujemy znaki z bufora dopoki sa cyframi
if (data[i]=='\0') return 1; // sprawdzamy czy po ostatniej cyfrze jest znak konca
else return 0; // jesli nie blad
}
int main()
{
char bufor[20];
char* wsk = bufor;
cout<< "PODAJ: "<<endl;
// pobierasz to co wprowadza użytkownik
cin.getline(bufor,19);
if (sprawdz(wsk)) cout << "super"<<endl;
else cout << "niestety"<<endl;
system("PAUSE");
return 0;
}
ta funkcja sprawdz zwraca 0 jesli dane sa niepoprawne troche nieelegancko, jak chcesz możesz zmienic