Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- int main()
- {
- FILE * p_soubor_2 = fopen("output.csv", "w");
- if (p_soubor_2 == NULL)
- {
- printf("Soubor se nepodařilo otevřít pro zápis, zkontrolujte prosím oprávnění.");
- return 1;
- }
- int vek = 20;
- int vyska = 150, vaha = 50;
- char jmeno[256];
- int status;
- char retezec[256];
- char nejmladsi[256];
- char nejstarsi[256];
- int soucet_veku=0,soucet_vysky=0,soucet_vahy=0;
- int pocet_radku=0;
- int min_vek=0,max_vek=0;
- //puts dava novy radek bez\n
- // puts("Zadej CSV radky ve formatu jmeno;vek;vyska;vaha;");
- // puts("Konec=EOF neboli na klavesnici CTRL+Z...");
- //fscanf nacita ze souboru,to same scanf nacita s klavesnice
- FILE * p_soubor = fopen("input.csv", "r");//otevreni datoveho proudu
- if (p_soubor == NULL)
- {
- printf("Soubor se nepodařilo otevřít pro čtení, zkontrolujte prosím zda existuje.");
- return 1;
- }
- //fgets nacitani jedneho radku,ze souboru do retezca
- while (fgets(retezec, sizeof(retezec), p_soubor) != NULL)
- {
- //printf("%s ",retezec);
- // printf("%s;%lf;%d;%d;\n", jmeno, &vek, &vyska, &vaha);
- //rozfazovani do scanf
- //sscanf nacita retezce bufera,scanf nacita s klavesnice
- //vstup se bere retezece,s tama se to ma brat
- status = sscanf(retezec, "%[^;];%d;%d;%d;", jmeno, &vek, &vyska, &vaha);
- //sscanf
- // printf("Status=%d, jmeno=%s, vek=%.2f, vyska=%d a vaha=%d\n", status, jmeno, vek, vyska, vaha);
- if (status<4)//eof nemuze nastat
- {
- printf("Chyba! Cekal jsem cislo, ne: %s\n", retezec);
- }
- else
- {
- if(pocet_radku==0)
- {
- max_vek=vek;
- min_vek=vek;
- }
- if(vek>max_vek)
- {
- max_vek=vek;
- strcpy(nejstarsi,jmeno);//kopirovani textoveho pole do pole jmeno
- }
- if(vek<min_vek)
- {
- strcpy(nejmladsi,jmeno);
- min_vek=vek;
- }
- soucet_veku+=vek;
- soucet_vysky+=vyska;
- soucet_vahy+=vaha;
- pocet_radku++;
- }
- }
- printf("Prumerna vaha je: %d kg\n",soucet_vahy/pocet_radku);
- fprintf(p_soubor_2, "Prumerna vaha je: %d kg\n",soucet_vahy/pocet_radku );
- printf("Prumerna vyska je: %d cm\n",soucet_vysky/pocet_radku);
- fprintf(p_soubor_2,"Prumerna vyska je: %d cm\n",soucet_veku/pocet_radku);
- printf("Prumerny vek je: %d\n",soucet_veku/pocet_radku);
- fprintf(p_soubor_2,"Prumerny vek je: %d\n",soucet_veku/pocet_radku);
- printf("Nejmladsim je %s s vekem %d\n",nejmladsi,min_vek);
- fprintf(p_soubor_2,"Nejmladsim je %s s vekem %d\n",nejmladsi,min_vek);
- printf("Nejstarsim je %s s vekem %d\n",nejstarsi,max_vek);
- fprintf(p_soubor_2,"Nejstarsim je %s s vekem %d\n",nejstarsi,max_vek);
- if (fclose(p_soubor) == EOF) //podminka ukonceni,zavreni suboru
- {
- printf("Soubor se nepodařilo uzavřít.");
- return 1;
- }
- //fprintf(p_soubor_2,retezec);
- if (fclose(p_soubor_2) == EOF)
- {
- printf("Soubor se nepodařilo uzavřít.");
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement