rendered paste body/* Zadatak 2 - Tip 1 */
/* By Igor Kovacic */
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int dodaj(char *predmet, int ocjena);
int citajmax(void);
unsigned long citajznak(void);
int main(){
short sel, ocjena, max, k;
unsigned long brznak;
char predmet[80+1];
while(1) {
printf("1 - Dodaj predmet u datoteku\n");
printf("2 - Ispisi najvecu ocjenu\n");
printf("3 - Ispisi broj znakova u datoteci\n");
printf("0 - Izlaz iz programa\n");
printf("\nOdaberi opciju: ");
do{
scanf("%d", &sel);
} while(sel<0 || sel>3);
switch (sel) {
case 0:
printf("\n\nIzlazite iz programa!\n\n");
getche();
return 0;
break;
case 1:
printf("\n\nDodavanje predmeta u datoteku\n\n");
printf("Ime predmeta: ");
fgets(predmet, sizeof(predmet), stdin);
printf("\n%s", predmet);
printf("Ocjena: ");
scanf("%d", &ocjena);
k=dodaj(predmet, ocjena);
if(k==0) printf("\n\nPodaci su uspjesno spremljeni!\n\n");
else printf("\n\nDoslo je do pogreske kod upisivanja!\n\n");
break;
case 2:
printf("\n\nIspis najvece ocjene iz datoteke\n");
max=citajmax();
printf("Najveca ocjena je: %d\n\n", max);
break;
case 3:
printf("\n\nIspis broja znakova u datoteci\n");
brznak=citajznak();
printf("Broj znakova u datoteci je: %ld\n\n", brznak);
break;
}
}
}
int dodaj(char *predmet, int ocjena){
FILE *dat;
int k;
dat=fopen("student.txt", "a");
if (dat==NULL){
printf("Ne mogu otvoriti datoteku!\n");
getche();
return 1;
}
fprintf(dat, "%s\n%d\n", predmet, ocjena);
k=fclose(dat);
return k;
}
int citajmax(void){
FILE *dat;
int max=1, br=0;
char temp[100];
dat=fopen("student.txt", "r");
if (dat==NULL){
printf("Ne mogu naci datoteku!\n");
getche();
return 1;
}
while(fscanf(dat, "%81[^\n]%*c", temp)>=0){
br++;
if(br%2==0)
if(atoi(temp)>=max)
max=atoi(temp);
}
fclose(dat);
return max;
}
unsigned long citajznak(void){
FILE *dat;
char a;
unsigned long br=0;
dat=fopen("student.txt", "r");
if (dat==NULL){
printf("Ne mogu naci datoteku!\n");
getche();
return 1;
}
while((a=fgetc(dat))!=EOF)
br++;
fclose(dat);
return br;
}