/* Vedd ki a komment jeleket azon program elol es mogul, amelyiket futtatni akarod! */ /* A többit pedig kommenteld ki komment zarojelekkel! */ /* ------------- CodeBlocks verziók: ------------------ */ /* 2. gyakorlat anyaga : típusos fájl, struct, text fájl */ /* #include #include typedef struct { char menufajta; float feherje, szenhidrat,zsir; } ADAGTIP; ADAGTIP adag; FILE * f; char fiznev[80]; int main() { int i, n; puts("Menzai adatok eltarolasa\n"); puts("A fajl neve: "); gets(fiznev); f= fopen(fiznev,"wb"); if (f==NULL) { puts("\nFajlnyitasi hiba"); getchar(); exit(1); } printf("Hany adag lesz? n="); scanf("%d",&n); for (i=0; i #include #include int main() { FILE * fajl; typedef struct { char menu; float feherje; float zsir; float szenhidrat; } ADAGTIP; ADAGTIP adag; char fiznev[80]; int adb = 0, ddb = 0; float aszh = 0 , dszh = 0; printf("Szenhidratarany-meghatarozas\n\n"); printf("Adja meg a nyilvantartofajl nevet:"); gets(fiznev); fajl = fopen(fiznev,"rb"); if (fajl == NULL) { printf("\nFajlnyitas sikertelen!"); exit(1); } while ( !( feof(fajl) ) ) { fread( &adag, sizeof (adag), 1 , fajl); printf("\n adagtip: %c, feherje: %f, zsir: %f, szenhidrat: %f", adag.menu, adag.feherje, adag.zsir, adag.szenhidrat); switch (adag.menu) { case 'a': case 'A': adb++; aszh += adag.szenhidrat; break; case 'd': case 'D': ddb++; dszh += adag.szenhidrat; } } fclose(fajl); printf("\n\nAz A menuk atlagos szenhidrattartalma= %f", aszh/adb); printf("\nA D menuk atlagos szenhidrattartalma= %f", dszh/ddb); printf("\nA D menuk szenhidrattartalma az A menukenek %f resze.\n\n", (dszh/ddb)/(aszh/adb) ); return 0; } */ /*-------------------------------------------------------------------*/ /* 3. prg:Egy C forrasprogramot TEXT tipusu fajlnak tekintve hatarozzuk meg benne a szovegkonstansok elofordulasanak szamat. Egy szovegkonstans kezdete a " karakterrol ismerheto fel. */ /* #include #include FILE * f; char fiznev[79]; char sor[128]; int main() { int i,db= 0; puts("Szovegkonstansok szamlalasa\n"); do { printf("A C fajl neve:"); gets(fiznev); f= fopen(fiznev,"rt"); } while (f == NULL); while (!feof(f)) { fgets(sor,128,f); i= 0; while (sor[i]) //vegigmegy a sor karakterein { if (sor[i] == '"') db++; i++; } } fclose(f); printf("\n%d darab blokk van a fajlban", db/2); getch(); } */ /*Kerdes: hol csalhat a program? Valasz: a " karakter nem csak blokk kezdete lehet, hanem egy keresett karakter is, mint ebben a programban, vagy elofordulhat a megjegyzesben is. */