Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "stdafx.h"
- #include <iostream>
- #include <conio.h>
- #include <string>
- #include <fstream>
- #include <time.h>
- #include <cstdlib>
- using namespace std;
- struct osoba
- {
- string imie, nazwisko, ulica, numer, kod, miejscowosc, kraj;
- };
- short ilosc_osob; // zmienna ilosci osob
- short ile_razy_otwarty; // zmienna ilosci otwarc programu
- osoba tablica_osob[100]; //tablica struktur
- void Dodaj();
- void Zobacz();
- void Zapisz();
- void Wczytaj();
- void Usun();
- void Edytuj();
- void Sortuj();
- int main()
- {
- cout << " BAZA DANYCH" << endl;
- cout << "\n\n\n";
- char wybor;
- Wczytaj();
- ile_razy_otwarty++;
- cout << "Program otwarto " << ile_razy_otwarty << " raz" << endl;
- do
- {
- cout << "\n\n\n";
- cout << "Osob w bazie: " << ilosc_osob << endl;
- cout << "\n\n";
- cout << "Wybierz co chesz zrobic:" << endl;
- cout << "1. Dodaj osobe " << endl;
- cout << "2. Zobacz wszystkie osoby " << endl;
- cout << "3. Usun osobe " << endl;
- cout << "4. Edytuj osobe " << endl;
- cout << "5. Sortuj dane " << endl;
- cout << "ESC koniec dzialania programu" << endl;
- wybor = _getch();
- switch (wybor)
- {
- case 49: Dodaj();
- break;
- case 50: Zobacz();
- break;
- case 51: Usun();
- break;
- case 52: Edytuj();
- break;
- case 53: Sortuj();
- break;
- }
- } while (wybor != 27);
- Zapisz();
- return 0;
- // system("pause");
- } // koniec main
- void Wczytaj()
- {
- ifstream plik("osoba.txt", ios::in);
- plik >> ile_razy_otwarty;
- plik >> ilosc_osob;
- short j = 0;
- string temp;
- do
- {
- getline(plik, temp);
- while (temp == " " || temp == "" && !plik.eof()) {
- getline(plik, temp);
- }
- tablica_osob[j].imie = temp;
- getline(plik, tablica_osob[j].nazwisko);
- getline(plik, tablica_osob[j].ulica);
- getline(plik, tablica_osob[j].numer);
- getline(plik, tablica_osob[j].kod);
- getline(plik, tablica_osob[j].miejscowosc);
- getline(plik, tablica_osob[j].kraj);
- j++;
- } while (!plik.eof());
- }
- void Zapisz()
- {
- ofstream plik("osoba.txt", ios::out | ios::trunc);
- plik << ile_razy_otwarty << "\n";
- plik << ilosc_osob << "\n";
- for (short j = 0; j < ilosc_osob; j++)
- {
- plik << " " << endl;
- plik << tablica_osob[j].imie << endl;
- plik << tablica_osob[j].nazwisko << endl;
- plik << tablica_osob[j].ulica << endl;
- plik << tablica_osob[j].numer << endl;
- plik << tablica_osob[j].kod << endl;
- plik << tablica_osob[j].miejscowosc << endl;
- plik << tablica_osob[j].kraj << endl;
- }
- }
- void Dodaj()
- {
- cout << "Imie: \n";
- //cin >> tablica_osob[ilosc_osob].imie;
- getline(cin, tablica_osob[ilosc_osob].imie);
- cout << "Nazwisko: \n";
- //cin >> tablica_osob[ilosc_osob].nazwisko;
- getline(cin, tablica_osob[ilosc_osob].nazwisko);
- cout << "Ulica: \n";
- //cin >> tablica_osob[ilosc_osob].ulica;
- getline(cin, tablica_osob[ilosc_osob].ulica);
- cout << "Numer domu: \n";
- //cin >> tablica_osob[ilosc_osob].numer;
- getline(cin, tablica_osob[ilosc_osob].numer);
- cout << "Kod pocztowy: \n";
- //cin >> tablica_osob[ilosc_osob].kod;
- getline(cin, tablica_osob[ilosc_osob].kod);
- cout << "Miejscowosc: \n";
- //cin >> tablica_osob[ilosc_osob].miejscowosc;
- getline(cin, tablica_osob[ilosc_osob].miejscowosc);
- cout << "Kraj: \n";
- //cin >> tablica_osob[ilosc_osob].kraj;
- getline(cin, tablica_osob[ilosc_osob].kraj);
- cin.ignore();
- ilosc_osob++;
- Zapisz();
- cout << "Dodano i zapisano" << endl;
- }
- void Zobacz()
- {
- if (ilosc_osob != 0) // i>0
- {
- for (short j = 0; j < ilosc_osob; j++) //kolejne zmienne
- {
- cout << " " << endl;
- cout << " Osoba nr " << j + 1 << ": " << endl;
- cout << " Imie: " << tablica_osob[j].imie << endl;
- cout << " Nazwisko: " << tablica_osob[j].nazwisko << endl;
- cout << " Ulica: " << tablica_osob[j].ulica << endl;
- cout << " Numer domu: " << tablica_osob[j].numer << endl;
- cout << " Kod pocztowy: " << tablica_osob[j].kod << endl;
- cout << " Miejscowosc: " << tablica_osob[j].miejscowosc << endl;
- cout << " Kraj: " << tablica_osob[j].kraj << endl;
- cout << " " << endl;
- }
- }
- else
- cout << "Nie ma zadnych osob w bazie!";
- }
- void Usun()
- {
- short kogo;
- if (ilosc_osob != 0)
- {
- cout << "Podaj numer osoby ktora chcesz usunac: ";
- cin >> kogo;
- cin.ignore();
- if (kogo > ilosc_osob)
- cout << "Brak osoby o takim numerze";
- else
- {
- for (short k = kogo; k < ilosc_osob; k++)
- {
- tablica_osob[k - 1].imie = tablica_osob[k].imie;
- tablica_osob[k - 1].nazwisko = tablica_osob[k].nazwisko;
- tablica_osob[k - 1].ulica = tablica_osob[k].ulica;
- tablica_osob[k - 1].numer = tablica_osob[k].numer;
- tablica_osob[k - 1].kod = tablica_osob[k].kod;
- tablica_osob[k - 1].miejscowosc = tablica_osob[k].miejscowosc;
- tablica_osob[k - 1].kraj = tablica_osob[k].kraj;
- }
- ilosc_osob--;
- cout << "Osoba o numerze " << kogo << " zostala usunieta!";
- cout << " " << endl;
- Zapisz();
- }
- }
- else
- {
- cout << "Brak osoby w bazie!! Wcisnij ENTER!";
- }
- }
- void Edytuj()
- {
- int kogo;
- if (ilosc_osob != 0)
- {
- cout << "Podaj numer osoby ktora chcesz edytowac: ";
- cin >> kogo;
- cin.ignore();
- if (kogo > ilosc_osob)
- cout << "Brak osoby o takim numerze";
- else
- {
- cout << " " << endl;
- cout << "Podaj imie osoby: \n";
- cin >> tablica_osob[kogo - 1].imie;
- cout << "Podaj nazwisko osoby: \n";
- cin >> tablica_osob[kogo - 1].nazwisko;
- cout << "Podaj ulice: \n";
- cin >> tablica_osob[kogo - 1].ulica;
- cout << "Podaj numer domu: \n";
- cin >> tablica_osob[kogo - 1].numer;
- cout << "Podaj kod pocztowy: \n";
- cin >> tablica_osob[kogo - 1].kod;
- cout << "Podaj miejscowosc: \n";
- cin >> tablica_osob[kogo - 1].miejscowosc;
- cout << "Podaj kraj: \n";
- cin >> tablica_osob[kogo - 1].kraj;
- cout << "Osoba o numerze " << kogo << " zostala zedytowana!";
- cout << " " << endl;
- Zapisz();
- }
- }
- else
- {
- cout << "Nie ma tej osoby w bazie!! Wcisnij ENTER!";
- }
- }
- void Sortuj()
- {
- Wczytaj();
- cout << " \n \n \n";
- cout << "Wybierz kryterium sortowania" << endl;
- cout << "61. Imie" << endl;
- cout << "62. Nazwisko" << endl;
- cout << "63. Ulica" << endl;
- cout << "64. Numer domu" << endl;
- cout << "65. Kod pocztowy" << endl;
- cout << "66. Miejscowosc" << endl;
- cout << "67. Kraj" << endl;
- int pytanie1;
- cin >> pytanie1;
- int a, b;
- string string_a, string_b;
- osoba t;
- for (a = ilosc_osob - 2; a >= 0; a--)
- {
- for (b = 0; b <= a; b++)
- {
- if (pytanie1 == 61) string_a = tablica_osob[b].imie, string_b = tablica_osob[b + 1].imie;
- else if (pytanie1 == 62) string_a = tablica_osob[b].nazwisko, string_b = tablica_osob[b + 1].nazwisko;
- else if (pytanie1 == 63) string_a = tablica_osob[b].ulica, string_b = tablica_osob[b + 1].ulica;
- else if (pytanie1 == 64) string_a = tablica_osob[b].numer, string_b = tablica_osob[b + 1].numer;
- else if (pytanie1 == 65) string_a = tablica_osob[b].kod, string_b = tablica_osob[b + 1].kod;
- else if (pytanie1 == 66) string_a = tablica_osob[b].miejscowosc, string_b = tablica_osob[b + 1].miejscowosc;
- else if (pytanie1 == 67) string_a = tablica_osob[b].kraj, string_b = tablica_osob[b + 1].kraj;
- if (string_a>string_b)
- {
- t = tablica_osob[b];
- tablica_osob[b] = tablica_osob[b + 1];
- tablica_osob[b + 1] = t;
- }
- }
- // sortowanie babelkowe
- Zapisz();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment