Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct student
- {
- char ime[128];
- char prezime[128];
- int bodovi;
- };
- int RowCount (char*);
- int ReadData (char*, struct student*);
- void PrintData (struct student*, int, int);
- int main()
- {
- int count, MAX;
- student *lista;
- count = RowCount("C:\\studenti.txt");
- lista = (student*) malloc (count * sizeof(student));
- MAX = ReadData("C:\\studenti.txt", lista);
- PrintData(lista, count, MAX);
- getchar();
- getchar();
- }
- int RowCount (char* fileName)
- {
- FILE* fp;
- fp = fopen(fileName, "r");
- int lines=0;
- char get;
- while (!feof(fp))
- {
- get = fgetc(fp);
- if (get == '\n' || get == EOF)
- {
- lines++;
- }
- }
- fclose (fp);
- return lines;
- }
- int ReadData(char* fileName, student* lista)
- {
- FILE* fp = fopen(fileName, "r");
- int i = 0;
- int MAX=0;
- while (!feof(fp))
- {
- fscanf(fp, "%s %s %d\n", (*(lista+i)).ime ,(*(lista+i)).prezime , &(*(lista+i)).bodovi);
- if(lista[i].bodovi>MAX)
- {
- MAX=lista[i].bodovi;
- }
- i++;
- }
- fclose(fp);
- return MAX;
- }
- void PrintData(student* lista, int br, int MAX)
- {
- float relativna=0;
- for (int i = 0; i<br; i++)
- {
- relativna = ((float)lista[i].bodovi / MAX) * 100;
- printf("\n%d. Student se zove: %s %s, a njegov apsolutni broj bodova je: %d, te relativni broj bodova: %f", i+1, lista[i].ime, lista[i].prezime, lista[i].bodovi, relativna );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement