Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- typedef struct Osoba{
- char jmeno[50];
- char bydliste[100];
- int plat;
- }tOsoba;
- tOsoba * nactiOsoby(char * soubor, int *velikost) {
- FILE *f;
- f = fopen(soubor, "r");
- char radek[600];
- fgets(radek, 600, f);
- while (fgets(radek,600,f) != NULL) {
- *velikost = *velikost + 1;
- }
- rewind(f);
- tOsoba *osoby = (tOsoba*)malloc(*velikost * sizeof(tOsoba));
- char *token;
- char *ptr;
- fgets(radek, 600, f);
- for (size_t i = 0; i < *velikost; i++){
- fgets(radek, 600, f);
- token = strtok(radek, ";");
- strcpy(osoby[i].jmeno, token);
- token = strtok(NULL, ";");
- strcpy(osoby[i].bydliste, token);
- token = strtok(NULL, ";");
- osoby[i].plat = strtol(token,&ptr,10);
- }
- fclose(f);
- return osoby;
- }
- void vypisOsob(int velikost, tOsoba *osoby) {
- for (size_t i = 0; i < velikost; i++)
- {
- printf("%s ; %s ; %d \n",osoby[i].jmeno, osoby[i].bydliste, osoby[i].plat);
- }
- }
- void uloz(int velikost, tOsoba *osoby, char *soubor) {
- FILE *f;
- f = fopen(soubor, "w");
- fputs("jmeno;bydliste;plat\n",f);
- int suma = 0;
- int prumer = 0;
- for (size_t i = 0; i < velikost; i++)
- {
- suma += osoby[i].plat;
- }
- prumer = suma / velikost;
- for (size_t i = 0; i < velikost; i++)
- {
- if (osoby[i].plat > prumer && strcmp("Brno",osoby[i].bydliste) == 0)
- {
- fputs(osoby[i].jmeno, f);
- fputs(";", f);
- fputs(osoby[i].bydliste, f);
- fputs(";", f);
- fprintf(f, "%d", osoby[i].plat);
- fputs("\n", f);
- }
- }
- fclose(f);
- }
- void dealokuj(tOsoba *pole) {
- free(pole);
- }
- int main() {
- int velikost = 0;
- tOsoba *pole = nactiOsoby("jmena.csv", &velikost);
- vypisOsob(velikost, pole);
- uloz(velikost, pole, "prijmeni.csv");
- dealokuj(pole);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement