asmodeus94

klasaFig

Dec 11th, 2013
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.91 KB | None | 0 0
  1. /*
  2. 1. Stwórz klasę fig, a następnie obiekt trojkat klasy fig.
  3. 2. Klasa ma zawierać dane publiczne: podstawa, bok2, bok3, wysokosc (float)
  4.                      dane prywatne: czy_istnieje (bool), obwód, pole (float)
  5.                      metody: oblicz_obwód, oblicz_pole, istnieje
  6. 3. Napisz program (z IO) w ktorym w switch będa opcje:
  7. -podaj podstawe,
  8. -bok2,
  9. -bok3,
  10. -wysokosc
  11. -czy trójkat istnieje ?
  12. -jaki jest obwód ?
  13. -jakie jest pole ?
  14. */
  15. #include<iostream>
  16. #include<windows.h>
  17. #include<cstdio>
  18. using namespace std;
  19. class fig{
  20.     private:
  21.     bool czy_istnieje;
  22.     float obwod,pole;
  23.     public:
  24.     int podstawa,bok2,bok3,wysokosc;
  25.     int oblicz_obwod();
  26.     float oblicz_pole();
  27.     bool istnieje();
  28. };
  29.  
  30. bool fig::istnieje(){
  31.     int tab[3];
  32.     tab[0]=podstawa;
  33.     tab[1]=bok2;
  34.     tab[2]=bok3;
  35.     int max=tab[0];
  36.     int poz=0;
  37.     for(int i=0;i<3;i++){
  38.         if(tab[i]>max){
  39.             max=tab[i];
  40.             poz=i;
  41.         }
  42.     }
  43.     int sumator=0;
  44.     for(int i=0;i<3;i++){
  45.         if(i!=poz) sumator+=tab[i];
  46.     }
  47.     if(sumator>max) czy_istnieje=1;else czy_istnieje=0;
  48.     return czy_istnieje;
  49. }
  50. int fig::oblicz_obwod(){
  51.     return podstawa+bok2+bok3;
  52. }
  53. float fig::oblicz_pole(){
  54.     return (float)podstawa*(float)wysokosc/2;
  55. }
  56. void menu(){
  57.     cout<<"1 - podaj podstawe\n";
  58.     cout<<"2 - podaj bok2\n";
  59.     cout<<"3 - podaj bok3\n";
  60.     cout<<"4 - podaj wysokosc\n";
  61.     cout<<"5 - sprawdz czy trojkat istnieje\n";
  62.     cout<<"6 - jaki jest obwod\n";
  63.     cout<<"7 - jake jest pole\n";
  64.     cout<<"8 - Zamknij\nWybor: ";
  65. }
  66. int main(){
  67.     int wybor,a,b,c;
  68.     fig trojkat;
  69.     do{
  70.         system("cls");
  71.         menu();
  72.         cin>>wybor;
  73.         switch(wybor){
  74.             case 1:{
  75.                 do{
  76.                     cout<<"Podaj dlugosc podstawy: ";
  77.                     cin>>trojkat.podstawa;
  78.                 }while(trojkat.podstawa<=0);
  79.             break;}
  80.             case 2:{
  81.                 do{
  82.                     cout<<"Podaj dlugosc boku2: ";
  83.                     cin>>trojkat.bok2;
  84.                 }while(trojkat.bok2<=0);
  85.             break;}
  86.             case 3:{
  87.                 do{
  88.                     cout<<"Podaj dlugosc boku3: ";
  89.                     cin>>trojkat.bok3;
  90.                 }while(trojkat.bok3<=0);
  91.             break;}
  92.             case 4:{
  93.                 do{
  94.                     cout<<"Podaj wysokosc: ";
  95.                     cin>>trojkat.wysokosc;
  96.                 }while(trojkat.wysokosc<=0);
  97.             break;}
  98.             case 5:{
  99.                 if(trojkat.istnieje()==0) cout<<"Trojkat nie istnieje";else cout<<"Trojkat istnieje";
  100.                 getchar();getchar();
  101.             break;}
  102.             case 6:{
  103.                 cout<<"Obwod trojkata wynosi "<<trojkat.oblicz_obwod();
  104.                 getchar();getchar();
  105.             break;}
  106.             case 7:{
  107.                 cout<<"Pole trojkata wynosi "<<trojkat.oblicz_pole();
  108.                 getchar();getchar();
  109.             break;}
  110.         }
  111.     }while(wybor!=8);
  112.     return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment