Emelt erettsegiben ellenorzott adatbekeres szukseges?
Nem tudjatok veletlenul, hogy emelt erettsegiben egy adat bekeresekor ellenorzotten kell bekerni?
Marmint eleg egy ennyi:
printf("Irjon be egy szamot: ");
scanf("%d", &ertek);
Vagy mindenkeppen igy kene:
do {
fflush(stdin);
printf("Irjon be egy szamot: ");
db = scanf("%d", &ertek);
} while (db!=1 || ertek<alsohatar || felsohatar<ertek);
Azt ugye tudod hogy ha nem rak bele hibakezelést az nem ekvivalens azzal hogy a programja hemzseg a hibáktól és nem ér semmit? Valójában senkit nem érdekel hogy van e benne vagy nincs. Ha abszolút nincs semmi dolga, befejezett minden feladatot, akkor elszöszölhet vele, de erre ne vesztegesse az idejét érettségin. Azt kell csinálni amit kérnek. Ami meg a scanf()-et illeti, előre meg szokták mondani hogy mekkora legyen a buffer, nyugodtan lehet használni. (de ha nem mondják meg a buffer méretét, akkor sincs semmi, csak legyen elég nagy megadva)
Alternatívaként amúgy az fgets() és az sscanf() függvényekre érdemes ránézni, ezek biztonságosabbak, de érettségin nem elvárás.
Érdekesnek találtam hogy mindent leszóltál csak azt nem ami ténylegesen hibás: fflush(stdin)
fflust csak kimeneti streamekhez használjuk, mert a standard nem definiálja a működését. A bemeneti streamből pl. getchar()-ral lehet kidobálni a karaktereket:
while((c = getchar()) != '\n' && c != EOF);
Az emelt érettségiben általában oda szokták írni, hogy nem kell ellenőrizni, illetve a bemeneti állomány is biztosan olyan, amit írtak. Ez nem jelenti azt, hogy ezentúl is mindig oda fogják írni, de azt mondhatom a tapasztalat alapján, hogy valószínűleg nem kérnek ellenőrzést. Ha nincs odaírva semmi, akkor inkább írd meg az ellenőrzést, ha úgyis tudod, bár általában nem szokott pont járni se érte, de nem lehet biztosan előre tudni...
A feladatkészítők tudják, milyen kevés az a 4 óra, és ezért a lényegre szoktak koncentrálni. Azt is odaírják, hogy az ékezeteknek sem kell helyesnek lenniük, bár ma már mindegyik programnyelven gond nélkül lehet ékezetes szöveget írni. A bemeneti állományban sosincs ékezet, mert a megnyitás okozhatna problémát.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!