Hogyan kell az enumot helyesen használni C-ben?
A feladat ez lenne:
Írj függvényt, mely paraméterként egy évszakot kap, és kiírja az évszak nevét csupa kis betűvel a standard outputra. A függvény neve legyen print_season.
Írj month2season azonosítójú függvényt, mely paraméterként egy hónap sorszámát kapja (1: január, 12: december), és visszatér a megfelelő évszakkal.
A megoldásban tételezd fel, hogy az enum season típus az elvárásoknak megfelelően van definiálva. A típust definiáló sorokat ne másold be az ellenőrzőbe, csak a függvényt. A megoldásban ne támaszkodj az egyes évszak-szimbólumok számszerű értékeire!
Korábban már meg kellett csinálnom az enum seasont, de az még egyszerű, meg azt helyes is lett, szóval azzal nincs már probléma.
Az én kódom eddig így néz ki:
A függvények esetén a változó deklarációját tedd át a paraméterlistába:
enum season print_season(int n) { ... }
enum season month2season(int x) { ... }
print_season ezen kívül jónak tűnik.
month2season-ben a nem télre vonatkozó ifeknél || helyett &&-ot kell használni.
Még mindig nem jó valami. Ezt a két hibaüzenetet írja ki:
conflicting types for ‘print_season’; have ‘enum season()’
previous declaration of ‘print_season’ with type ‘void(enum season)’
Most mit kéne ezzel kezdeni?
Igazából ugyanaz, mint ami először, csak kijavítottam azokat, amiket az első válaszoló mondott. De akkor ide rakom még egyszer a kódot:
A feladat nem kéri, hogy visszatérjen enum season értékkel a print_season függvény, tehát a visszatérési értéke legyen void.
A month2season-nek meg nem kiírnia kell az értéket, hanem visszaadni egy enum seasont.
"month2season-ben a nem télre vonatkozó ifeknél || helyett &&-ot kell használni." Ez még nem lett javítva.
A month2season()-nek az enum típusból kellene egyet visszaadni. Az nem ír ki semmit.
A print_season() pedig void, mert az nem ad vissza semmit, csak kiír.
(Ugyanabban a codeshare-ben tudod módosítani a kódot.)
A main()-t is tedd bele, mert így nem látszik, hogy milyen hívással kapsz hibaüzenetet.
Most valahogy így néz ki: [link]
Ebben már ott van a main is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!