• 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?

Object Storage Arubacloud
0 głosów
316 wizyt
pytanie zadane 6 maja 2020 w C i C++ przez niezalogowany

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 991 wizyt
pytanie zadane 19 grudnia 2016 w C i C++ przez TheBatman94 Początkujący (450 p.)
0 głosów
1 odpowiedź 263 wizyt
pytanie zadane 21 października 2021 w C i C++ przez Vifuso Nowicjusz (170 p.)
0 głosów
0 odpowiedzi 137 wizyt
pytanie zadane 25 grudnia 2016 w C i C++ przez TheBatman94 Początkujący (450 p.)

92,566 zapytań

141,420 odpowiedzi

319,615 komentarzy

61,952 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...