Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3. #include<exception>
  4. using namespace std;
  5.  
  6.  
  7.  
  8. class GeoIznimka : public exception{
  9. private:
  10. char* msg;
  11. double a;
  12. double b;
  13. double c;
  14.  
  15. public:
  16. void set_a(double x){
  17. a = x;
  18. }
  19. void set_b(double x){
  20. b = x;
  21. }
  22. void set_c(double x){
  23. c = x;
  24. }
  25. double get_a(){
  26. return a;
  27. }
  28. double get_b(){
  29. return b;
  30. }
  31. double get_c(){
  32. return c;
  33. }
  34. GeoIznimka(char* txt):msg(txt){}
  35. virtual const char* what() const throw(){
  36. return msg;
  37. }
  38. };
  39.  
  40.  
  41. class Trokut{
  42. protected:
  43. double a;
  44. double b;
  45. double c;
  46. public:
  47. Trokut():a(1),b(1),c(1){}
  48. Trokut(double x,double y,double z):a(x),b(y),c(z){}
  49. double povrsina(){
  50. double s = (a+b+c)/2;
  51. return sqrt(s*(s-a)*(s-b)*(s-c));
  52. }
  53. double opseg(){
  54. return a+b+c;
  55. }
  56. bool is_it_trokut(){
  57. if(a+b > c && a+c>b && b+c>a){
  58. return true;
  59. }
  60. else{
  61. GeoIznimka A("Nije moguce konsturirat objek s stranicama");
  62. A.set_a(a);
  63. A.set_b(b);
  64. A.set_c(c);
  65. throw A;
  66. }
  67. }
  68.  
  69. };
  70.  
  71. int main(){
  72.  
  73. try{
  74. Trokut A;
  75. Trokut B(4,1,1);
  76. A.is_it_trokut();
  77. B.is_it_trokut();
  78.  
  79. cout<<A.opseg()<<endl;
  80. cout<<B.opseg()<<endl;
  81. if(A.povrsina() > B.povrsina()){
  82. cout << "A ima vecu povrsinu!"<<endl;
  83. }
  84. else if(A.povrsina() < B.povrsina()){
  85. cout << "B ima vecu povrsinu!"<<endl;
  86. }
  87. else{
  88. cout<<"Povrsine su iste" <<endl;
  89. }
  90. }
  91.  
  92. catch(GeoIznimka &iznimka){
  93. cout << iznimka.what() << " a:" << iznimka.get_a() <<" b:"<< iznimka.get_b() <<" c:"<< iznimka.get_c() <<endl;
  94. }
  95. return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement