Advertisement
Garey

test

Dec 13th, 2017
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.16 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. struct Kola{
  8.     string nomer;
  9.     string marka;
  10.     int godina;
  11.     double cena;
  12. };
  13.  
  14. void vuvejdane(Kola [], int &);
  15. void sled_godina_podredeni_po_godina(Kola [], int &);
  16. void zadadeni_marka_i_godina(Kola [], int &);
  17.  
  18. int main() {
  19.     int izbor, n;
  20.  
  21.     Kola koli[40];
  22.  
  23.     do {
  24.         cout << "Menu: \n";
  25.         cout << "1. Vuvejdane vuv masiv i fail\n";
  26.         cout << "2. Izvedi koli sled godina podredeni po godina\n";
  27.         cout << "3. Izvedi koli po zadadena marka i godina\n\n";
  28.         cout << "4. Exit\n";
  29.  
  30.         cout << "Tvoqt izbor: ";
  31.         cin >> izbor;
  32.        
  33.         switch (izbor) {
  34.             case 1:
  35.                 vuvejdane(koli, n);
  36.                 break;
  37.             case 2:
  38.                 sled_godina_podredeni_po_godina(koli, n);
  39.                 break;
  40.             case 3:
  41.                 zadadeni_marka_i_godina(koli, n);
  42.                 break;
  43.         }
  44.  
  45.     } while (izbor != 4);
  46.    
  47.     return 0;
  48. }
  49.  
  50. void vuvejdane(Kola kola[], int &n) {
  51.     fstream fail;
  52.  
  53.     fail.open("koli.dat", ios::binary | ios::out);
  54.  
  55.     cout << "Vuvedi broi koli: ";
  56.     cin >> n;
  57.  
  58.     for (int i = 0; i < n; i++) {
  59.         cout << "Vuvedi nomer na kolata: ";
  60.         cin >> kola[i].nomer;
  61.         cin.ignore();
  62.         cout << "Vuvedi marka na kolata: ";
  63.         cin >> kola[i].marka;
  64.         cout << "Vuvedi godina na proizvodstvo: ";
  65.         cin >> kola[i].godina;
  66.         cout << "Vuvedi cena na kolata: ";
  67.         cin >> kola[i].cena;
  68.     }
  69.  
  70.     fail.write( (char *) (&kola), n * sizeof(kola)); // Zapisvane vuv fail
  71.  
  72.     fail.close();
  73. }
  74.  
  75. void sled_godina_podredeni_po_godina(Kola koli[], int &n) {
  76.     fstream fail;
  77.  
  78.     int godina, broqch = 0;
  79.  
  80.     fail.open("koli.dat", ios::binary | ios::in);
  81.  
  82.     fail.read( (char *) (&koli), n * sizeof(koli));
  83.  
  84.     cout << "Vuvedi godina sled, koqt da se tursi: ";
  85.     cin >> godina;
  86.  
  87.     for (int i = 0; i < n; i++) {
  88.         if (koli[i].godina > godina)
  89.             broqch++;
  90.     }
  91.    
  92.     Kola *koli_sled_godina = new Kola[broqch];
  93.    
  94.     for (int i = 0; i < n; i++) {
  95.         if(koli[i].godina > godina)
  96.             koli_sled_godina[i - 1] = koli[i];
  97.     }
  98.    
  99.     for (int i = 0; i < broqch - 1; i++) {
  100.         for (int j = i + 1; j < broqch; j++) {
  101.             if (koli_sled_godina[i].godina > koli_sled_godina[j].godina) {
  102.                 Kola temp = koli_sled_godina[i];
  103.                 koli_sled_godina[i] = koli_sled_godina[j];
  104.                 koli_sled_godina[j] = temp;
  105.             }
  106.         }
  107.     }
  108.  
  109.     for (int i = 0; i < broqch; i++) {
  110.         cout << "Nomer: " << koli_sled_godina[i].nomer << endl;
  111.         cout << "Marka: " << koli_sled_godina[i].marka << endl;
  112.         cout << "Cena: " << koli_sled_godina[i].cena << endl;
  113.         cout << "Godina: " << koli_sled_godina[i].godina << endl << endl;
  114.     }
  115.    
  116.     fail.close();
  117. }
  118.  
  119. void zadadeni_marka_i_godina(Kola koli[], int &n) {
  120.  
  121.     fstream fail;
  122.  
  123.     fail.open("koli.dat", ios::binary | ios::in);
  124.  
  125.     fail.read((char *)(&koli), n * sizeof(koli));
  126.  
  127.     string marka;
  128.     int godina;
  129.  
  130.     cout << "Vuvedi marka za tursene: ";
  131.     cin >> marka;
  132.  
  133.     cout << "Vuvedi godina za tursene: ";
  134.     cin >> godina;
  135.  
  136.     for (int i = 0; i < n; i++) {
  137.         if (godina == koli[i].godina && strcmp(marka.c_str(), koli[i].marka.c_str()) == 0) {
  138.             cout << "Nomer: " << koli[i].nomer << endl;
  139.             cout << "Marka: " << koli[i].marka << endl;
  140.             cout << "Cena: " << koli[i].cena << endl;
  141.             cout << "Godina: " << koli[i].godina << endl << endl;
  142.         }
  143.     }
  144.  
  145.     fail.close();
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement