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 AlbertCucuteanu
0

Răspuns:

#include <iostream>

#include <queue>

#include <time.h>

using namespace std;

struct Date

{

   string nume;

   string prenume;

   int an_nastere;

};

int main()

{

   queue<Date> coada;

 

   Date student1 = {"Popescu", "Mihai", 2000};

   Date student2 = {"Ionescu", "Andrei", 2002};

   Date student3 = {"Radu", "Alexandru", 2001};

 

   coada.push(student1);

   coada.push(student2);

   coada.push(student3);

 

   int varsta;

   time_t t = time(NULL);

   tm* timePtr = localtime(&t);

   int an_curent = timePtr->tm_year + 1900;

 

   cout << "Informatii elevi:" << endl;

   while (!coada.empty()) {

       Date student = coada.front();

       varsta = an_curent - student.an_nastere;

       cout << "Nume: " << student.nume << "\n";

       cout << "Prenume: " << student.prenume << "\n";

       cout << "Varsta: " << varsta << endl;

       coada.pop();

   }

   return 0;

}

Explicație:

În acest cod, am definit o structură numită Date care conține informațiile despre elevi numele, prenumele și anul nașterii. Apoi, am creat trei obiecte de tip Date, care conțin datele despre trei elevi. Aceste obiecte au fost apoi introduse într-o coadă.

În bucla while, în primul rând, am luat primul element din coadă, care reprezintă datele despre un student, și le-am afișat la ecran. Apoi, am calculat vârsta acestuia prin scăderea anului curent din anul de naștere. La sfârșitul buclei, am eliminat elementul din coadă. Această operație se repetă până când coada devine goală.

<time.h> este un header folosit pentru unitati de masurarea al timpului si pentru manipularea datelor iar <queue> este un alt header care tradus inseamna coada, foloseste sistemul FIFO (first in first out) si are functii speciale precum push() care adauga un element la sfarsitul cozii si pop() care extrage primul element din coada.


andrei750238: Raspuns bun, dar se cere rezolvare in C, nu in C++.
Din pacate in C nu ai queue sau string, trebuie implementat manual.
AlbertCucuteanu: imi pare rau am fost obosit aseara si nu am fost atent ca trebuie scris in C, nu stiu exact sa l fac fara queue, ma documntez si mai incerc odata
Alte întrebări interesante