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
#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;
}