Kezdőoldal » Számítástechnika » Programozás » Emelt erettsegiben ellenorzott...

Emelt erettsegiben ellenorzott adatbekeres szukseges?

Figyelt kérdés

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);



2015. ápr. 20. 18:24
 1/7 anonim ***** válasza:
Ha a feladat írja akkor szerintem igen. Ha nem akkor nem muszáj:)
2015. ápr. 20. 18:26
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
Ha nem írja a feladat és nincs feltüntetve sehol a feladatlapon, akkor nem feladat ellenőrizni, lehet feltételezni hogy helyes a bemenet.
2015. ápr. 20. 18:54
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
Én nem értek a többi válaszolóval egyet, mert mi értelme van olyan programot beadni, ami hemzseg a hibáktól? Egy programban legyen hibakezelés, anélkül semmit sem ér... Ráadásul ne használj scanf()-et, biztos ezt tanították meg először, meg minden, de helytelen azzal a függvénnyel adatot beolvasni, mivel nem árt figyelni a buffer overflow-ra például...
2015. ápr. 20. 18:57
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
Persze ez számok bekérésénél nem annyira szemléletes, de ha majd stringekkel dolgozol, meglátod, hogy sok hibát rejt magában az scanf().
2015. ápr. 20. 19:03
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

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);

2015. ápr. 20. 20:10
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

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.

2015. ápr. 21. 07:36
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
A 70%-os jóindulattal válaszolt, csak azt nem vette észre, hogy itt egy _érettségiről_ van szó, ami sok szempontból különleges eset. (Előző)
2015. ápr. 21. 07:38
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!