borisdexter

Objektno 1 chas

Jan 16th, 2020
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.55 KB | None | 0 0
  1. // constructor - kako da se kreira objekt od klasata
  2. // set,get - menuvanje ili zimanje na vrednost od privatni promenlivi
  3. // this - pokazuvac kon samiot objekt
  4.  
  5. class Kurs{
  6. private:
  7.     char ime[25];
  8.     int uchesnici;
  9.     int cena;
  10.     int chasovi;
  11. public:
  12.     Kurs(){}
  13.     Kurs(char* ime,int uchesnici,int cena,int chasovi){
  14.     strcpy(this->ime,ime);
  15.     this->uchesnici=uchesnici;
  16.     this->cena=cena;
  17.     this->chasovi=chasovi;
  18.     }
  19.     // get
  20.     char* getIme(){
  21.     return ime;
  22.     }
  23.     int getChasovi(){
  24.     return chasovi;
  25.     }
  26.     int getUchesnici(){
  27.     return uchesnici;
  28.     }
  29.     int getCena(){
  30.     return cena;
  31.     }
  32.     // set
  33.     void setIme(char* ime){
  34.     strcpy(this->ime,ime);
  35.     }
  36.     void setUchesnici(int x){
  37.     uchesnici=x;
  38.     }
  39.     void setCena(int cena){
  40.     this->cena=cena;
  41.     }
  42.     void setChasovi(int chasovi){
  43.     this->chasovi=chasovi;
  44.     }
  45.  
  46.     void print(){
  47.     cout<<ime<<" "<<uchesnici<<" "<<cena<<" "<<chasovi<<endl;
  48.     }
  49.  
  50.     float cenaOdChas(){
  51.     return (float)cena/chasovi;
  52.     }
  53.  
  54. };
  55. // print site kursevi
  56. void printKursevi(Kurs kursevi[],int n){
  57. for(int i=0;i<n;i++){
  58.     kursevi[i].print();
  59. }
  60. }
  61.  
  62. // *MAX* nadvoreshna funkcija
  63. void najvekjeLugjeNaKurs(Kurs kursevi[],int n){
  64. int maxLugje=0;
  65. int pamtiIndex;
  66. for(int i=0;i<n;i++){
  67.     if(kursevi[i].getUchesnici()>maxLugje){
  68.         maxLugje=kursevi[i].getUchesnici();
  69.         pamtiIndex=i;
  70.     }
  71. }
  72. kursevi[pamtiIndex].print();
  73. }
  74.  
  75. // *SUMA* vkupen profit od site kursevi
  76. float vkupenProfit(Kurs kursevi[],int n){
  77. float suma=0;
  78. for(int i=0;i<n;i++){
  79.     cout<<kursevi[i].getIme()<<" "<<kursevi[i].getCena()<<endl;
  80.     suma+=kursevi[i].getCena();
  81. }
  82. // float danok=suma*0.18;
  83. // cena posle danok
  84. return suma*0.82;
  85. }
  86.  
  87. // *BROJAC* kolku kursevi imaat poveke od X uchesnici
  88. int kurseviSoPovekeOdX(Kurs kursevi[],int n,int x){
  89. int brojac=0;
  90. for(int i=0;i<n;i++){
  91.     if(kursevi[i].getUchesnici()>x){
  92.         brojac++;
  93.     }
  94. }
  95. return brojac;
  96. }
  97.  
  98. // *FLAG* dali site kursevi zarabotuvaat poveke od X po chas
  99. bool daliPoChas(Kurs kursevi[],int n,int x){
  100. bool flag=true;
  101. for(int i=0;i<n;i++){
  102.     if(kursevi[i].cenaOdChas()<x){
  103.         flag=false;
  104.         break;
  105.     }
  106. }
  107. return flag;
  108. }
  109.  
  110. // prosecna cena po chas za kurs
  111. float prosechnaCenaPoChas(Kurs kursevi[],int n){
  112. int brojac=0;
  113. float sumaCeniPoChas=0;
  114. for(int i=0;i<n;i++){
  115.     brojac++;
  116.     sumaCeniPoChas+=kursevi[i].cenaOdChas();
  117. }
  118. return sumaCeniPoChas/n;
  119. }
  120.  
  121. // dali go ima kursot vo nizata
  122. int daliImaKurs(Kurs kursevi[],int n,char* novKurs){
  123. for(int i=0;i<n;i++){
  124.     if(strcmp(kursevi[i].getIme(),novKurs)==0){
  125.         return 1;
  126.     }
  127. }
  128. return 0;
  129. }
  130.  
  131. int main(){
  132. int n;
  133. cin>>n;
  134. char ime[25];
  135. int chasovi,cena,uchesnici;
  136. Kurs kursevi[n];
  137. for(int i=0;i<n;i++){
  138.     cin>>ime>>uchesnici>>cena>>chasovi;
  139.     kursevi[i]=Kurs(ime,uchesnici,cena,chasovi);
  140. }
  141. char novKurs[25];
  142. cin>>novKurs;
  143.  
  144. if(daliImaKurs(kursevi,n,novKurs)){
  145.     cout<<"Da"<<endl;
  146. }else{
  147.     cout<<"Ne"<<endl;
  148. }
  149. return 0;
  150. }
  151. //cout<<"Prosecnata cena po chas e "<<prosechnaCenaPoChas(kursevi,n)<<endl;
  152. //najvekjeLugjeNaKurs(kursevi,n);
  153. //cout<<"Vkupniot profit od site kursevi e "<<vkupenProfit(kursevi,n)<<endl;
  154. //cout<<"Kursevi so poveke od "<<x<<" ima "<<kurseviSoPovekeOdX(kursevi,n,x)<<endl;
  155. /*
  156. if(daliPoChas(kursevi,n,x)){
  157.     cout<<"Da"<<endl;
  158. }else{
  159.     cout<<"Ne"<<endl;
  160. }
  161.  
  162. */
  163.  
  164. // input
  165. /*
  166. 4
  167. Programiranje 8 15000 12
  168. Matematika 10 7500 10
  169. WebDesign 25 2500 5
  170. Indiski 15 500 15
  171. */
  172.  
  173. // tutorial zadaca
  174. /*
  175. class Student{
  176.     // promenlivi za sekoj student
  177. private:
  178.     char ime[25];
  179.     int index;
  180.     float prosek;
  181. public:
  182.     // constructor
  183.     Student(){
  184.     cout<<"Default constructor"<<endl;
  185.     }
  186.     // parameter constructor
  187.     Student(char* niza,int integer,float decimala){
  188.     cout<<"Parametarski constructor"<<endl;
  189.     strcpy(ime,niza);
  190.     index=integer;
  191.     prosek=decimala;
  192.     }
  193.     // constructor so samo 2 promenlivi
  194.     Student(int integer,float decimala){
  195.     index=integer;
  196.     prosek=decimala;
  197.     }
  198.  
  199.     // get
  200.     char* getIme(){
  201.     return ime;
  202.     }
  203.     float getProsek(){
  204.     return prosek;
  205.     }
  206.     int getIndex(){
  207.     return index;
  208.     }
  209.     // set
  210.     void setProsek(float vrednost){
  211.     prosek=vrednost;
  212.     }
  213.     // funkcija
  214.     void print(){
  215.     cout<<ime<<" "<<index<<" "<<prosek<<endl;
  216.     }
  217. };
  218.  
  219.  
  220. int main(){
  221. int promenliva;
  222. // objekt
  223. Student petar("Petar",181818,9.9);
  224. petar.setProsek(7.5);
  225. petar.print();
  226. Student simona("Simona",182020,6.5);
  227. simona.print();
  228. return 0;
  229. }
  230. */
Advertisement
Add Comment
Please, Sign In to add comment