Guest User

strc

a guest
Apr 8th, 2020
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.91 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3.  
  4. typedef struct index {
  5.     int brojIndexa;
  6.     int godinaUpisa;
  7. }INDEX;
  8. typedef struct smer {
  9.     int sifraSmera;
  10.     char nazivSmera[10];
  11. }SMER;
  12. typedef struct student {
  13.     char ime[20];
  14.     char prezime[20];
  15.     INDEX index;
  16.     SMER smer;
  17. }STUDENT;
  18.  
  19. void ispisiStudenta(STUDENT s) {
  20.     printf("%10s %10s %5d/%5d %s-%d\n", s.ime, s.prezime,
  21.         s.index.brojIndexa, s.index.godinaUpisa, s.smer.nazivSmera, s.smer.sifraSmera);
  22. }
  23.  
  24. STUDENT unesiStudenta() {
  25.     STUDENT st;
  26.     printf("Unesite ime: ");
  27.     gets(st.ime);
  28.     printf("Unesite prezime: ");
  29.     gets(st.prezime);
  30.     printf("Unesite broj indexa u formatu (15/2018): ");
  31.     scanf("%d/%d", &st.index.brojIndexa, &st.index.godinaUpisa);
  32.     printf("Unesite smer (1-isit, 2-men, 3-dalj): ");
  33.     int x;
  34.     scanf("%d", &x);
  35.     getchar();
  36.     SMER smer1 = { 1,"ISIT" };
  37.     SMER smer2 = { 2,"MEN" };
  38.     SMER smer3 = { 3,"DALJ" };
  39.     switch (x) {
  40.     case 1:
  41.         st.smer = smer1;
  42.         break;
  43.     case 2:
  44.         st.smer = smer2;
  45.         break;
  46.     case 3:
  47.         st.smer = smer3;
  48.         break;
  49.     default:
  50.         printf("Los izbor!");
  51.     }
  52.     return st;
  53. }
  54. void ubaciUNiz(STUDENT studenti[], int* n, STUDENT st) {
  55.     studenti[*n] = st;
  56.     (*n)++;
  57. }
  58. void napuniNiz(STUDENT studenti[], int* n) {
  59.     char izbor;
  60.     do {
  61.         STUDENT st;
  62.         st = unesiStudenta();
  63.         ubaciUNiz(studenti, n, st);
  64.         printf("Da li zelite da unesete studenta jos jednom (d-da/ n-ne)? ");
  65.         scanf("%c", &izbor);
  66.         getchar();
  67.     } while (izbor != 'n' && izbor != 'N');
  68. }
  69. void ispisiNizStudenata(STUDENT studenti[], int n) {
  70.     for (int i = 0; i < n; i++)
  71.     {
  72.         ispisiStudenta(studenti[i]);
  73.     }
  74. }
  75. void ispisiSveSaSmera(STUDENT studenti[], int n, SMER smer) {
  76.     for (int i = 0; i < n; i++)
  77.     {
  78.         if (strcmp(studenti[i].smer.nazivSmera, smer.nazivSmera) == 0) {
  79.             ispisiStudenta(studenti[i]);
  80.         }
  81.     }
  82. }
  83.  
  84. int main() {
  85.     /*
  86.     //struct student tina = { "Tina", "Lazarevic", {14, 2019} };
  87.     //printf("Student se zove %s\n", tina.ime);
  88.     //printf("%s index je %d/%d\n", mixi.ime, mixi.index.brojIndexa, mixi.index.godinaUpisa);
  89.     //mixi.index.brojIndexa = 1500;
  90.     STUDENT vasilev;
  91.     vasilev.index.brojIndexa = 45;
  92.     vasilev.index.godinaUpisa = 2019;
  93.     //vasilev.ime = "Nemanja"; //ovo ni za dva zivota
  94.     strcpy(vasilev.ime, "Nemanja");
  95.     strcpy(vasilev.prezime, "Vasilev");*/
  96.     /*STUDENT st1;
  97.     printf("Unesite ime: ");
  98.     gets(st1.ime);
  99.     //puts();
  100.     printf("Unesite prezime: ");
  101.     gets(st1.prezime);
  102.     printf("Unesite broj indexa u formatu (15/2018): ");
  103.     scanf("%d/%d", &st1.index.brojIndexa, &st1.index.godinaUpisa);*/
  104.     /*STUDENT st2;
  105.     st2 = unesiStudenta();
  106.     ispisiStudenta(st2);*/
  107.     SMER smer = { 1,"ISIT" };
  108.     int godina = 2018;
  109.     STUDENT mixi = { "Mihailo", "Nisavic", {15, godina}, smer };
  110.     //ispisiStudenta(mixi);
  111.     STUDENT studenti[100] = { { "Mihajlo", "Nisevic", {155, godina}, smer },
  112.                                 { "Tina", "Lazarevic", {15,2019}, {2, "MEN"}},
  113.                                 mixi };
  114.     int n = 3;
  115.     //ispisiNizStudenata(studenti, n);
  116.     ispisiSveSaSmera(studenti, n, smer);
  117. }
Advertisement
Add Comment
Please, Sign In to add comment