Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- #include <stdlib.h>
- #include <string>
- #include <cstdio>
- using namespace std;
- struct Osoba
- {
- string imie;
- string nazwisko;
- string data_urodzenia;
- string wiek;
- string miasto_urodzenia;
- string miasto_zamieszkania;
- };
- void Pytanie(Osoba osoba)
- {
- cout<<"Imie: "<<osoba.imie<<endl;
- cout<<"Nazwisko: "<<osoba.nazwisko<<endl;
- cout<<"Data Urodzenia: "<<osoba.data_urodzenia<<endl;
- cout<<"Wiek: " << osoba.wiek <<endl;
- cout<<"Miejsce Urodzenia: " << osoba.miasto_urodzenia <<endl;
- cout <<"Miejsce Zamieszkania: " << osoba.miasto_zamieszkania << endl;
- cout << endl;
- }
- void wypisz_osoby()
- {
- Osoba osoba;
- vector<Osoba> vector_osoba;
- string linia;
- int nr_linii = 0;
- fstream plik;
- plik.open("in.txt");
- if(plik.is_open() == 1)
- {
- while (getline(plik, linia))
- {
- if(nr_linii > 5)
- nr_linii = 0;
- switch (nr_linii)
- {
- case 0: osoba.imie=linia; break;
- case 1: osoba.nazwisko=linia; break;
- case 2: osoba.data_urodzenia=linia; break;
- case 3: osoba.wiek=linia; break;
- case 4: osoba.miasto_urodzenia=linia; break;
- case 5: osoba.miasto_zamieszkania=linia; break;
- }
- if(nr_linii == 5)
- vector_osoba.push_back(osoba);
- nr_linii++;
- }
- }
- else {
- cout << "Blad! Nie mozna otworzyc pliku!" << endl;
- cin.get();
- exit(1);
- }
- plik.close();
- for(unsigned int i = 0; i < vector_osoba.size(); i++)
- Pytanie(vector_osoba[i]);
- cin.get();
- }
- void dodaj_osobe()
- {
- Osoba osoba;
- cout << "Podaj imie: "; cin>>osoba.imie;
- cout << "Podaj nazwisko: "; cin>>osoba.nazwisko;
- cout << "Podaj date urodzenia: "; cin>>osoba.data_urodzenia;
- cout << "Podaj wiek: "; cin>>osoba.wiek;
- cout << "Podaj miejsce urodzenia: "; cin>>osoba.miasto_urodzenia;
- cout << "Podaj miejsce zamieszkania: "; cin>>osoba.miasto_zamieszkania;
- fstream plik;
- plik.open("in.txt",ios::out | ios::app);
- plik<<osoba.imie<<endl;
- plik<<osoba.nazwisko<<endl;
- plik<<osoba.data_urodzenia<<endl;
- plik<<osoba.wiek<<endl;
- plik<<osoba.miasto_urodzenia<<endl;
- plik<<osoba.miasto_zamieszkania<<endl;
- plik.close();
- }
- unsigned int ileLinii(){
- fstream plik;
- string tekst;
- unsigned int ileLinii=0;
- plik.open("in.txt",ios::in | ios::app);
- if(plik.good()){
- while(!plik.eof()){
- getline(plik,tekst);
- ileLinii++;
- }
- }
- plik.close();
- return ileLinii;
- }
- void przepisz(unsigned int linia, unsigned int ileLinii){
- fstream plik;
- string *temp=new string[ileLinii-6];
- string tekst;
- plik.open("in.txt");
- if (plik.good()==true){
- for(unsigned int i=0;i<ileLinii;i++)
- {
- plik>>tekst;
- if(i<linia || i>linia+6)
- {
- temp[i]=tekst;
- cout<<temp[i]<<endl;
- }
- }
- }
- plik.close();
- remove("in.txt");
- plik.open("in.txt",ios::app);
- if (plik.good()==true){
- for(unsigned i=0;i<ileLinii-6;i++)
- {
- plik<<temp[i];
- plik<<"\n";
- }
- }
- delete [] temp;
- }
- void usun_osobe()
- {
- Osoba osoba;
- unsigned int linia=0;
- string imie, nazwisko, tekst;
- cout << "Podaj imie oraz nazwisko osoby ktora chcesz usunac: "; cin>>imie; cin>>nazwisko;
- cout<<"Szukana osoba to: "<<imie<<" "<<nazwisko<<endl;
- fstream plik;
- plik.open("in.txt",ios::out | ios::in | ios::app);
- if(plik.good()== true){
- while (!plik.eof()){ // Od tego miejsca sprawdza w ktorej linijce wystapilo dane imie oraz nazwisko
- plik>>tekst;
- if (tekst==imie){
- cout<<"Znalazlem imie"<<endl;
- plik>>tekst;
- if(tekst==nazwisko){
- cout<<"Znalazlem nazwisko"<<endl;
- plik.close();
- przepisz(linia,ileLinii());
- return;
- }
- }
- linia++;
- } // Do tego miejsca
- }
- cout<<"Niestety. W bazie danych nie ma osoby o takim imieniu oraz nazwisku!"<<endl;
- plik.close();
- }
- int main()
- {
- int liczba;
- for(;;){
- cout << "Wybierz usluge: \n 1- Wyswietl liste osob \n 2- Dodaj osobe \n 3- Usun osobe \n 4- Wyjdz \nWybrana usluga: ";
- cin >> liczba;
- switch( liczba )
- {
- case 1:
- wypisz_osoby();
- break;
- case 2:
- dodaj_osobe();
- break;
- case 3:
- usun_osobe();
- break;
- case 4:
- return 0;
- }
- system("Pause");
- system("cls");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement