Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <vector>
- using namespace std;
- struct Prezydent {
- string imie;
- string nazwisko;
- unsigned int liczba_glosow;
- };
- vector<Prezydent> wczytajPrezydentow() {
- ifstream plik {"prezydenci.txt"};
- vector<Prezydent> prezydenci {};
- while (plik) {
- Prezydent prezydent{};
- plik >> prezydent.imie;
- plik >> prezydent.nazwisko;
- plik >> prezydent.liczba_glosow;
- if (!prezydent.imie.empty() && !prezydent.nazwisko.empty())
- prezydenci.push_back(prezydent);
- }
- return prezydenci;
- }
- void zapiszPrezydentow(vector<Prezydent> prezydenci) {
- ofstream plik {"prezydenci.txt"};
- for (Prezydent p : prezydenci) {
- plik << p.imie << " " << p.nazwisko << " " << p.liczba_glosow << endl;
- }
- }
- void wyswietlWyniki(vector<Prezydent> prezydenci) {
- for (unsigned int i = 0; i < prezydenci.size(); i++) {
- cout << i+1 << ") " <<
- prezydenci[i].imie << "\t" <<
- prezydenci[i].nazwisko << "\t" <<
- prezydenci[i].liczba_glosow << endl;
- }
- //int wszystkie_glosy[suma];
- }
- void glosowanie() {
- int wybor;
- vector<Prezydent> prezydenci = wczytajPrezydentow();
- wyswietlWyniki(prezydenci);
- unsigned int idPrezydenta = 0;
- while (idPrezydenta == 0 || idPrezydenta >= prezydenci.size() + 1) {
- cout << "Wybor: ";
- cin >> idPrezydenta;
- }
- int suma = 0;
- for (int i = 0; i < prezydenci.size(); i++) {
- suma += prezydenci[i].liczba_glosow;
- }
- Prezydent &p = prezydenci[idPrezydenta-1];
- p.liczba_glosow++;
- cout << "Dodano glos dla prezydenta " << p.imie << " " << p.nazwisko << endl;
- cout << "W sumie oddano " << suma << " glosow"<<endl;
- zapiszPrezydentow(prezydenci);
- cout << "Chcesz oddac ponowny glos?"<<endl;
- cout << "1- Tak" << endl;
- cout << "2- Nie" << endl;
- cout << "Twoj wybor: ";
- cin >> wybor;
- if(wybor == 1){
- glosowanie();
- }
- else {
- float GlosyWProcentach;
- for(int i = 0; i<prezydenci.size(); i++){
- GlosyWProcentach = (prezydenci[i].liczba_glosow / suma )* 100.0;
- cout << "Prezydent " << p.imie << " " << p.nazwisko << " uzyskal " << GlosyWProcentach << " % glosow" << endl;
- }
- }
- }
- unsigned int menu() {
- cout << "Witaj w symulatorze przeprowadzania wyborow prezydenckich" << endl;
- cout << "1 - Zaglosuj" << endl;
- cout << "2 - Wyniki" << endl;
- cout << "3 - Zakoncz program" << endl;
- unsigned int choice;
- while (choice == 0 || choice > 3) {
- cout << "Wybor: ";
- cin >> choice;
- }
- return choice;
- }
- int main() {
- switch (menu()) {
- case 1:
- cout << "Wybrales glosowanie" << endl;
- glosowanie();
- break;
- case 2:
- cout << "Wyswietlanie wynikow" << endl;
- wyswietlWyniki(wczytajPrezydentow());
- break;
- case 3:
- cout << "Wybrales koniec programu" << endl;
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement