Bináris fájlban lévő adatnyilvántartó program azonosítójával való gondok. (? )
Sziasztok. C/C++ban szükségeltetik előző féléves tömbökkel elkészített beadandónkat átírni bináris fájlokkal történő adatnyilvántartásra és hiába próbálkozok hasonló módszerekkel amik működtek a tömbös megoldásnál, sehogy sem sikerül tökéletesre írjam a programot. Adatbevitelnél az ID-t le szeretném ellenőrizni, hogy létezik-e, ha igen akkor kiírja (eddig nincs gond, teszteltem egy meglévő adatbázissal és szuperül működik) viszont az átmeneti változót nem sikerül átadjam a struktúrában lévő ID-nek sehogy sem. Bárminemű rávezetést szívesen fogadok. Kitöröltem ideiglegenesen a kódból a felesleges részeket amik nem az adatbevitellel és a listázással kapcsolatosak.
A kérdést nem igazán tudtam értelmezni, vagy nem olvastam el rendesen, de egy megjegyzésem van: fflush(stdin)
Ezzel tele van a kódod. Gondolom az entert akarod elnyelni vele, azonban nem éppen jól. Szabály szerint az fflush az stdin-re teljesen kiszámíthatatlan. Régen egy programozó gondolt egyet, és terjeszteni kezdte, aztán megjelent még hivatalos doksikban is, ennek ellenére nem éppen jó. Javaslok egy getchar() -t helyette inkább.
Szia.
Itt mit is szeretnél csinálni ? :
if(film.id == 0) // Berakja az ID-t az elso olyan helyre ahol meg nem volt ID.
{
_ _ userID = film.id; // Ezzel van gond.
_ _ break;
}
Szerintem ez nem "// Berakja az ID-t az elso olyan helyre ahol meg nem volt ID." hanem inkább kiszedi ez első olyan helyről.
Az userID-ben nulla lesz mivel levizsgálod, hogy a film.id egyenlő-e nullával, és ha igen akkor ezt a nullát átadod az userId-nek és kilépsz a ciklusból.
Sok sikert. Üdv.
Igazatok van, nagyon szépen köszönöm a rávezetést.
Az fflush(stdin)-t a programozás tanárunk tanította nekünk, hogy alkalmazzuk erre a célre, viszont a programozás módszertan tanárunk már felhívta rá a figyelmet, hogy ez nagyon nem erre lett kitalálva.
Mindenesetre sikerült orvosolni a problémát hála annak, hogy rámutattál, hol van a hiba, kedves 2. válaszoló. Köszi! Ha valakinek segítséget nyújtana a jövőben:
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!