Skocz do zawartości


Zdjęcie

[C]czy dana wejściowa jest liczbą?


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 czyzop1

czyzop1

    Początkujący

  • 38 postów

Napisano 29 10 2008 - 12:43

jak sprawdzic czy dana wejsciowa jest liczba??po funkcji scanf... ze musze sprawdzic czy jest to cyfra jesli nie to koncze program, jesli jest to sobie cos tam obliczam :)

  • 0

#2 Chinka

Chinka

    Seal of Approval

  • 426 postów

Napisano 31 10 2008 - 07:21

Dam ci może wskazówkę - dane wejściowe reprezentowane jako znak są typu char. Aby użyć takiej zmiennej jako liczbę, należy ją siłą przekonwertować na int. Jeśli konwersja odbywa się prawidłowo (znaczy się wynik można zapisać jako int), to dany znak jest cyfrą). Jeśli nie, musisz napisać warunek błędu.

  • 0

#3 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 31 10 2008 - 08:23

wystarczy sprawdzic czy char znajduje sie w odpowiednim przedziale tablicy kodow ASCII

char ch;
...
if( ch>='0' && ch<='9' ) 
...

  • 0

#4 Kai

Kai

    Stały użytkownik

  • 237 postów

Napisano 05 11 2008 - 01:47

Możesz spróbować z istringstream i porównywać wejście z dwoma typami zmiennych (int, string) za pomocą operatora ekstrakcji (>>). Jednak to bardziej CPP. Nie mam dostępu do IDE aktualnie więc nie mam jak napisać przykładu, a pseudokod nie da tu za wiele. Google xD
  • 0

#5 Kazeeny

Kazeeny

    Stały użytkownik

  • 209 postów

Napisano 05 11 2008 - 02:04

funkcja isdigit
http://www.cppreference.com/wiki/c/string/isdigit

  • 0

Zobacz więcej tematów z tagiem: język C



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych