Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <conio.h>
- #include <iostream>
- #include <string>
- #include <fstream>
- using namespace std;
- int i;
- struct pracownicy_restauracji //tworzę strukture, która przechowuje informacje
- {
- string stanowisko;
- string imie;
- string nazwisko;
- string wiek;
- string zarobki;
- } dane[75];
- void Wczytaj() //funkcja która wczytuje dane z zapisanego pliku
- {
- fstream plik;
- plik.open("plik.txt", ios::in);
- plik >> i;
- if (plik.good()==false) //sprawdzam czy plik istnieje
- {
- cout << "\nBrak pliku - koniec";
- system("pause");
- }
- else
- {
- int k = 0; //wprowadzam zmienną pomocniczą,
- //dzięki której pracownicy i ich dane zostaną wyświetleni w odpowiedniej kolejności
- do
- {
- plik >> dane[k].stanowisko;
- plik >> dane[k].imie;
- plik >> dane[k].nazwisko;
- plik >> dane[k].wiek;
- plik >> dane[k].zarobki;
- k++;
- } while (plik.good()==true);
- plik.close();
- cout << "\nDane wczytane pomyslnie";
- getchar();
- }
- }
- void Dodaj() //funkcja która wprowadza nowego pracownika do bazy danych
- {
- system("cls"); //polecenie wyczyszczające ekran
- cout << "\nStanowisko: ";
- cin >> dane[i].stanowisko;
- cout << "\nImie: ";
- cin >> dane[i].imie;
- cout << "\nNazwisko: ";
- cin >> dane[i].nazwisko;
- cout << "\nWiek: ";
- cin >> dane[i].wiek;
- cout << "\nZarobki: ";
- cin >> dane[i].zarobki;
- i++;
- getchar();
- }
- void Zapisz() //funkcja zapisująca dane do pliku
- {
- fstream plik;
- plik.open("plik.txt", ios::out | ios::app); //utworzenie pliku "plik.txt'
- //do którego będą zapisywane dane
- plik << i;
- for (int k = 0; k < i; k++) //pętla zapisująca dane w odpowiedniej kolejności
- {
- plik << dane[k].stanowisko << "\n";
- plik << dane[k].imie << "\n";
- plik << dane[k].nazwisko << "\n";
- plik << dane[k].wiek << "\n";
- plik << dane[k].zarobki << "\n";
- }
- plik.close();
- system("cls");
- cout << "\nDane zapisane pomyslnie\n";
- system("pause");
- }
- void Edycja() //funkcja do edytowania zapisanych pracownikow
- {
- int z;
- if (i != 0) //sprawdzenie czy jacyś pracownicy już zostali wprowadzeni do bazy danych
- {
- system("cls");
- cout << "\nPodaj numer zapisu przeznaczonego do edycji:\t ";
- cin >> z;
- z = z - 1;
- if (z<0 || z > i) //jeśli wprowadzimy zły indeks pracownika program poinformuje
- //nas o błędzie
- {
- system("cls");
- cout << "\nBlad - brak danych\n";
- system("pause");
- }
- else
- {
- system("cls");
- cout << "\nPodaj stanowisko nowego pracownika:\t\n";
- cin >> dane[z].stanowisko;
- cout << "\nPodaj imie pracownika:\t";
- cin >> dane[z].imie;
- cout << "\nPodaj nazwisko pracownika:\t";
- cin >> dane[z].nazwisko;
- cout << "\nPodaj wiek pracownika:\t";
- cin >> dane[z].wiek;
- cout << "\nPodaj zarobki pracownika:\t";
- cin >> dane[z].zarobki;
- cout << "\nDane zmienione pomyslnie\n";
- getchar();
- Zapisz(); //program zastąpi stare dane nowymi
- }
- }
- else
- {
- system("cls");
- cout << "\nBlad - nie ma takiego zapisu w bazie\n";
- system("pause");
- }
- }
- void Usun() //funkcja która usuwa wybranego pracownika z bazy danych
- {
- int z;
- cout << "\nPodaj numer zapisu ktory chcesz usunac:\t ";
- cin >> z;
- z = z - 1;
- if (i != 0)
- {
- if (z > i)
- {
- cout << "\nBlad - nie ma takiego zapisu w bazie\n";
- getchar();
- }
- else
- {
- for (int k = z; k < i; k++)// pętla która porządkuje indeksy pozostałych pracowników
- {
- dane[k].stanowisko = dane[k + 1].stanowisko;
- dane[k].imie = dane[k + 1].imie;
- dane[k].nazwisko = dane[k + 1].nazwisko;
- dane[k].wiek = dane[k + 1].wiek;
- dane[k].zarobki = dane[k + 1].zarobki;
- }
- i--;
- system("cls");
- cout << "\nDane usuniete pomyslnie\n";
- getchar();
- Zapisz();
- }
- }
- else
- {
- cout << "\nBlad - nie ma takiego zapisu w bazie\n";
- getchar();
- }
- }
- void Baza()//funkcja która wyświetla aktualną listę zapisanych pracowników
- {
- int k;
- system("cls");
- if (i != 0)
- {
- for (k = 0; k < i; k++)
- {
- cout << "Stanowisko:\t " << dane[k].stanowisko;
- cout << "\nImie:\t " << dane[k].imie;
- cout << "\nNazwisko:\t " << dane[k].nazwisko;
- cout << "\nWiek:\t " << dane[k].wiek;
- cout << "\nZarobki:\t" << dane[k].zarobki << " zl\n";
- }
- }
- else
- cout << "\nBlad - nie ma zapisu w bazie\n";
- system("pause");
- }
- int main() //główna funkcja która łączy wszystkie pozostałe w jedną całość
- {
- int a; //zmienne pomocnicze
- int x;
- cout << "Dane: "; //ekran główny po włączeniu programu
- cout << "\n1. Wczytanie danych z pliku.txt";
- cout << "\n2. Utworzenie nowego pliku danych ";
- cout << "\n0. Zakoncz program";
- cout << "\nPodaj nr opcji: ";
- cin >> x;
- if (x == 1)
- {
- Wczytaj();
- getchar();
- system("cls");
- do
- {
- cout << "\n1. Dodaj nowe dane";
- cout << "\n2. Zapis danych";
- cout << "\n3. Edycja danych";
- cout << "\n4. Usun wpis z bazy";
- cout << "\n5. Odtworz zawartosc bazy danych";
- cout << "\n6. Wyszukaj po stanowisku";
- cout << "\n0. Zakoncz program ";
- cout << "\nOpcja nr: ";
- cin >> a;
- if (a > 6 || a < 0) //warunek który kończy pracę programu jeśli użytkownik
- //wybierze nieistniejącą opcję
- {
- system("cls");
- cout << "\nBlad danych - koniec\n";
- system("pause");
- return 0;
- };
- switch (a)//funkcja switch wykonuje opcję wprowadzoną przez użytkownika
- {
- case 0: cout << "program zakonczony\n";
- system("pause");
- return 0;
- break;
- case 1: Dodaj();
- break;
- case 2: Zapisz();
- break;
- case 3: Edycja();
- break;
- case 4: Usun();
- break;
- case 5: Baza();
- break;
- }
- system("cls");
- } while (a != 0);
- }
- if (x == 2) {
- system("cls");
- do
- {
- cout << "\n1. Dodaj nowe dane";
- cout << "\n2. Zapis danych";
- cout << "\n3. Edycja danych";
- cout << "\n4. Usun wpis z bazy";
- cout << "\n5. Odtworz zawartosc bazy danych";
- cout << "\n0. Zakoncz program ";
- cout << "\nOpcja nr: ";
- cin >> a;
- if (a > 5 || a < 0)
- {
- system("cls");
- cout << "\nBlad danych - koniec\n";
- system("pause");
- return 0;
- };
- switch (a)
- {
- case 0: cout << "program zakonczony\n";
- system("pause");
- return 0;
- break;
- case 1: Dodaj();
- break;
- case 2: Zapisz();
- break;
- case 3: Edycja();
- break;
- case 4: Usun();
- break;
- case 5: Baza();
- break;
- }
- system("cls");
- } while (a != 0);
- }
- if (x == 0) //po wybraniu opcji 0 program kończy pracę
- {
- cout << "Program zakonczony\n";
- system("pause");
- return 0;
- }
- if (x < 0 || x>2) //warunek który poprawi użytkownika jeśli wybierze nieistniejącą opcję
- {
- getchar();
- cout << "Podano zla liczbe, prosze wybrac liczbe z zakresu <0,2> \n";
- cout << "Nacisnij dowolny klawisz aby powtorzyc operacje";
- getchar();
- system("cls");
- main();
- }
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement