Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #define MAX 80
- #define BROJ 100
- struct student
- {
- char ime_studenta[MAX + 1];
- char ime_smera[MAX + 1];
- int br_indeksa;
- int god_upisa;
- };
- void upis(struct student niz[],int n)
- {
- int i, temp;
- for (i = 0; i < n; i++)
- {
- temp = getchar();
- printf("\nIme studenta: ");
- gets(niz[i].ime_studenta);
- printf("\nIme smera na kojem je student: ");
- gets(niz[i].ime_smera);
- printf("\nBroj indeksa studenata: ");
- scanf("%d", &niz[i].br_indeksa);
- printf("\nGodina upisa studenta: ");
- scanf("%d", &niz[i].god_upisa);
- }
- }
- int provera(struct student niz[],int n)
- {
- struct student *ptr1, *ptr2;
- int god_upisa1;
- printf("\nUnesite godinu upisa : ");
- scanf("%d", &god_upisa1);
- for (ptr1 = ptr2 = niz; ptr1 < niz + n;ptr1++)
- {
- if ((*ptr1).god_upisa <= god_upisa1)
- *ptr2++ = *ptr1;
- }
- return(ptr2 - niz);
- }
- void stampa(struct student niz[], int n)
- {
- int i;
- puts("\nSpisak studenata koji su upisali fakultet do trazene godine:\n\n");
- for (i = 0; i < n; i++)
- {
- printf("%s\t%s-%d/%d\n", niz[i].ime_studenta, niz[i].ime_smera, niz[i].br_indeksa, niz[i].god_upisa);
- }
- printf("\n\n");
- }
- main()
- {
- struct student *podaci;
- int n, n1;
- do
- {
- printf("\nUnesite broj studenata: ");
- scanf("%d", &n);
- } while (n<1 || n>BROJ);
- if ((podaci = (struct student *) malloc(n*sizeof(struct student))) == NULL)
- printf("\nGreska\n");
- upis(podaci, n);
- n1 = provera(podaci, n);
- if((podaci= (struct student *) realloc(podaci,n1*sizeof(struct student)))==NULL)
- printf("\nGreska\n");
- stampa(podaci, n1);
- free(podaci);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement