Advertisement
jordanov

Лото (не решена)

Jan 9th, 2018
425
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.93 KB | None | 0 0
  1. /*Лото Problem 2 (0 / 0)
  2. Да се креира класата за опишување на уплатено ливче за лото. За едно лото ливче се чуваат информации за име и презиме на играчот на лото (низа од знаци), лото комбинацијата на играчот (низа од 7 цели броеви кои се сортирани во растечки редослед) и цена на уплата (цел број). **(5 поени)**
  3.  
  4. Цената за уплатата за едно лото ливче е иста за сите играчи и изнесува 50 денари. Оваа вредност може да се смени од страна на Лотарија на Македонија и ќе се однесува за сите лото ливчиња. (5 поени)
  5.  
  6. За оваа класа да се имплементира функција со потпис
  7.  
  8. bool daliIstaKombinacija (int c[])
  9.  
  10. Во која се проверува дали комбинацијата во даденото лото ливче е иста со предадената комбинација c (низа од 7 цели броеви кои се сортирани во расречки редослед). (5 поени)
  11.  
  12. Забелешка: Во оваа задача секогаш ќе важи дека комбинациите претставуваат низи од 7 цели броеви кои се сортирани во растечки редослед.
  13.  
  14. Да се креира класата LotoKolo во која се чуваат информации за добитната лото комбинација (низа од 7 цели броеви кои се сортирани во растечки редослед), низа од уплатени лото ливчиња (динамички алоцирана) и број на лото ливчиња. (5 поени)
  15.  
  16. Во класата LotoKolo да се имплементират функции со потпис:
  17.  
  18. operator += за додавање ново лото ливче во низата. (5 поени) Не смее да се дозволи додавање на невалидно ливче. Ливчето е валидно ако во комбинацијата не постојат два исти броја. Ако се направи обид за додавање на невалидно ливче, треба да се генерира исклучок NevalidnoLivce. (10 поени)
  19. void dobivkaKolo() - во која се печатат информации за добитниците на колото и тоа:
  20. Ако не постои добитник се печати: Nema Dobitnik.
  21.  
  22. Ако има еден добитник во првиот ред се печати: Dobivkata е X. Во вториот ред се печати името и презимето на добитникот .
  23.  
  24. Ако има повеќе добитници во првиот ред се печати: Dobivkata е X. Во следните редови се печатат имињата на добиниците по редослед како што се појавуваат во низата на лото ливчиња.
  25.  
  26. Нека вкупната можна добивка на колото е еднаква на 50% од вкупната уплата на сите ливчња во колото. На пример ако има уплатено 2 ливчиња кои чинат по 50 денари, вкупната можна добивка е 50 (50% од 2*50=100). X при печатењето ја означува добивката на секој од добитниците. Ако има еден добивник неговата добивка е еднаква на вкупната можна добивка. Ако има повеќе добитници вкупната можна добивка подеднакво е поделена на сите добитници. (10 поени)
  27.  
  28. Да се обезбедат сите дополнителни методи потребни за правилно функционирање на програмата. (5 поени) */
  29.  
  30. #include<iostream>
  31. #include<string.h>
  32. using namespace std;
  33.  
  34. //vashiot kod treba da bide tuka
  35.  
  36. //citanje podatoci za edno loto kolo
  37. //se vrakja objekt od klasata LotoKolo
  38. LotoKolo readLotoKolo(){
  39.      int dobitnakombinacija[7];
  40.    
  41.     //se cita dobitnata kombinacija na koloto kombinacija
  42.     for (int i=0;i<7;i++) cin>>dobitnakombinacija[i];
  43.    
  44.     //se kreira objekt od klasata LotoKolo
  45.     LotoKolo kolo(dobitnakombinacija);
  46.  
  47.     int broj;
  48.     cin>>broj;
  49.  
  50.     for (int j=0;j<broj;j++){
  51.        char imeiprezime[40];
  52.         int kombinacija[7];
  53.         std::cin.get();
  54.         std::cin.getline(imeiprezime,40);
  55.         for (int i=0;i<7;i++) cin>>kombinacija[i];
  56.  
  57.         //kreiranje na loto livce
  58.         LotoLivce l(imeiprezime,kombinacija);
  59.         //dodavanje na loto livce vo koloto
  60.         kolo+=l;
  61.     }
  62.     return kolo;
  63. }
  64.  
  65.  
  66. int main(){
  67. int caseid;
  68. cin>>caseid;
  69. if (caseid==1){
  70.     char imeiprezime[40];
  71.     int kombinacija[7];
  72.     std::cin.get();
  73.     std::cin.getline(imeiprezime,40);
  74.     for (int i=0;i<7;i++) cin>>kombinacija[i];
  75.     LotoLivce l(imeiprezime,kombinacija);
  76.     cout<<"TEST CASE 1: Klasa LotoLivce."<<endl;
  77.     cout<<l.getImeIPrezime()<<":";
  78.     for (int i=0;i<7;i++)
  79.         cout<<l.getKombinacija()[i]<<" ";
  80.  
  81.    return 0;
  82. }
  83. if (caseid==2){
  84.     char imeiprezime[40];
  85.     int kombinacija[7];
  86.    std::cin.get();
  87.     std::cin.getline(imeiprezime,40);
  88.     for (int i=0;i<7;i++) cin>>kombinacija[i];
  89.     LotoLivce l(imeiprezime,kombinacija);
  90.     cout<<"TEST CASE 2: Funkcija daliIsttaKombinacija."<<endl;
  91.     //se cita druga kombinacija
  92.     for (int i=0;i<7;i++) cin>>kombinacija[i];
  93.     if (l.daliIstaKombinacija(kombinacija))
  94.         cout<<"Isti se";
  95.     else cout<<"Ne se isti";
  96.     return 0;
  97.  
  98. }
  99.  
  100. if (caseid==3){
  101.  
  102.     int dobitnakombinacija[7];
  103.  
  104.     cout<<"TEST CASE 3: Loto Kolo."<<endl;
  105.     //se cita dobitnata kombinacija na koloto kombinacija
  106.     for (int i=0;i<7;i++) cin>>dobitnakombinacija[i];
  107.     LotoKolo kolo(dobitnakombinacija);
  108.  
  109.     cout<<"Dobitnata kombinacija na koloto e:";
  110.     for (int i=0;i<7;i++)
  111.         cout<<kolo.getDobitna()[i]<<" ";
  112.  
  113.     return 0;
  114.  
  115. }
  116.  
  117. if (caseid==4){
  118.  
  119.     cout<<"TEST CASE 4: Loto Kolo i operator +=."<<endl;
  120.     LotoKolo kolo=readLotoKolo();
  121.     cout<<"OK";
  122.  
  123.     return 0;
  124. }
  125.  
  126.     if (caseid==5){
  127.  
  128.     cout<<"TEST CASE 5: Funkcija dobivkaKolo "<<endl;
  129.     LotoKolo kolo=readLotoKolo();
  130.     kolo.dobivkaKolo();
  131.  
  132.     return 0;
  133. }
  134.  
  135.     if (caseid==6){
  136.  
  137.     cout<<"TEST CASE 6: Promena na cena na uplata "<<endl;
  138.     //postavi nova cena na uplata
  139.     int cena;
  140.     cin>>cena;
  141.     LotoLivce::setCenaUplata(cena);
  142.  
  143.     LotoKolo kolo=readLotoKolo();
  144.     kolo.dobivkaKolo();
  145.  
  146.     return 0;
  147. }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement