prometheus800

ООП: ИТ продавница

Apr 6th, 2022
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. // ИТ продавница Problem 18 (2 / 16)
  2. // Решение:
  3.  
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. struct Laptop{
  8.     char firma[100];
  9.     float golemina;
  10.     bool touch;
  11.     int cena;
  12.    
  13.     void print();
  14.  
  15. };
  16.  
  17. void Laptop::print(){
  18.     cout << firma << " " << golemina << " " << cena << endl;
  19.  
  20. }
  21.  
  22. struct ITStore{
  23.     char ime[100];
  24.     char lokacija[100];
  25.     Laptop lp[100];
  26.     int n;
  27.    
  28.     void print();
  29. };
  30.  
  31. void ITStore::print() {
  32.     cout << ime << " " << lokacija << endl;
  33.     for(int i = 0; i < n; i++){
  34.         lp[i].print();
  35.     }
  36. }
  37.  
  38. int najmalaCena(ITStore its){
  39.     int min, f = 0;
  40.     for(int i = 0; i<its.n; i++){
  41.         if(its.lp[i].touch){
  42.             if(!f){
  43.                 min = its.lp[i].cena;
  44.                 f=1;
  45.             }
  46.             else if(its.lp[i].cena<min)
  47.                 min = its.lp[i].cena;
  48.         }
  49.     }
  50.    
  51.     return min;
  52.        
  53. }
  54.  
  55. void najeftina_ponuda(ITStore its[], int n){
  56.     int min = najmalaCena(its[0]);
  57.     int minI = 0;
  58.     for(int i = 0; i<n; i++){
  59.         if(najmalaCena(its[i]) < min){
  60.             min = najmalaCena(its[i]);
  61.             minI = i;
  62.         }
  63.     }
  64.    
  65.     cout << "Najeftina ponuda ima prodavnicata: " << endl;
  66.     cout << its[minI].ime << " " << its[minI].lokacija << endl;
  67.     cout << "Najniskata cena iznesuva: " << najmalaCena(its[minI]) << endl;
  68. }
  69.  
  70.  
  71. int main() {
  72.     ITStore s[100];
  73.     int n;
  74.     cin >> n; //broj na IT prodavnici
  75.    
  76.     //vnesuvanje na prodavnicite edna po edna, zaedno so raspolozlivite laptopvi vo niv
  77.     for(int i = 0; i < n; i++){
  78.         cin >> s[i].ime;
  79.         cin >> s[i].lokacija;
  80.         cin >> s[i].n;
  81.             for(int j = 0; j < s[i].n; j++){
  82.                 cin >> s[i].lp[j].firma;
  83.                 cin >> s[i].lp[j].golemina;
  84.                 cin >> s[i].lp[j].touch;
  85.                 cin >> s[i].lp[j].cena;
  86.         }
  87.    
  88.     }
  89.    
  90.    
  91.     //pecatenje na site prodavnici
  92.    
  93.     for(int i = 0; i<n; i++){
  94.         s[i].print();
  95.     }
  96.    
  97.    
  98.     //povik na glavnata metoda
  99.    
  100.     najeftina_ponuda(s,n);
  101.    
  102.     return 0;
  103. }
Add Comment
Please, Sign In to add comment