• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wczytanie i zapisanie bazy danych z pliku CSV - Jak?

0 głosów
120 wizyt
pytanie zadane 6 maja 2020 w C i C++ przez Morele00 Początkujący (270 p.)

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]);
	}
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
3 odpowiedzi 824 wizyt
pytanie zadane 19 grudnia 2016 w C i C++ przez TheBatman94 Początkujący (450 p.)
0 głosów
1 odpowiedź 60 wizyt
pytanie zadane 21 października 2021 w C i C++ przez Vifuso Nowicjusz (170 p.)
0 głosów
0 odpowiedzi 104 wizyt
pytanie zadane 25 grudnia 2016 w C i C++ przez TheBatman94 Początkujący (450 p.)

86,483 zapytań

135,239 odpowiedzi

300,477 komentarzy

57,229 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...