Új hozzászólás Aktív témák
-
Vasinger!
nagyúr
Kéne egy kis segítség a programomban. Ez az egy hiba van már csak benne, de nem jövök rá miért.
Egy telefonkönyves program menüvel a feladat, ez a részlet pedig az egyik függvény, amelyet egy menüből hívok meg.
Igazából az történik, hogyha van elem a listába, akkor az első if ugye nem teljesül, mert lista != NULL pointerrel, azzal nincs is baj. Akkor ugye belép az else ágba. Kiírja szépen az elemeket. Bekéri, hogy melyiket szeretném törölni. Nos itt jön egy feltételvizsgálat ami kiakaszt. Azt nézem meg, hogy számot fog e bekérni, mert ha a scanf függvény egyenlő 0-val(aminek az értékét egy valami változóba tettem be), akkor nem számot írt be a felhasználó, tehát akkor belép a feltételbe.
És most jön a lényeg!! Ugyebár azt kéne csinálnia, hogy kiírja az szöveget és egy karaktert kéne várni a felhasználótól, majd visszatér 0-val. De nem ezt csinálja. Ha nem számot írok be, akkor viszalép egyből a főmenübe, persze felvillan a kiírás, de a getcharok nem állítják meg a programot. Tehát valahonnan kap karaktert a getchar. Ez hogy lehet? Honnan kaphat? Hogy lehetne kijavítani?Nagyon fontos és sürgős lenne!

Előre is köszi!
A kódrészlet:
Adatok*torol(Adatok*lista)
{
int t=0,valami=0,i;
Adatok*mozgo, *lemarado;
if (lista==NULL){
printf("A lista nem tartalmaz elemeket!\n");
printf ("\nA visszalépéshez kérem nyomjon le egy billentyűt!\n");
getchar();
return 0;
}
else{
listakiiras(lista, 1); // Ez csak kilistázza egy for ciklussal printeffelve a lista elemeit.
printf("\nMelyik bejegyzést szeretnéd törölni?\n");
valami=scanf("%d", &t);
if (valami==0){
getchar();
printf("\nÉrvénytelen válasz.\n\nKérem nyomjon le egy billentyűt a visszalépéshez!\n");
getchar();
return 0;
}
else{ stb. bla bla
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- VeryBig! Akciós! Dell Precision 7760 i7-11850H 32GB 512GB SSD RTX A5000 16GB 17" FHD 1 év garancia
- Dell Precision 3571 4G LTE i7-12700H 32GB 1000GB FHD RTX A1000 4GB 1 év teljeskörű garancia
- Azonnali készpénzes AMD Radeon RX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- Dell Latitude 3310 13,3", Gold 5405U, 8GB RAM, SSD, jó akku, számla, 6 hó gar
- Új, Aktiválatlan iPhone 17 (256 GB) (rendelhető)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


