prometheus800

ООП: Структура во C ???

Apr 6th, 2022
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.76 KB | None | 0 0
  1. // Структура во C Problem 14 (2 / 28)
  2. #include<stdio.h>
  3.  
  4.  
  5. typedef struct Pacient{
  6.     char ime[100];
  7.     int zdrastveno;
  8.     int pregledi;
  9. }Pacient;
  10.  
  11. typedef struct MaticenDoktor{
  12.     char ime[100];
  13.     int br_pac;
  14.     int vkupnoPregledi;
  15.     float cena;
  16.     float vkupnaZarabotka;
  17.     Pacient niza[200];
  18. }doktor;
  19.  
  20. void najuspesen_doktor(doktor *md, int n){
  21.  
  22. int i = 0,j = 0, id = 0;
  23. float maxCena = 0;
  24. int maxPregledi = 0;
  25.  
  26. for(i = 0; i < n; i++){
  27.     for(j = 0; j < md[i].br_pac; j++){
  28.         md[i].vkupnoPregledi += md[i].niza[j].pregledi;
  29.         if(md[i].niza[j].zdrastveno == 0){
  30.             md[i].vkupnaZarabotka += md[i].cena * md[i].niza[j].pregledi;
  31.         }
  32.     }
  33.  
  34. }
  35.  
  36. for(i = 0; i < n; i++){
  37.     if(md[i].vkupnaZarabotka > maxCena){
  38.         maxCena = md[i].vkupnaZarabotka;
  39.         id = i;
  40.     }
  41.     else if(md[i].vkupnaZarabotka == maxCena){
  42.         for(j = 0; j < n; j++){
  43.             if(md[j].vkupnoPregledi > maxPregledi){
  44.             maxPregledi = md[j].vkupnoPregledi;
  45.             id = j;
  46.             }
  47.         }
  48.     }
  49. }
  50.  
  51. if(maxPregledi == 0){
  52.     printf("%s %.2f %d", md[id].ime, md[id].vkupnaZarabotka, md[id].vkupnoPregledi);
  53. }
  54. else
  55. {
  56.     printf("%s %.2f %d", md[id].ime, md[id].vkupnaZarabotka, maxPregledi);
  57. }
  58. }
  59.  
  60.  
  61. int main()
  62. {
  63. int i, j, n, broj;
  64. doktor md[200];
  65. scanf("%d", &n);
  66. for (i = 0; i < n; i++){
  67.     //ime na doktor
  68.     scanf("%s", &md[i].ime);
  69.     //broj na pacienti
  70.     scanf("%d", &md[i].br_pac);
  71.     //cena na pregled
  72.     scanf("%f", &md[i].cena);
  73.  
  74.     for (j = 0; j < md[i].br_pac; j++){
  75.         scanf("%s", &md[i].niza[j].ime);
  76.         scanf("%d", &md[i].niza[j].zdrastveno);
  77.         scanf("%d", &md[i].niza[j].pregledi);
  78.     }
  79. }
  80. najuspesen_doktor(md, n);
  81.  
  82. return 0;
  83. }
  84.  
Add Comment
Please, Sign In to add comment