Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- struct Predmet {
- int id;
- char naziv[30];
- };
- void unesi(char *string, int vel) {
- char znak = getchar();
- int i = 0;
- if (znak == '\n') znak = getchar();
- while (i < vel - 1 && znak != '\n') {
- string[i] = znak;
- i++;
- znak = getchar();
- }
- string[i] = '\0';
- }
- int ucitaj(struct Predmet *predmeti, int limit) {
- int i = 0, j = 0;
- char c = 'a';
- FILE *ulaz;
- ulaz = fopen("predmeti.txt", "r");
- if (!ulaz) {
- printf("Greska pri otvaranju datoteke za citanje.\n");
- return 0;
- }
- while (i < limit && fscanf(ulaz, "%d ", &predmeti[i].id) == 1) {
- do {
- c = fgetc(ulaz);
- predmeti[i].naziv[j] = c;
- j++;
- } while (j < 30 && c != 10);
- predmeti[i].naziv[j - 1] = '\0';
- j = 0;
- i++;
- }
- fclose(ulaz);
- return i;
- }
- int main() {
- int i, isti = 1, idUnos, brIndexa, predmet, ocjena;
- int izasli = 0, polozili = 0, suma = 0, velicina;
- char unos[40];
- double prosjek, prolaznost;
- FILE *ulaz;
- struct Predmet predmeti[10];
- velicina = ucitaj(predmeti, 10);
- // for (i = 0; i < 5; i++)
- // printf("%d. %s\n", predmeti[i].id, predmeti[i].naziv);
- do {
- printf("Unesite predmet: ");
- unesi(unos, 40);
- for (i = 0; i < velicina; i++) {
- if (!strcmp(unos, predmeti[i].naziv)) {
- idUnos = predmeti[i].id;
- isti = 0;
- break;
- }
- }
- if (i == velicina)
- printf("Nepostojeci predmet!\n");
- } while (isti);
- ulaz = fopen("ispiti.txt", "r");
- if (ulaz == NULL) {
- printf("Pogreska kod otvaranja datoteke!");
- return 1;
- }
- while (fscanf(ulaz, "%d %d %d", &brIndexa, &predmet, &ocjena) == 3) {
- if (idUnos == predmet) {
- suma += ocjena;
- izasli++;
- if (ocjena >= 6)
- polozili++;
- }
- }
- fclose(ulaz);
- if (!izasli) {
- printf("Zalimo, ali ne postoje podaci o predmetu %s!", unos);
- return 0;
- }
- prosjek = (float)suma / izasli;
- prolaznost = ((float)polozili / izasli) * 100;
- printf("Prosjecna ocjena: %.2f", prosjek);
- printf("\nProlaznost: %g%%", prolaznost);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement