Facebook
From Chocolate Crow, 7 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 328
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <list>
  4. #include <string>
  5. #include <fstream>
  6.  
  7. using namespace std;
  8.  
  9. int main() {
  10.         //definicja zmiennych
  11.         list<string> Nazwiska;
  12.         list<string> Imiona;
  13.         list<int> Wieki;
  14.         list<int> Wzrost;
  15.         list<string>::iterator i;
  16.         list<int>::iterator j;
  17.         list<string>::iterator k;
  18.         list<int>::iterator m;
  19.         string NazwiskoTemp;
  20.         string ImieTemp;
  21.         int WiekTemp;
  22.         int WzrostTemp;
  23.         int mode = 1;
  24.         ifstream plikin;
  25.         ofstream plikout;
  26.         string NazwaPliku;
  27.         //koniec definicji zmiennych
  28.  
  29.         while (mode != 6)
  30.         {
  31.                 printf("\nWybierz tryb:\n");
  32.                 printf("1. Dodaj osobe\n");
  33.                 printf("2. Usun osobe\n");
  34.                 printf("3. Wyswietl liste\n");
  35.                 printf("4. Zapisz do pliku\n");
  36.                 printf("5. Wczytaj z pliku\n");
  37.                 printf("6. Wyjscie z programu\n");
  38.  
  39.                 scanf("%d", &mode);
  40.  
  41.                 if (mode == 1)
  42.                 {
  43.                         //dziala
  44.                         printf("Podaj nowe nazwisko:\n");
  45.                         cin >> NazwiskoTemp;
  46.                         Nazwiska.push_back(NazwiskoTemp);
  47.  
  48.                         printf("Podaj nowe Imie:\n");
  49.                         cin >> ImieTemp;
  50.                         Imiona.push_back(ImieTemp);
  51.  
  52.                         printf("Podaj Wiek:\n");
  53.                         cin >> WiekTemp;
  54.                         Wieki.push_back(WiekTemp);
  55.  
  56.                         printf("Podaj Wzrost:\n");
  57.                         cin >> WzrostTemp;
  58.                         Wzrost.push_back(WzrostTemp);
  59.  
  60.                 }
  61.                 else if (mode == 2)
  62.                 {
  63.                         //dziala
  64.                         i = Nazwiska.begin();
  65.                         j = Wieki.begin();
  66.                         k = Imiona.begin();
  67.                         m = Wzrost.begin();
  68.  
  69.                         cout << "Podaj nazwisko do usuniecia:\n";
  70.                         cin >> NazwiskoTemp;
  71.                         while (true)
  72.                         {
  73.                                 if (*i == NazwiskoTemp)
  74.                                 {
  75.                                         Nazwiska.erase(i);
  76.                                         Wieki.erase(j);
  77.                                         Imiona.erase(k);
  78.                                         Wzrost.erase(m);
  79.                                         break;
  80.                                 }
  81.                                 else { ++i; ++j; ++k; ++m; }
  82.                         }
  83.                 }
  84.                 else if (mode == 3)
  85.                 {
  86.                         //dziala
  87.                         for (i = Nazwiska.begin(), j = Wieki.begin(), k = Imiona.begin(), m = Wzrost.begin(); i != Nazwiska.end(); ++i, ++j, ++k, ++m)
  88.                                 cout << "Nazwisko: " << *i << " Imie: " << *k << " Wiek: " << *j << " Wzrost: " << *m << endl;
  89.                 }
  90.                 else if (mode == 4)
  91.                 {
  92.                         printf("\nPodaj nazwe pliku do zapisania(np. plik.txt)\n");
  93.                         cin >> NazwaPliku;
  94.                         plikout.open(NazwaPliku);
  95.                         for (i = Nazwiska.begin(), j = Wieki.begin(), k = Imiona.begin(), m = Wzrost.begin(); i != Nazwiska.end(); ++i, ++j, ++k, ++m)
  96.                         {
  97.                                 if (i != Nazwiska.begin())
  98.                                         plikout << endl << *i << "\t" << *k << "\t" << *j << "\t" << *m;
  99.                                 else
  100.                                         plikout << *i << "\t" << *k << "\t" << *j << "\t" << *m;
  101.                         }
  102.                         plikout.close();
  103.                         cout << endl << "Zapisano do pliku: " << NazwaPliku << endl;
  104.                 }
  105.                 else if (mode == 5)
  106.                 {
  107.                        
  108.                         string line;
  109.                         printf("\nPodaj nazwe pliku do wczytania(np. plik.txt)\n");
  110.                         cin >> NazwaPliku;
  111.                         plikin.open(NazwaPliku);
  112.                         if (plikin.is_open())
  113.                         {
  114.                                 while (plikin.good())
  115.                                 {
  116.                                         plikin >> NazwiskoTemp >> ImieTemp >> WiekTemp >> WzrostTemp;
  117.                                         Nazwiska.push_back(NazwiskoTemp);
  118.                                         Imiona.push_back(ImieTemp);
  119.                                         Wieki.push_back(WiekTemp);
  120.                                         Wzrost.push_back(WzrostTemp);
  121.                                 }
  122.                                 plikin.close();
  123.                         }
  124.                         else printf("\nNie mozna otworzyc pliku");
  125.  
  126.  
  127.  
  128.                 }
  129.                 else printf("\nNierozpoznany tryb operacja.\n");
  130.         }
  131.  
  132.         getchar();
  133.         return 0;
  134. }