Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdlib.h"
- #include "stdio.h"
- typedef struct
- {
- char nume[20];
- int prioritate;
- }pacient;
- typedef struct
- {
- pacient p[20];
- int a,nr;
- struct clasa *next;
- }clasa;
- clasa *rad;
- void adaugaclass(int a)
- {
- clasa *nod;
- nod = (clasa*)malloc(sizeof(clasa));
- nod->a = a;
- nod->nr = 0;
- nod->next = NULL;
- if (rad == NULL)
- rad = nod;
- else {
- nod->next = rad;
- rad = nod;
- }
- }
- void adaugapacient(char *nume, int prioritate, int a)
- {
- pacient pac;
- strcpy(pac.nume, nume);
- pac.prioritate = prioritate;
- clasa *aux = rad;
- while (aux != NULL)
- {if (aux->a == a)
- {
- aux->p[aux->nr] = pac;
- aux->nr++;
- }
- aux = aux->next;
- }
- }
- void listare()
- {
- clasa *aux = rad;
- while (aux != NULL)
- {
- printf("Clasa %d: ", aux->a);
- for (int i = 0; i < aux->nr; i++)
- {
- printf(" %s ",aux->p[i].nume);
- printf ("%d ",aux->p[i].prioritate);
- }
- printf("\n");
- aux = aux->next;
- }
- }
- int main() {
- rad = NULL;
- int nrclase, a, nrpacienti, prioritate;
- char nume[20];
- printf("Cate clase adaugam:"); scanf("%d", &nrclase);
- for (int i = 0; i < nrclase; i++) {
- printf("Introduceti a pentru clasa %d:", i); scanf("%d", &a);
- adaugaclass(a);
- printf("Introduceti numarul de pacienti pentru clasa %d:", a); scanf("%d", &nrpacienti);
- for (int j = 0; j < nrpacienti; j++) {
- printf("Introduceti numele pacientului %d:", i); getchar(); gets(nume);
- printf("Introduceti prioritatea pacientului %d:", i); scanf("%d", &prioritate);
- adaugapacient(nume, prioritate, a);
- }
- }
- listare();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement