Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cstdlib>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. class Data
  9. {
  10. public:
  11.     int dzien;
  12.     int miesiac;
  13.     int rok;
  14. };
  15.  
  16. enum TypUmowy
  17. {
  18.     stazysta = 0,
  19.     umowaOPrace = 1,
  20.     umowaZlecenie = 2
  21. };
  22.  
  23. enum Region
  24. {
  25.     mazowieckie = 0,
  26.     slaskie = 1,
  27.     wielkopolskie = 2,
  28.     malopolskie = 3,
  29.     dolnoslaskie = 4,
  30.     lodzkie = 5,
  31.     pomorskie = 6,
  32.     lubelskie = 7,
  33.     podkarpackie = 8,
  34.     kujawskoPomorskie = 9,
  35.     zachodnioPomorskie = 10,
  36.     warminskoMazurskie = 11,
  37.     swietokrzyskie = 12,
  38.     podlaskie = 13,
  39.     lubuskie = 14,
  40.     opolskie = 15
  41. };
  42.  
  43. class Przedstawiciel
  44. {
  45. public:
  46.     string imie;
  47.     string nazwisko;
  48.     string login;
  49.     Region wojewodztwo;
  50.     Data okresPracy;
  51. };
  52.  
  53. void OpcjeLogowania() // LOGOWANIE SIE
  54. {
  55.     bool zapetlaj = true;
  56.     string login;
  57.     do
  58.     {
  59.         cout << "Witaj w systemie ECHOS LINE." << endl;
  60.         cout << "Podaj login: ";
  61.         cin >> login;
  62.     } while (zapetlaj);
  63. }
  64.  
  65. void WyswietlWojewodztwa()
  66. {
  67.     cout << "Wybierz wojewodztwo: " << endl;
  68.     cout << "\t0. Mazowieckie" << endl;
  69.     cout << "\t1. Slaskie" << endl;
  70.     cout << "\t2. Wielkopolskie" << endl;
  71.     cout << "\t3. Malopolskie" << endl;
  72.     cout << "\t4. Dolnoslaskie" << endl;
  73.     cout << "\t5. Lodzkie" << endl;
  74.     cout << "\t6. Pomorskie" << endl;
  75.     cout << "\t7. Lubelskie" << endl;
  76.     cout << "\t8. Podkarpackie" << endl;
  77.     cout << "\t9. Kujawsko-pomorskie" << endl;
  78.     cout << "\t10. Zachodniopomorskie" << endl;
  79.     cout << "\t11. Warminsko-mazurskie" << endl;
  80.     cout << "\t12. Swietokrzyskie" << endl;
  81.     cout << "\t13. Podlaskie" << endl;
  82.     cout << "\t14. Lubuskie" << endl;
  83.     cout << "\t15. Opolskie" << endl;
  84. }
  85.  
  86. void UtworzKonto()
  87. {
  88.     Przedstawiciel* konto = new Przedstawiciel();
  89.     Region wojewodztwo;
  90.     int wybor = 0;
  91.     bool zapetlaj = true;
  92.     bool zapetlajWojewodztwo = true;
  93.     bool zapetlajWalidacja = true;
  94.  
  95.     do
  96.     {
  97.         cout << "Witaj w systemie ECHOS LINE - TWORZENIE KONTA." << endl;
  98.         cout << "Podaj imie: ";
  99.         fstream plik;
  100.         plik.open("Przedstawiciele.txt",ios::out | ios::app);
  101.         plik >> konto->imie;
  102.         cout << "Podaj nazwisko: ";
  103.         plik >> konto->nazwisko;
  104.         plik.close();
  105.  
  106.         do
  107.         {
  108.             WyswietlWojewodztwa();
  109.             cout << "Twoj wybor: ";
  110.             cin >> wybor;
  111.  
  112.             if (cin.fail())
  113.             {
  114.                 cout << "\nNieznana opcja." << endl << endl;
  115.                 cin.clear();
  116.                 cin.ignore(1000, '\n');
  117.                 WyswietlWojewodztwa();
  118.                 cout << "Twoj wybor: ";
  119.                 cin >> wybor;
  120.             }
  121.  
  122.             switch (wybor)
  123.             {
  124.                 case 0:
  125.                     konto->wojewodztwo = mazowieckie;
  126.                     zapetlajWojewodztwo = false;
  127.                     break;
  128.                 case 1:
  129.                     konto->wojewodztwo = slaskie;
  130.                     zapetlajWojewodztwo = false;
  131.                     break;
  132.                 case 2:
  133.                     konto->wojewodztwo = wielkopolskie;
  134.                     zapetlajWojewodztwo = false;
  135.                     break;
  136.                 case 3:
  137.                     konto->wojewodztwo = malopolskie;
  138.                     zapetlajWojewodztwo = false;
  139.                     break;
  140.                 case 4:
  141.                     konto->wojewodztwo = dolnoslaskie;
  142.                     zapetlajWojewodztwo = false;
  143.                     break;
  144.                 case 5:
  145.                     konto->wojewodztwo = lodzkie;
  146.                     zapetlajWojewodztwo = false;
  147.                     break;
  148.                 case 6:
  149.                     konto->wojewodztwo = pomorskie;
  150.                     zapetlajWojewodztwo = false;
  151.                     break;
  152.                 case 7:
  153.                     konto->wojewodztwo = lubelskie;
  154.                     zapetlajWojewodztwo = false;
  155.                     break;
  156.                 case 8:
  157.                     konto->wojewodztwo = podkarpackie;
  158.                     zapetlajWojewodztwo = false;
  159.                     break;
  160.                 case 9:
  161.                     konto->wojewodztwo = kujawskoPomorskie;
  162.                     zapetlajWojewodztwo = false;
  163.                     break;
  164.                 case 10:
  165.                     konto->wojewodztwo = zachodnioPomorskie;
  166.                     zapetlajWojewodztwo = false;
  167.                     break;
  168.                 case 11:
  169.                     konto->wojewodztwo = warminskoMazurskie;
  170.                     zapetlajWojewodztwo = false;
  171.                     break;
  172.                 case 12:
  173.                     konto->wojewodztwo = swietokrzyskie;
  174.                     zapetlajWojewodztwo = false;
  175.                     break;
  176.                 case 13:
  177.                     konto->wojewodztwo = podlaskie;
  178.                     zapetlajWojewodztwo = false;
  179.                     break;
  180.                 case 14:
  181.                     konto->wojewodztwo = lubuskie;
  182.                     zapetlajWojewodztwo = false;
  183.                     break;
  184.                 case 15:
  185.                     konto->wojewodztwo = opolskie;
  186.                     zapetlajWojewodztwo = false;
  187.                     break;
  188.                 default:
  189.                     cout << "\nNieznana opcja." << endl << endl;
  190.                     cin.clear();
  191.                     cin.ignore(1000, '\n');
  192.                     break;
  193.             }
  194.         } while (zapetlajWojewodztwo);
  195.  
  196.         cout << "Podaj date rozpoczecia pracy: " << endl;
  197.         cout << "\tPodaj dzien: ";
  198.         cin >> konto->okresPracy.dzien;
  199.  
  200.         do
  201.         {
  202.             if (cin.good())
  203.             {
  204.                 if (konto->okresPracy.dzien < 0 || konto->okresPracy.dzien > 31)
  205.                 {
  206.                     cout << "\nInformacja jest bledna." << endl << endl;
  207.                     cin.clear();
  208.                     cin.ignore(1000, '\n');
  209.                     cout << "Podaj date rozpoczecia pracy: " << endl;
  210.                     cout << "\tPodaj dzien: ";
  211.                     cin >> konto->okresPracy.dzien;
  212.                 }
  213.                 else
  214.                 {
  215.                     zapetlajWalidacja = false;
  216.                     break;
  217.                 }
  218.             }
  219.             else if (cin.fail())
  220.             {
  221.                 cout << "\nInformacja jest bledna." << endl << endl;
  222.                 cin.clear();
  223.                 cin.ignore(1000, '\n');
  224.                 cout << "Podaj date rozpoczecia pracy: " << endl;
  225.                 cout << "\tPodaj dzien: ";
  226.                 cin >> konto->okresPracy.dzien;
  227.             }
  228.         } while (zapetlajWalidacja);
  229.  
  230.         zapetlajWalidacja = true;
  231.         cout << "\tPodaj miesiac: ";
  232.         cin >> konto->okresPracy.miesiac;
  233.  
  234.         do
  235.         {
  236.             if (cin.good())
  237.             {
  238.                 if (konto->okresPracy.miesiac < 1 || konto->okresPracy.miesiac > 12)
  239.                 {
  240.                     cout << "\nInformacja jest bledna." << endl << endl;
  241.                     cin.clear();
  242.                     cin.ignore(1000, '\n');
  243.                     cout << "\tPodaj miesiac: ";
  244.                     cin >> konto->okresPracy.miesiac;
  245.                 }
  246.                 else
  247.                 {
  248.                     zapetlajWalidacja = false;
  249.                     break;
  250.                 }
  251.             }
  252.             else if (cin.fail())
  253.             {
  254.                 cout << "\nInformacja jest bledna." << endl << endl;
  255.                 cin.clear();
  256.                 cin.ignore(1000, '\n');
  257.                 cout << "\tPodaj miesiac: ";
  258.                 cin >> konto->okresPracy.miesiac;
  259.             }
  260.         } while (zapetlajWalidacja);
  261.  
  262.         zapetlajWalidacja = true;
  263.         cout << "\tPodaj rok: ";
  264.         cin >> konto->okresPracy.rok;
  265.  
  266.         do
  267.         {
  268.             if (cin.good())
  269.             {
  270.                 if (konto->okresPracy.rok < 2000 || konto->okresPracy.rok > 2050)
  271.                 {
  272.                     cout << "\nInformacja jest bledna." << endl << endl;
  273.                     cin.clear();
  274.                     cin.ignore(1000, '\n');
  275.                     cout << "\tPodaj rok: ";
  276.                     cin >> konto->okresPracy.rok;
  277.                 }
  278.                 else
  279.                 {
  280.                     zapetlajWalidacja = false;
  281.                     break;
  282.                 }
  283.             }
  284.             else if (cin.fail())
  285.             {
  286.                 cout << "\nInformacja jest bledna." << endl << endl;
  287.                 cin.clear();
  288.                 cin.ignore(1000, '\n');
  289.                 cout << "\tPodaj rok: ";
  290.                 cin >> konto->okresPracy.rok;
  291.             }
  292.         } while (zapetlajWalidacja);
  293.  
  294.         konto->login = konto->imie + konto->nazwisko;
  295.         zapetlaj = false;
  296.         break;
  297.  
  298.     } while (zapetlaj);
  299.  
  300.     ofstream myfile;
  301.         myfile.open ("zapis.txt");
  302.         myfile << konto->imie<<":"<<konto->nazwisko<<":"<<konto->wojewodztwo<<"\n";
  303.         myfile.close();
  304.  
  305.     cout << konto->login;
  306. }
  307.  
  308. int main()
  309. {
  310.     int wybor;
  311.     bool zapetlaj = true;
  312.     do
  313.     {
  314.         cout << "Witaj w systemie ECHOS LINE." << endl;
  315.         cout << "1. Zaloguj sie." << endl;
  316.         cout << "2. Utworz konto." << endl;
  317.         cout << "3. Zakoncz prace z programem." << endl;
  318.         cout << "Twoj wybor to: ";
  319.         cin >> wybor;
  320.         switch (wybor)
  321.         {
  322.             case 1:
  323.                 system("cls");
  324.                 OpcjeLogowania();
  325.                 zapetlaj = false;
  326.                 break;
  327.             case 2:
  328.                 system("cls");
  329.                 UtworzKonto();
  330.                 zapetlaj = false;
  331.                 break;
  332.             case 3:
  333.                 zapetlaj = false;
  334.                 break;
  335.             default:
  336.                 system("cls");
  337.                 cout << "Nieznana opcja." << endl << endl;
  338.                 cin.clear();
  339.                 cin.ignore(1000, '\n');
  340.                 break;
  341.         }
  342.     } while (zapetlaj);
  343.  
  344.     return 0;
  345. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement