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

struct Data {int zi; char luna[11]; int an;};
struct Angajat {char nume[20], prenume[20]; Data data_a; } x,y;
a) să se afişeze angajaţii x şi y în ordinea angajării
b) să se afişeze angajaţii x şi y în ordine alfabetică a numelui şi prenumelui

Răspunsuri la întrebare

Răspuns de lucaciucandrei
0

#include <iostream>

using namespace std:

struct Data {

int zi;

char luna[11];

int an;

};

struct Angajat {

char nume[20], prenume[20];

Data data_a;

} x,y;

int main() {

//a

cout<<"a"<<endl;

if (x.data_a.an==y.data_a.an)

if (x.data_a.luna==y.data_a.luna)

if (x.data_a.zi==y.data_a.zi)

cout<<x.nume<<' 'x.prenume<<endl<<y.nume<<' '<<y.prenume;

else

if (x.data_a.zi>y.data_a.zi)

cout<<x.nume<<' 'x.prenume<<endl<<y.nume<<' '<<y.prenume;

else

cout<<y.nume<<' 'y.prenume<<endl<<x.nume<<' '<<x.prenume;

else

if (x.data_a.luna>y.data_a.luna)

cout<<x.nume<<' 'x.prenume<<endl<<y.nume<<' '<<y.prenume;

else

cout<<y.nume<<' 'y.prenume<<endl<<x.nume<<' '<<x.prenume;

else

if (x.data_a.an>y.data_a.an)

cout<<x.nume<<' 'x.prenume<<endl<<y.nume<<' '<<y.prenume;

else

cout<<y.nume<<' 'y.prenume<<endl<<x.nume<<' '<<x.prenume;

cout<<endl<<endl<<endl<<"b)"<<endl;

//b

int i, z:

if (strcmp(x.nume, y.nume)!=NULL) {

if (strlen(x.nume)>strlen(y.nume)) z=strlen(x

nume);

else z=strlen(y.nume);

for (i=0; i<z;)

if (x.nume[i]==y.nume[i]) i++;

else if (x.nume[i]>y.nume[i]) cout<<x.nume<<' 'x.prenume<<endl<<y.nume<<' '<<y.prenume;

else cout<<y.nume<<' 'y.prenume<<endl<<x.nume<<' '<<x.prenume; break;

}

else {

if (strcmp(x.prenume, y.prenume)!=NULL)

if (strlen(x.prenume)>strlen(y.prenume)) z=strlen(x

prenume);

else z=strlen(y.prenume);

for (i=0; i<z;)

if (x.prenume[i]==y.prenume[i]) i++;

else if (x.prenume[i]>y.prenume[i]) cout<<x.nume<<' 'x.prenume<<endl<<y.nume<<' '<<y.prenume;

else cout<<y.nume<<' 'y.prenume<<endl<<x.nume<<' '<<x.prenume; break;

}

return 0;

}

Alte întrebări interesante