Advertisement
Guest User

Untitled

a guest
Jan 20th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. #include "stdlib.h"
  2. #include "stdio.h"
  3.  
  4. typedef struct
  5. {
  6. char nume[20];
  7. int prioritate;
  8.  
  9. }pacient;
  10.  
  11.  
  12. typedef struct
  13. {
  14. pacient p[20];
  15. int a,nr;
  16.  
  17.  
  18. struct clasa *next;
  19.  
  20. }clasa;
  21.  
  22. clasa *rad;
  23.  
  24.  
  25.  
  26. void adaugaclass(int a)
  27. {
  28. clasa *nod;
  29. nod = (clasa*)malloc(sizeof(clasa));
  30. nod->a = a;
  31. nod->nr = 0;
  32. nod->next = NULL;
  33. if (rad == NULL)
  34. rad = nod;
  35. else {
  36. nod->next = rad;
  37. rad = nod;
  38. }
  39. }
  40.  
  41.  
  42. void adaugapacient(char *nume, int prioritate, int a)
  43. {
  44. pacient pac;
  45. strcpy(pac.nume, nume);
  46. pac.prioritate = prioritate;
  47.  
  48. clasa *aux = rad;
  49. while (aux != NULL)
  50. {if (aux->a == a)
  51. {
  52. aux->p[aux->nr] = pac;
  53. aux->nr++;
  54. }
  55. aux = aux->next;
  56. }
  57.  
  58.  
  59.  
  60. }
  61. void listare()
  62. {
  63. clasa *aux = rad;
  64. while (aux != NULL)
  65. {
  66. printf("Clasa %d: ", aux->a);
  67. for (int i = 0; i < aux->nr; i++)
  68. {
  69. printf(" %s ",aux->p[i].nume);
  70. printf ("%d ",aux->p[i].prioritate);
  71. }
  72. printf("\n");
  73.  
  74. aux = aux->next;
  75.  
  76.  
  77. }
  78.  
  79.  
  80. }
  81.  
  82.  
  83.  
  84. int main() {
  85. rad = NULL;
  86. int nrclase, a, nrpacienti, prioritate;
  87. char nume[20];
  88. printf("Cate clase adaugam:"); scanf("%d", &nrclase);
  89. for (int i = 0; i < nrclase; i++) {
  90. printf("Introduceti a pentru clasa %d:", i); scanf("%d", &a);
  91. adaugaclass(a);
  92. printf("Introduceti numarul de pacienti pentru clasa %d:", a); scanf("%d", &nrpacienti);
  93. for (int j = 0; j < nrpacienti; j++) {
  94. printf("Introduceti numele pacientului %d:", i); getchar(); gets(nume);
  95. printf("Introduceti prioritatea pacientului %d:", i); scanf("%d", &prioritate);
  96. adaugapacient(nume, prioritate, a);
  97. }
  98. }
  99. listare();
  100.  
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement