Informatică, întrebare adresată de singei, 8 ani în urmă

Să se creeze o coadă ce conține datele despre elevii unei clase : numele, prenumele și anul nașterii. Să se afișeze coada la ecran precum și vărsta fiecărui elev.
Programul să fie creat în limbajul C cu ajutorul la Prelucrarea tipurilor de date stivă, coadă.
Dau Coroana!!!

Răspunsuri la întrebare

Răspuns de scannedf
1

Răspuns:

#include <stdio.h>

#include <stdlib.h>

#define MAX_ELEVI 100

typedef struct

{

char nume[30];

char prenume[30];

int an_nastere;

} Elev;

typedef struct

{

Elev eleve[MAX_ELEVI];

int prim;

int ultim;

} Coada;

void init_coada(Coada *q)

{

q->prim = 0;

q->ultim = -1;

}

void push_coada(Coada *q, Elev e)

{

if (q->ultim == MAX_ELEVI - 1)

{

printf("Coada este plina!\n");

return;

}

q->ultim++;

q->eleve[q->ultim] = e;

}

Elev pop_coada(Coada *q)

{

if (q->prim > q->ultim)

{

printf("Coada este goala!\n");

exit(1);

}

Elev e = q->eleve[q->prim];

q->prim++;

return e;

}

int main()

{

Coada q;

init_coada(&q);

// Adaugam cateva elevi in coada

Elev e1 = {"Popescu", "Ion", 2000};

Elev e2 = {"Ionescu", "Maria", 2001};

Elev e3 = {"Georgescu", "Alexandra", 2002};

push_coada(&q, e1);

push_coada(&q, e2);

push_coada(&q, e3);

// Afisam elevii din coada

printf("Elevii din coada:\n");

while (q.prim <= q.ultim)

{

Elev e = pop_coada(&q);

printf("%s %s (varsta: %d)\n", e.nume, e.prenume, 2022 - e.an_nastere);

}

return 0;

}

Alte întrebări interesante