Hyluss icon

Operacje na plikach, struktura

Hyluss | PRO | 07/02/16 06:09:03 PM UTC | 0 ⭐ | 429 👁️ | Never ⏰ | []
C |

1.53 KB

|

None

|

0 👍

/

0 👎

//wczytywanie z pliku, zapis do pliku, struktura
 
// ciezary.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_DEPRECATE
 
 
struct struct_Ciezarki {
float Waga;
char Imie [20];
int Powt;
float Srednia;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    FILE *wczytaj;
    FILE *zapisz;
    
int  i=0;
int porownanie=0;
int Powt = 1;
    
struct_Ciezarki Ciezarki [100];
 
    wczytaj = fopen ("wciezary.txt","r");
    if (wczytaj == NULL) {
    perror ("blad");
    exit(1);
    }
 
while (!feof (wczytaj)) {
 
fscanf (wczytaj,"%s %f", &Ciezarki[i].Imie, &Ciezarki[i].Waga);
Ciezarki[i].Powt = 1;
printf ("%s %.2f \n", Ciezarki[i].Imie, Ciezarki[i].Waga);
 
for (int j=0; j<i;j++) {
    porownanie = strcmp (Ciezarki[i].Imie, Ciezarki[j].Imie);
    
    if (0 == porownanie) {
        Ciezarki[j].Waga = Ciezarki[i].Waga + Ciezarki[j].Waga;
        Ciezarki[j].Powt++;
        i--;
        }
 
}
 
i++;
}
 
 
zapisz = fopen ("zciezary.txt","w");
if (zapisz == NULL) {
perror ("blad");
fclose (wczytaj);
exit (1);
}
 
 
for (int j=0; j<i;j++) {
Ciezarki[j].Srednia = Ciezarki[j].Waga / Ciezarki[j].Powt;
printf ("%s podniosl srednio %.2f \n", Ciezarki[j].Imie,Ciezarki[j].Srednia);
fprintf (zapisz,"%s podniosl srednio %.2f \n", Ciezarki[j].Imie,Ciezarki[j].Srednia);
}
 
 
    _getch();
    return 0;
}
 
/* tak wyglada "wciezary.txt"
Adam 10
Adam 5
Lukas 14
Marcin 99
Adam 7
Marcin 53
Wiktor 51
Darek 3
Wiktor 4
Darek 5
Darek 6
*/

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎