Guest User

Untitled

a guest
Dec 18th, 2014
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.72 KB | None | 0 0
  1. #include "std_lib_facilities_pl.h";
  2.  
  3. double mnozenie(double a, double b) //funkcje zwyklego kalk
  4. {
  5. return a * b;
  6. }
  7.  
  8. double dzielenie(double a, double b)
  9. {
  10. return a / b;
  11. }
  12.  
  13. double dodawanie(double a, double b)
  14. {
  15. return a + b;
  16. }
  17.  
  18. double odejmowanie(double a, double b)
  19. {
  20. return a - b;
  21. }
  22. double potegowanie(double a, int b)
  23. {
  24. double x = a;
  25. while (b > 1)
  26. {
  27. a = a*x;
  28. b--;
  29. }
  30. return a;
  31. }
  32. double pierwiastkowanie(double a)
  33. {
  34. a = sqrt(a);
  35. return a;
  36. } //funkcje zwyklego kalk
  37.  
  38. vector<double> pierwiastkikwadrat(double a, double b, double c) //pierwiastki rownania kwadratowego
  39. {
  40. double delta = b*b - 4 * (a*c);
  41. double pierwdelta = 0;
  42. if (delta >= 0)
  43. {
  44. pierwdelta = sqrt(delta);
  45. }
  46. else
  47. {
  48. pierwdelta = -1;
  49. }
  50. vector<double> pierwiastki(3);
  51. if (pierwdelta < 0)
  52. {
  53. pierwiastki[0] = 0;
  54. }
  55. else if (pierwdelta == 0)
  56. {
  57. pierwiastki[0] = 1;
  58. pierwiastki[1] = -b / (2 * a);
  59. }
  60. else
  61. {
  62. pierwiastki[0] = 2;
  63. pierwiastki[1] = (-b - pierwdelta) / (2 * a);
  64. pierwiastki[2] = (-b + pierwdelta) / (2 * a);
  65. }
  66. return pierwiastki;
  67. } //pierwiastki rownania kwadratowego
  68.  
  69. void inforamcje() //wypisanie inforamcji
  70. {
  71. cout << endl << "Informacje o Programie:" << endl << "Kalkulator wielozadaniowy" << endl << "Wersja 1.0" << endl << endl << "Inforamcje o Autorze:" << endl << "Szczepan Rdest" << endl << "Student Informatyki 1 roku WSB Dąbrowa Górnicza" << endl;
  72. }
  73.  
  74. int main()
  75. {
  76. char modul, x;
  77. vector<double> pierwiastki(3);
  78. double a, b, c, wynik, pom1;
  79. cout << "xxx Kalkulator xxx" << endl;
  80. cout << "ktory modul mam uruchomic? :" << endl;
  81. cout << "modul '1': pierwiastki rownania kwadratowego" << endl;
  82. cout << "modul '2': kalkulator 6-dzialaniowy" << endl;
  83. cout << "modul '3': informacje o programie i autorze" << endl;
  84. cout << "modul 't': wyjscie z programu" << endl;
  85.  
  86.  
  87. cin >> modul;
  88. while (modul != 't')
  89. {
  90. switch (modul)
  91. {
  92. case '1': //pierwiastki rownania kwadratowego
  93. cout << "wybrano modul: 'pierwiastki rownania kwadratowego'" << endl;
  94. cout << "podaj kolejne wspolczynniki rownania kwadratowego: (a, b, c)" << endl;
  95. cin >> a;
  96. cin >> b;
  97. cin >> c;
  98. pierwiastki = pierwiastkikwadrat(a, b, c);
  99. if (pierwiastki[0] == 0)
  100. {
  101. cout << "liczba pierwiastkow: " << pierwiastki[0];
  102. }
  103. else if (pierwiastki[0] == 1)
  104. {
  105. cout << "liczba pierwiastkow: " << pierwiastki[0] << endl;
  106. cout << "pierwiastek nr 1: " << pierwiastki[1];
  107. }
  108. else
  109. {
  110. cout << "liczba pierwiastkow: " << pierwiastki[0] << endl;
  111. cout << "pierwiastek nr 1: " << pierwiastki[1] << endl;
  112. cout << "pierwiastek nr 2: " << pierwiastki[2];
  113. }
  114. break;
  115.  
  116. case '2': //kalkulator 6-dzialaniowy
  117. cout << "podaj dzialanie:" << endl;
  118.  
  119. cin >> a >> x;
  120. wynik = a;
  121.  
  122. while (x != '=')
  123. {
  124. switch (x)
  125. {
  126. case '+':
  127. cin >> b >> x;
  128. if (x == '*') //dodawanie wyniku mnozenia
  129. {
  130. pom1 = b;
  131. while (x == '*')
  132. {
  133. cin >> a;
  134. pom1 = mnozenie(pom1, a);
  135. cin >> x;
  136. }
  137. wynik = dodawanie(wynik, pom1);
  138. }
  139. else if (x == '/') //dodawanie wyniku dzielenia
  140. {
  141. pom1 = b;
  142. while (x == '/')
  143. {
  144. cin >> a;
  145. pom1 = dzielenie(pom1, a);
  146. cin >> x;
  147. }
  148. wynik = dodawanie(wynik, pom1);
  149. }
  150. else if (x == '^') //dodawanie wyniku potegowania
  151. {
  152. pom1 = b;
  153. while (x == '^')
  154. {
  155. cin >> a;
  156. pom1 = potegowanie(pom1, a);
  157. cin >> x;
  158. }
  159. wynik = dodawanie(wynik, pom1);
  160. }
  161. else if (x == 'p') //dodawanie pierwiastka
  162. {
  163. pom1 = pierwiastkowanie(b);
  164. wynik = dodawanie(wynik, pom1);
  165. cin >> x;
  166. }
  167. else //dodawanie
  168. {
  169. wynik = dodawanie(wynik, b);
  170. }
  171. break;
  172. case '-':
  173. cin >> b >> x;
  174. if (x == '*') //odejmowanie wyniku mnozenia
  175. {
  176. pom1 = b;
  177. while (x == '*')
  178. {
  179. cin >> a;
  180. pom1 = mnozenie(pom1, a);
  181. cin >> x;
  182. }
  183. wynik = odejmowanie(wynik, pom1);
  184. }
  185. else if (x == '/') //odejmowanie wyniku dzielenia
  186. {
  187. pom1 = b;
  188. while (x == '/')
  189. {
  190. cin >> a;
  191. pom1 = dzielenie(pom1, a);
  192. cin >> x;
  193. }
  194. wynik = odejmowanie(wynik, pom1);
  195. }
  196. else if (x == '^') //odejmowanie wyniku potegowania
  197. {
  198. pom1 = b;
  199. while (x == '^')
  200. {
  201. cin >> a;
  202. pom1 = potegowanie(pom1, a);
  203. cin >> x;
  204. }
  205. wynik = odejmowanie(wynik, pom1);
  206. }
  207. else if (x == 'p') //odejmowanie pierwiastka
  208. {
  209. pom1 = pierwiastkowanie(b);
  210. wynik = odejmowanie(wynik, pom1);
  211. cin >> x;
  212. }
  213. else //odejmowanie
  214. {
  215. wynik = odejmowanie(wynik, b);
  216. }
  217. break;
  218. case '*': //mnozenie
  219. cin >> b >> x;
  220. wynik = mnozenie(wynik, b);
  221. break;
  222. case '/': //dzielenie
  223. cin >> b >> x;
  224. wynik = dzielenie(wynik, b);
  225. break;
  226. case '^': //potegowanie
  227. cin >> b >> x;
  228. wynik = potegowanie(wynik, b);
  229. break;
  230. case 'p': //pierwiastek kwadratowy
  231. cin >> x;
  232. wynik = pierwiastkowanie(wynik);
  233. break;
  234. case '=': //koniec dzialan
  235. break;
  236. default: //podanie zlego znaku
  237. cout << "podano zly znak" << endl;
  238. cout << "dotychczasowy wynik = " << wynik << endl;
  239. break;
  240. }
  241. }
  242. cout << "wynik koncowy: " << wynik << endl;
  243. break;
  244.  
  245. case '3': //wypis informacji
  246. inforamcje();
  247. break;
  248.  
  249. case 't': //wyjscie z programu
  250. cout << "koniec programu" << endl;
  251. break;
  252.  
  253. case 'n': //odmowa wyjscia z programu
  254. break;
  255.  
  256. default: //podanie zlego znaku
  257. cout << "podano zly znak. wyjsc z programu? t/n" << endl;
  258. break;
  259. }
  260. cout << endl << "wybierz modul: ";
  261. cin >> modul;
  262. }
  263.  
  264. keep_window_open();
  265.  
  266. }
Add Comment
Please, Sign In to add comment