Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void unesi(char niz[], int velicina){
- char znak = getchar();
- if (znak == '\n') znak = getchar();
- int i = 0;
- while(i < velicina - 1 && znak != '\n') {
- niz[i] = znak;
- i++;
- znak = getchar();
- }
- niz[i]='\0';
- }
- struct Student {
- int brindexa,predmet,ocjena;
- };
- int main(){
- FILE* ulaz;
- struct Student s[100];
- int i = 0, k = 0, error = 0;
- int brojac = 0, br_polozenih = 0, br_predmeta = 6, unos = 1;
- double suma = 0;
- int pr;
- char predmet[30], predmeti[30], *pom1, *pom2, *duzina1, *duzina2;
- ulaz = fopen("ispiti.txt","r");
- if(!ulaz) {
- printf("Pogreska kod otvaranja datoteke 'ispiti.txt'!\n\n");
- return 1;
- }
- while(fscanf(ulaz, "%d %d %d",&s[i].brindexa,&s[i].predmet,&s[i].ocjena) != EOF)
- i++;
- fclose(ulaz);
- ulaz = fopen("predmeti.txt","r");
- if(!ulaz) {
- printf("Pogreska kod otvaranja datoteke 'predmeti.txt'!\n\n");
- return 1;
- }
- while(fscanf(ulaz,"%d %[^\n]", &pr, predmeti) != EOF) {
- if(unos) {
- printf("Unesite predmet: ");
- unesi(predmet,30);
- unos = 0;
- }
- pom1 = duzina1 = predmet;
- pom2 = duzina2 = predmeti;
- while(*duzina1++);
- while(*duzina2++);
- if(duzina1-pom1 != duzina2-pom2) {
- if(pr == br_predmeta) {
- printf("Nepostojeci predmet!\n");
- fseek(ulaz, 0, SEEK_SET);
- unos = 1;
- }
- continue;
- } else {
- while(*pom1 != '\0' && *pom2 != '\0') {
- if(*pom1 != *pom2) {
- error = 1;
- break;
- } else {
- pom1++;
- pom2++;
- }
- }
- if(error) {
- if(pr == br_predmeta) {
- printf("Nepostojeci predmet!\n");
- fseek(ulaz, 0, SEEK_SET);
- unos = 1;
- }
- error = 0;
- continue;
- } else {
- for(k = 0; k < i; k++) {
- if(s[k].predmet == pr) {
- suma += s[k].ocjena;
- brojac++;
- if(s[k].ocjena > 5)
- br_polozenih++;
- }
- }
- if(!brojac) {
- printf("Zalimo, ali ne postoje podaci o predmetu %s!",predmet);
- return 1;
- }
- printf("Prosjecna ocjena: %.2lf\n",suma/brojac);
- printf("Prolaznost: %g%%",(double)br_polozenih/brojac*100);
- return 0;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement