Trust Napisano Styczeń 8, 2019 Autor Zgłoś Udostępnij Napisano Styczeń 8, 2019 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 :( Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Complex Napisano Styczeń 8, 2019 Zgłoś Udostępnij Napisano Styczeń 8, 2019 Poczytaj o funkcji atoi() - powinna rozwiazać Twój problem. pozdro Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aberration Napisano Styczeń 8, 2019 Zgłoś Udostępnij Napisano Styczeń 8, 2019 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). Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.