Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- struct Student
- {
- int br_indexa, predmet, ocjena;
- };
- struct Predmet
- {
- int br_predmeta;
- char ime [30];
- };
- void unos (char *s, int vel)
- {
- int i=0;
- char c;
- do
- {
- c=getchar();
- s[i]=c;
- i++;
- }
- while (c!='\n' && i<vel);
- s[i-1]='\0';
- }
- int main ()
- {
- FILE *ulaz;
- ulaz=fopen("ispiti.txt","r");
- if (ulaz==NULL)
- {
- printf("Greska prilikom otvaranja ulazne datoteke.");
- exit(1);
- }
- int i=0;
- struct Student st[50];
- while(fscanf("%5d %d %2d\n",&st[i].br_indexa,&st[i].predmet,&st[i].ocjena)!=EOF)
- i++;
- fclose(ulaz);
- ulaz=fopen("predmeti.txt","r");
- if (ulaz==NULL)
- {
- printf("Greska prilikom otvaranja datoteke.");
- exit(1);
- }
- struct Predmet imena[6];
- for (i=0; i<6; i++)
- {
- fscanf(ulaz,"%d",&imena[i].br_predmeta);
- fgets(imena[i].ime,30,ulaz);
- imena[i].ime[strlen(imena[i].ime)-1]='\0';
- }
- fclose(ulaz);
- int izbor;
- printf("Unesite 1 za statistiku studenta, 2 za statistiku predmeta, 0 za izlaz:");
- scanf("%d",&izbor);
- struct Student osoba[50];
- switch (izbor) {
- case 1: {
- int br,l,br_ispita=0,br_polozenih=0,suma_ocj=0;
- printf("Unesite broj indexa: ");
- scanf("%d",&br);
- for (l=0; l<i; l++) {
- if (br==osoba[l].br_indexa) {
- br_ispita++;
- if (osoba[l].ocjena>=6) { br_polozenih++;
- suma_ocj+=osoba[l].ocjena;
- }
- }
- }
- printf("Student je polagao ispite iz %d predmeta, a polozio je %d (%2f%)\n",br_ispita,br_polozenih,(br_polozenih*100)/br_ispita);
- printf("Prosjecna ocjena polozenih predmeta je: %.1f",suma_ocj/br_polozenih);
- fclose(ulaz);
- }
- case 2: {
- char ime_pred[30];
- int podudarnost=0,br_predmeta,k;
- do
- { printf("Unesite ime predmeta: ");
- unos(ime_pred,30);
- for(k=0; k<i; k++) {
- if (strcmp(ime_pred,imena[k].ime)==0) {
- podudarnost=1;
- br_predmeta=imena[k].br_predmeta;
- }
- }
- if (podudarnost==0) printf("Nepostojeci predmet!\n");
- }
- while (podudarnost==0);
- int j;
- float suma_ocjena=0;
- int polozili=0,izasli=0;
- for (j=0; j<i; j++)
- {
- if (br_predmeta==osoba[j].predmet)
- {
- if (st[j].ocjena>=6)
- {
- polozili++;
- suma_ocjena+=st[j].ocjena;
- }
- izasli++;
- }
- }
- printf("Prosjecna ocjena je: %.2f\n Prolaznost: %2d%",suma_ocjena/polozili, (polozili*100)/izasli);
- fclose(ulaz);
- }
- case 0: return 0;
- } return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement