• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Makrodefinicje w C

Object Storage Arubacloud
0 głosów
324 wizyt
pytanie zadane 2 lutego 2016 w C i C++ przez Iwona Krzepiłko Nowicjusz (120 p.)

 Napisz makro, które próbuje wczytać do podanej w argumencie zmiennej liczbę całkowitą ze standardowego wejścia, a jeżeli to się nie uda (ze względu na inną zawartość standardowego wejścia), to makro powinno nadać otrzymanej zmiennej wartość 0. 

czy ktos moglby pomóc?

2 odpowiedzi

+1 głos
odpowiedź 2 lutego 2016 przez mrcnsct Nałogowiec (36,390 p.)

Sprawdź co zwróci scanf https://pl.wikibooks.org/wiki/C/scanf#Warto.C5.9B.C4.87_zwracana, jeśli nie zwróci 1 (bo wczytujesz jedną liczbę) , to znaczy, że nie wczytało.

0 głosów
odpowiedź 2 lutego 2016 przez MetGang Nałogowiec (34,360 p.)
#define Input(x) std::cin>>x ? x : x=0

Zasada działania. std::cin w przypadku niepowodzenia wpisania danych do zmiennej zwraca false i do x jest przypisywane 0. Nie jest chyba najlepsze rozwiązanie, ale spełnia swe zadanie.

 

komentarz 2 lutego 2016 przez niezalogowany
Myślę że miało być w C a nie w C++
komentarz 2 lutego 2016 przez MetGang Nałogowiec (34,360 p.)
#define Input(x) if(scanf("%d",&x)<0) x=0

 

komentarz 2 lutego 2016 przez mrcnsct Nałogowiec (36,390 p.)
Dlaczego <0? U mnie jak wpiszę literę, to scanf zwraca 0 i według Twojej makrodefinicji jest w porządku i nie zeruje. Wynika z niej, że jak wczyta poprawnie 0 pól to jest dobrze.

Podobne pytania

0 głosów
1 odpowiedź 256 wizyt
0 głosów
1 odpowiedź 555 wizyt
pytanie zadane 4 stycznia 2017 w C i C++ przez SOLO Nowicjusz (120 p.)
0 głosów
1 odpowiedź 101 wizyt
pytanie zadane 6 maja 2021 w C i C++ przez Patryk Wiśniewski Nowicjusz (140 p.)

92,615 zapytań

141,465 odpowiedzi

319,781 komentarzy

61,997 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...