Advertisement
SrkZZ

vjezba8_prog

Dec 7th, 2016
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3. #include"biblioteka_vrijeme.cc"
  4. using namespace std;
  5.  
  6. int je=0;
  7. int nije=0;
  8. float p=0;
  9. class ctrokut{
  10. cvrijeme vrijeme;
  11. public:
  12. static int brojac;
  13. char naziv[40];
  14. float a,b,c;
  15. private: float s;
  16.  
  17. public:
  18. float povrsina(){
  19. s=(a+b+c)/2;
  20. if(s<=a||s<=b||s<=c)
  21. cout <<"Trokut nije moguce sastaviti od ovih duljina stranica" << endl;
  22. else
  23. return(sqrt(s*(s-a)*(s-b)*(s-c)));
  24. }
  25. public:
  26. void unos(){
  27. char k;
  28. do{
  29. k='n';
  30. vrijeme.pocetak();
  31. cout <<"Unesite naziv trokuta:";
  32. cin.ignore();
  33. cin.getline(naziv,40);
  34. cout <<"Unesite prvu stranicu:";
  35. cin >> a;
  36. cout <<"Unesite drugu stranicu:";
  37. cin >> b;
  38. cout <<"Unesite trecu stranicu:";
  39. cin >> c;
  40. s=(a+b+c)/2;
  41. vrijeme.kraj();
  42. if((s<=a||s<=b||s<=c)&& cout <<"Stranice ne mogu ciniti trokut, zelite li ponoviti unos d/n:") cin>>k;
  43. }
  44. while(k!='n');
  45. if(s<=a||s<=b||s<=c)
  46. nije++;
  47. else
  48. je++;
  49. vrijeme.kraj();
  50. brojac++;
  51. cout <<"Ukupno uneseno:" << brojac << endl;
  52. }
  53. void ispis(){
  54. cout << naziv << endl;
  55. cout << "Duljina prve stranice" << a << endl;
  56. cout << "Duljina druge stranice" << b << endl;
  57. cout << "Duljina trece stranice" << c << endl;
  58. cout << "Povrsina:"<<povrsina() << endl;
  59. if(!(s<=a||s<=b||s<=c))
  60. p+=povrsina();
  61. cout <<"Vrijeme unosa:" << vrijeme.proteklo()/1000 << endl;
  62. }
  63. };
  64.  
  65. int ctrokut::brojac=0;
  66.  
  67. int main(){
  68. ctrokut* polje=NULL;
  69. int izbor;
  70. int brElem;
  71. int s = 0;
  72. do{
  73. cout <<"---Izbornik---" << endl;
  74. cout <<"1. za dinamicku alokaciju polja trokuta..." << endl;
  75. cout <<"2. unos elemenata..." << endl;
  76. cin >> izbor;
  77. switch(izbor){
  78. case 1:
  79. s=2;
  80. if(!polje&& cout <<"Polje nije alocirano") s=0;
  81. if(polje&&ctrokut::brojac==0&&cout <<"Polje je alocirano, ne sadrzi podatke") s=1;
  82. if(polje&&ctrokut::brojac>0&&cout <<"Polje je alocirano i sadrzi " << ctrokut::brojac << " elemenata") s=2;
  83. if(!s&&cout <<"Na koliko elemenata zelite alocirati polje:") cin >> brElem;
  84. if(!s) polje=new ctrokut[brElem];
  85. if(!s) s=1;
  86. break;
  87. case 2:
  88. if(!s&&cout <<"Polje nije alocirano, vratite se u glavni izbornik ");
  89. if(s&&ctrokut::brojac<brElem) polje[ctrokut::brojac].unos();
  90. if(s&&ctrokut::brojac>=brElem&&cout <<"Polje je puno");
  91. break;
  92. case 3:
  93. if(!s&&cout <<"Polje nije alocirano, vratite se u glavni izbornik ");
  94. int i = 0;
  95. while(i<ctrokut::brojac) polje[i++].ispis();
  96. cout <<"Ukupna povrsina:" << p << endl;
  97. cout <<"Broj ispravno unesenih:" << je << endl;
  98. cout <<"Broj neispravno unesenih:" << nije << endl;
  99. }
  100. }while(izbor!=9);
  101. if(polje) delete []polje;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement