Advertisement
rozman50

vaja_10

Dec 18th, 2018
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.54 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <string>
  4. #include <stdlib.h>  
  5. #include <time.h>
  6.  
  7. using namespace std;
  8.  
  9. struct Datum {
  10.     int dan;
  11.     int mesec;
  12.     short int leto;
  13. };
  14.  
  15. struct PametnaUra {
  16.     string blagovnaZnamka;
  17.     float cena;
  18.     string operacijskiSistem;
  19. };
  20.  
  21. struct Telefon {
  22.     string ime;
  23.     Datum date;
  24.     float hitrostProcesorja;
  25.     string blagovnaZnamkaT;
  26.     float cenaT;
  27.     string operacijskiSistemT;
  28.     PametnaUra pametnaUra;
  29. };
  30.  
  31. void vpisPodatkov(Telefon* polje[]) {
  32.     string tabImena[10] = { "Galaxy Y5", "G6", "G7", "5s plus", "Honor m6", "S9 plus", "S9", "3310", "S5", "MI Phone" };
  33.     string tabBlagovna[10] = { "Samsung", "LG", "LG", "Apple", "Huawei", "Samsung", "Samsung", "Nokia", "Samsung", "Xiaomi" };
  34.     float tabHitrost[10] = { 3.2, 5.3, 1.2, 3.1, 2.3, 2, 5, 4.5, 0.3, 4.4 };
  35.     float tabCena[10] = { 600, 552, 123, 75, 1099, 124, 565, 234, 221, 99 };
  36.     string tabOS[10] = { "Android", "Android", "Android", "IOS" , "Android" , "Android" , "Android", "none", "Android", "Android" };
  37.     string tabPUBlagovna[10] = { "Samsung", "Samsung", "Samsung", "Samsung", "Apple", "Apple", "Oppo", "Rolex", "Omega", "Apple" };
  38.     float tabPUCena[10] = { 250, 230, 210, 500, 100, 80, 1000, 125, 530, 123 };
  39.     string tabPUOS[10] = { "Android", "Android", "Android", "IOS" , "Android" , "Android" , "Android", "none", "Android", "Android" };
  40.  
  41.     srand(time(NULL));
  42.  
  43.     for (int i = 0; i < 10; i++) {
  44.         polje[i] = new Telefon;
  45.         polje[i]->ime = tabImena[i];
  46.         polje[i]->date.dan = rand() % 31 + 1;
  47.         polje[i]->date.mesec = rand() % 12 + 1;
  48.         polje[i]->date.leto = rand() % 18 + 2000;
  49.         polje[i]->hitrostProcesorja = tabHitrost[i];
  50.         polje[i]->blagovnaZnamkaT = tabBlagovna[i];
  51.         polje[i]->cenaT = tabCena[i];
  52.         polje[i]->operacijskiSistemT = tabOS[i];
  53.         polje[i]->pametnaUra.blagovnaZnamka = tabPUBlagovna[i];
  54.         polje[i]->pametnaUra.cena = tabPUCena[i];
  55.         polje[i]->pametnaUra.operacijskiSistem = tabPUOS[i];
  56.     }
  57. }
  58.  
  59. void sortiranjePodatkov(Telefon* polje[]) {
  60.     for (int i = 0; i < 10; i++) {
  61.         for (int j = 0; j < 10 - 1; j++) {
  62.             Telefon* tmpLeto;
  63.             // sortira glede na dan
  64.             if (polje[j]->date.leto > polje[j + 1]->date.leto) {
  65.                 tmpLeto = polje[j];
  66.                 polje[j] = polje[j + 1];
  67.                 polje[j + 1] = tmpLeto;
  68.             }
  69.             Telefon* tmpMesec;
  70.             // preveri če sta letnici enaki, nato sortira glede na mesec
  71.             if (polje[j]->date.leto == polje[j + 1]->date.leto
  72.                 && polje[j]->date.mesec > polje[j + 1]->date.mesec) {
  73.                 tmpMesec = polje[j];
  74.                 polje[j] = polje[j + 1];
  75.                 polje[j + 1] = tmpMesec;
  76.             }
  77.             Telefon* tmpDan;
  78.             // preveri če sta letnica in mesec enaka, nato sortira glede na dan
  79.             if (polje[j]->date.leto == polje[j + 1]->date.leto
  80.                 && polje[j]->date.mesec == polje[j + 1]->date.mesec
  81.                 && polje[j]->date.dan > polje[j + 1]->date.dan) {
  82.                 tmpDan = polje[j];
  83.                 polje[j] = polje[j + 1];
  84.                 polje[j + 1] = tmpDan;
  85.             }
  86.         }
  87.     }
  88. }
  89.  
  90. int main()
  91. {
  92.     Telefon* polje[10];
  93.  
  94.     vpisPodatkov(polje);
  95.     sortiranjePodatkov(polje);
  96.  
  97.     for (int i = 0; i < 10; i++)
  98.     {
  99.         cout << polje[i]->ime << endl;
  100.         cout << polje[i]->date.dan << endl;
  101.         cout << polje[i]->date.mesec << endl;
  102.         cout << polje[i]->date.leto << endl;
  103.         cout << polje[i]->hitrostProcesorja << endl;
  104.         cout << polje[i]->blagovnaZnamkaT << endl;
  105.         cout << polje[i]->cenaT << endl;
  106.         cout << polje[i]->operacijskiSistemT << endl;
  107.         cout << polje[i]->pametnaUra.blagovnaZnamka << endl;
  108.         cout << polje[i]->pametnaUra.cena << endl;
  109.         cout << polje[i]->pametnaUra.operacijskiSistem << endl;;
  110.         cout << endl << "------------------------------------" << endl;
  111.     }
  112.  
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement