Fájlban való keresés c-ben?
Ezt írtam, még hiányos. Hogy lehetne a fájlvégéig beolvasni, soronként lépni? Ti hogy csinálnátok? Más fajta megoldás is érdekel. Struktúrával meg lehetne csinálni?
Ez így nem működik, futás közben leáll.
int main(){
char vezk[21],kerk[21],vez[21],ker[21],a;
float zh1,zh2,zh3,ossz,osszk;
FILE *be;
printf("Kereses az allomanyban...\n");
printf("Vezeteknev: ");
scanf("%s",vezk);
printf("Keresztnev: ");
scanf("%s",kerk);
printf("Elert osszpontszam nagyobb, mint: ");
scanf("%f",osszk);
be=fopen("dolgozat.txt","r");
printf("A kereses eredmenye:\n");
fscanf(be,"%s %s %f %f %f",vez,ker,&zh1,&zh2,&zh3);
ossz=zh1+zh2+zh3;
if(((vez==vezk)||(vezk=='-'))&&((ker==kerk)||(kerk=='-'))&&((ossz>osszk)||(osszk==-1.0)))
printf("%s %s %f %f %f\n",vez,ker,zh1,zh2,zh3);
fclose(be);
return 0;
}
Karakterláncokat nem így hasonlítunk össze.
Használd a strcmp függvényt.
A fájlolvasás pedig egy ciklussal.
while(feof(be)!=)
Itt a fájl végéig ismétli a beolvasást. Ezen belül keress soronként.
Bocsi lemaradt a vége.
Tehát nem while(feof(be!=), hanem while(feof(be)==0)
Köszönöm, sikerült megoldani ezt a részét.
Még arra lennék kiváncsi, hogyan lehetne ezt megoldani?
A keresés után a felhasználó döntheti el, hogy kíván-e még keresni? Ha 'i' -t ad meg akkor újra indul a keresés az adatok bekérésévek, ha 'n' akkor vége.
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!