Skocz do zawartości

Liczba czy tekst ??


Trust

Recommended Posts

Mam pytanie jak sprawdzić czy w zmiennej znajduje się lczba czy tekst.
najlepiej z IF ELSE . wzor:

Jesli w zmiennej jest liczba i wartosc zmiennej jest mniejsza od 100 to wykonaj polecenia a, jesli w zmiennej znajduje sie tekst to wypisz ze blond i czekaj na znak po czym rozpocznij od nowa 

plis jak by ktos mogl to prosze :(

Link do komentarza
Udostępnij na innych stronach

Funkcja atoi() w większości przypadków jest dobrym rozwiązaniem, ale nie zawsze. Jeśli np. ktoś wpisze 123napis to funkcja zwróci 123.
Jeśli jako parametr poda się tekst, to zwróci on 0. A co jeśli ktoś rzeczywiście wpisze 0.

Najlepszym sposobem będzie czytanie bajt po bajcie.

bool myatoi(const char *str,int *var)
{
 char d;
 int pos = 0;
 *var = 0;
 while(true)
 {
   d = str[pos++];
   if((d>='0')&&(d<='9'))
   {
     (*var)*=10;
     (*var)+=d-'0';
   }
   else if(!d)return true;
   else return false;
 }
}

Funkcja zwraca true tylko wtedy, gdy wszystkie znaki w str to cyfry. Opcjonalnie można dodać sprawdzanie znaku liczby lub wprowadzić inne systemy liczbowe(2,8,16).

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...