Witam,
Jestem początkującym programistą i piszę programik o pracownikach. Program pyta o imię, nazwisko, pesel, wynagrodzenie (miesięczne) i oblicza wynagrodzenie roczne. Następnie wykonywany jest system("CLS") i pokazuje takie ala podsumowanie wszystkich pracowników. Chciałbym dodać również kto najwięcej zarabia. Potrafię jedynie za pomocą sortowania bąbelkowego wyznaczyć kwotę, jaką zarabia ów pracownik. Jak można wraz z kwotą ustalić imię i nazwisko najwięcej zarabiającego pracownika?
Podkreślę, iż podobne pytanie już padło, lecz nie została udzielona odpowiedź.
Przedstawiam mój kod, miejsce w którym mam problem wyznaczyłem poprzez "???" wyświetlając na ekran.:
#include <iostream>
#include <string>
using namespace std;
struct pracownicy
{
struct dane_os
{
string imie;
string nazwisko;
};
dane_os dane;
int pesel;
int wynagrodzenie;
int roczne;
};
pracownicy drukuj(pracownicy worker[], int n);
pracownicy wpis(pracownicy worker[] ,int n);
int main()
{
int ilosc;
cout << "Podaj ilosc pracownikow firmy: ";
cin >> ilosc;
pracownicy firma[ilosc];
wpis(firma, ilosc);
cout << endl;
system("PAUSE");
cin.ignore();
getchar();
return 0;
}
pracownicy drukuj(pracownicy worker[], int n)
{
pracownicy program;
system("CLS");
cout << "Pracownicy firmy: \n\n";
for(int i=0; i<n; i++)
{
cout << "***********************\n";
cout << "*\n";
cout << "* Imie: " << worker[i].dane.imie << endl;
cout << "* Nazwisko: " << worker[i].dane.nazwisko << endl;
cout << "* Pesel: " << worker[i].pesel << endl;
cout << "* Wynagrodzenie: " << worker[i].wynagrodzenie << endl;
cout << "* Roczny zarobek: " << worker[i].wynagrodzenie*12 << endl;
cout << "*\n";
}
cout << "***********************\n";
for(int c=0; c<n-1; c++)
{
for(int k=c+1; k<n; k++)
{
int bufor;
if(worker[c].wynagrodzenie < worker[k].wynagrodzenie)
{
bufor=worker[c].wynagrodzenie;
worker[c].wynagrodzenie = worker[k].wynagrodzenie;
worker[k].wynagrodzenie = bufor;
}
}
}
int highest = worker[0].wynagrodzenie*12;
cout << "\nNajwiecej zarabiajacy pracownik: " << "(???)" << ", " << highest << endl << endl;
return program;
}
pracownicy wpis(pracownicy worker[] ,int n)
{
pracownicy program;
worker[n];
for(int i=0; i < n; i++)
{
cout << "\nImie: ";
cin.ignore();
getline(cin, worker[i].dane.imie);
cout << "Nazwisko: ";
getline(cin, worker[i].dane.nazwisko);
cout << "Pesel: ";
cin >> worker[i].pesel;
cout << "Wynagrodzenie: ";
cin >> worker[i].wynagrodzenie;
cout << "Roczny zarobek: " << worker[i].wynagrodzenie*12 << endl << endl;
}
cout << endl << endl;
system("PAUSE");
drukuj(worker, n);
return program;
}
Z góry dziękuję i pozdrawiam wszystkich forumowiczów!