Witam! Mam następujący problem - mam za zadanie zmodyfikować program (program poniżej), tak aby możliwe było wczytanie i zapisanie bazy danych pracowników z pliku CSV. Operacje te powinny być możliwe w dowolnym momencie działania programu. Niestety, nigdy nie mieliśmy omówione w jaki sposób wczytuje i zapisuje się cokolwiek z jakiegokolwiek pliku. Profesor nie podesłał nam żadnych materiałów. Próbowałam sama znaleźć te informacje lecz dość bezskutecznie, większość odnosiła się do konkretnych programów innych osób, co nic mi nie mówiło. Bardzo proszę o pomoc i wytłumaczenie w jaki sposób robi się to wczytanie i zapisanie oraz jak w tym przypadku powinnam zmodyfikować poprawnie mój kod.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct DaneOsobowe
{
string Imie;
string Nazwisko;
int PESEL;
float wynagrodzenie_styczen;
float wynagrodzenie_luty;
float wynagrodzenie_marzec;
float wynagrodzenie_kwiecien;
float wynagrodzenie_maj;
float wynagrodzenie_czerwiec;
float wynagrodzenie_lipiec;
float wynagrodzenie_sierpien;
float wynagrodzenie_wrzesien;
float wynagrodzenie_pazdziernik;
float wynagrodzenie_listopad;
float wynagrodzenie_grudzien;
float Srednia;
};
void Wczytaj(DaneOsobowe& Pracownik)
{
cout << "Podaj imie - ";
cin >> Pracownik.Imie;
cout << "Podaj nazwisko - ";
cin >> Pracownik.Nazwisko;
cout << "Podaj PESEL - ";
cin >> Pracownik.PESEL;
cout << "Podaj wysokosc wynagrodzenia w styczniu - ";
cin >> Pracownik.wynagrodzenie_styczen;
cout << "Podaj wysokosc wynagrodzenia w lutym - ";
cin >> Pracownik.wynagrodzenie_luty;
cout << "Podaj wysokosc wynagrodzenia w marcu - ";
cin >> Pracownik.wynagrodzenie_marzec;
cout << "Podaj wysokosc wynagrodzenia w kwietniu - ";
cin >> Pracownik.wynagrodzenie_kwiecien;
cout << "Podaj wysokosc wynagrodzenia w maju - ";
cin >> Pracownik.wynagrodzenie_maj;
cout << "Podaj wysokosc wynagrodzenia w czerwcu - ";
cin >> Pracownik.wynagrodzenie_czerwiec;
cout << "Podaj wysokosc wynagrodzenia w lipcu - ";
cin >> Pracownik.wynagrodzenie_lipiec;
cout << "Podaj wysokosc wynagrodzenia w sierpniu - ";
cin >> Pracownik.wynagrodzenie_sierpien;
cout << "Podaj wysokosc wynagrodzenia we wrzesniu - ";
cin >> Pracownik.wynagrodzenie_wrzesien;
cout << "Podaj wysokosc wynagrodzenia w pazdzierniku - ";
cin >> Pracownik.wynagrodzenie_pazdziernik;
cout << "Podaj wysokosc wynagrodzenia w listopadzie - ";
cin >> Pracownik.wynagrodzenie_listopad;
cout << "Podaj wysokosc wynagrodzenia w grudniu - ";
cin >> Pracownik.wynagrodzenie_grudzien;
Pracownik.Srednia = (Pracownik.wynagrodzenie_styczen + Pracownik.wynagrodzenie_luty + Pracownik.wynagrodzenie_marzec + Pracownik.wynagrodzenie_kwiecien + Pracownik.wynagrodzenie_maj + Pracownik.wynagrodzenie_czerwiec + Pracownik.wynagrodzenie_lipiec + Pracownik.wynagrodzenie_sierpien + Pracownik.wynagrodzenie_wrzesien + Pracownik.wynagrodzenie_pazdziernik + Pracownik.wynagrodzenie_listopad + Pracownik.wynagrodzenie_grudzien) / 12;
}
void Wyswietl(DaneOsobowe& Pracownik)
{
cout << endl << endl << "Dane pracownika: " << endl;
cout << Pracownik.Imie << " " << Pracownik.Nazwisko << endl;
cout << "PESEL: " << Pracownik.PESEL << endl << endl;
cout << "Wynagrodzenie:" << endl;
cout << "Styczen - " << Pracownik.wynagrodzenie_styczen << endl;
cout << "Luty - " << Pracownik.wynagrodzenie_luty << endl;
cout << "Marzec - " << Pracownik.wynagrodzenie_marzec << endl;
cout << "Kwiecien - " << Pracownik.wynagrodzenie_kwiecien << endl;
cout << "Maj - " << Pracownik.wynagrodzenie_maj << endl;
cout << "Czerwiec - " << Pracownik.wynagrodzenie_czerwiec << endl;
cout << "Lipiec - " << Pracownik.wynagrodzenie_lipiec << endl;
cout << "Sierpien - " << Pracownik.wynagrodzenie_sierpien << endl;
cout << "Wrzesien - " << Pracownik.wynagrodzenie_wrzesien << endl;
cout << "Pazdziernik - " << Pracownik.wynagrodzenie_pazdziernik << endl;
cout << "Liestopad - " << Pracownik.wynagrodzenie_listopad << endl;
cout << "Grudzien - " << Pracownik.wynagrodzenie_grudzien << endl << endl;
cout << "Srednia wysokosc wynagrodzenia za rok - " << Pracownik.Srednia << endl;
}
int main()
{
DaneOsobowe Pracownik;
vector <DaneOsobowe> Firma;
for (int i = 0; i < 5; i++)
{
Firma.push_back(Pracownik);
Wczytaj(Firma[i]);
cout << endl;
}
for (int i = 0; i < 5; i++)
{
Wyswietl(Firma[i]);
}
}