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

3. se citesc datele angajaților unei firme: nume, prenume, data nașterii data angajării, funcția, telefon, salariu. La citire efectuați validările necesare pentru ca datele sa fie corecte.
4. Sa se afișeze angajații în ordinea alfabetica a funcției. iar în cadrul aceleiași funcții în ordinea descrescătoare a salariului.​

Răspunsuri la întrebare

Răspuns de lucaciucandrei
1

#include <iostream>

#include <fstream>

#include <cstring>

using namespace std;

struct firma {

char nume[51], prenume[51], data[12], functie[51], telefon[21];

float salariu;

} angajati[101];

int main() {

int i=1;

ifstream f("date.txt");

while (!(f.eof())) {

char text[10001]="";

f.getline(text, 10001);

char *p=strtok(text, ",");

strcpy(angajati[i].nume, p);

p=strtok(NULL, ",");

strcpy(angajati[i].prenume, p);

p=strtok(NULL, ",");

strcpy(angajati[i].data, p);

p=strtok(NULL, ",");

strcpy(angajati[i].functie, p);

p=strtok(NULL, ",");

strcpy(angajati[i].telefon, p);

p=strtok(NULL, ",");

angajati[i].salariu=atof(p);

i++;

}

for (int x=1; x<=i-1; x++)

for (int y=x+1; y<=i; y++)

if (angajati[x].salariu<angajati[y].salariu) swap(angajati[x], angajati[y]);

for (int z=1; z<=i; z++)

cout<<angajati[x].nume<<","<<angajati[x].prenume<<","<<angajati[x].data<<","<<angajati[x].functie<<","<<angajati[x].telefon<<","<<angajati[x].salariu<<endl;

return 0;

}

Alte întrebări interesante