#define _CRT_SECURE_NO_WARNINGS
#pragma once
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<time.h>
typedef struct {
char imep[50];
int bri, pi, espb;
float pros;
}student;
student Ucitavanje()
{
student pom;
int godina;
printf("Unesi ime i prezime: ");
if (gets([Link]) == NULL)
{
;
}
else {
getchar();
[Link] = rand() % 900 + 100;
}
printf("\nUnesite godinu koju pohadja student: ");
scanf("%d", &godina);
if (godina != 1)
{
printf("\nUnesite podatke o dosadasnjem ostvarenom uspehu: ");
scanf("%f", &[Link]);
}
else
[Link] = 0;
[Link] = 0;
[Link] = 0;
return pom;
}
void Ispis(student pom)
{
printf("\nIme i prezime: %s", [Link]);
printf("\nBroj indeksa: %d", [Link]);
printf("\nProsek: %f", [Link]);
printf("\nEspb: %d", [Link]);
printf("\nPolozeni ispiti: %d", [Link]);
}
void Ispis2(student pom)
{
FILE* fb = fopen("[Link]", "ab+");
fwrite(&pom, sizeof(pom), 1, fb);
fclose(fb);
}
void IspisUDat()
{
student pom;
FILE* fb = fopen("[Link]", "rb");
FILE* fb2 = fopen("[Link]", "w");
while (fread(&pom, sizeof(pom), 1, fb))
{
fprintf(fb2, "\nIme: %s, broj indeksa: %d",[Link],[Link]);
}
fclose(fb);
fclose(fb2);
}
void IspisStand()
{
student pom;
FILE* fb = fopen("[Link]", "rb");
while (fread(&pom, sizeof(pom), 1, fb))
{
fprintf(stdout, "\nIme: %s, broj indeksa: %d", [Link], [Link]);
}
fclose(fb);
}
student AzurIspit(student pom)
{
int ocena;
[Link]++;
ocena = rand() % 5 + 6;
[Link] = ocena - 4;
[Link] = ([Link] * ([Link] - 1) + ocena) / [Link];
}
void PretragaIndex()
{
student pom;
int indeks;
FILE* fb = fopen("[Link]", "rb");
printf("\nUnesite indeks koji trazite:\n");
scanf("%d", &indeks);
int i, br1, br2=0;
fseek(fb, 0l, SEEK_END);
br1 = ftell(fb) / sizeof(student);
for(i=0;i<br1;i++)
{
fseek(fb, i*sizeof(pom), 0);
fread(&pom, sizeof(pom), 1, fb);
if (indeks == [Link])
{
printf("\nIme i prezime: %s", [Link]);
printf("\nBroj indeksa: %d", [Link]);
printf("\nProsek: %f", [Link]);
printf("\nEspb: %d", [Link]);
printf("\nPolozeni ispiti: %d", [Link]);
br2++;
}
fseek(fb, i * sizeof(pom), 0);
}
if (br2 == 0)
{
printf("\nNe postoji student sa tim indeksom");
}
fclose(fb);
}
void Azur()
{
student pom;
FILE* fb = fopen("[Link]", "rb+");
int br, i;
fseek(fb, 0l, SEEK_END);
br = ftell(fb) / sizeof(student);
for (i = 0; i < br; i++)
{
fseek(fb, i * sizeof(pom), 0);
fread(&pom, sizeof(pom), 1, fb);
pom = AzurIspit(pom);
fseek(fb, i * sizeof(pom), 0);
fwrite(&pom, sizeof(pom), 1, fb);
}
fclose(fb);
}