Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.82 KB | None | 0 0
  1. //Header
  2. #define delta(A,B,C) (B)*(B)-4*(A)*(C)
  3.  
  4. extern float dodawanie(float a,float b);
  5. extern float odejmowanie(float a,float b);
  6. extern float mnozenie(float a,float b);
  7. extern float dzielenie(float a,float b);
  8. extern float potegowanie(float a,float b);
  9.  
  10. //extern float x1(float a,float b,delta);
  11. extern float x0(float a,float b);
  12.  
  13.  
  14. extern void(*pola_figur)(float,float);
  15.  
  16. extern void pole_trojkata(float a,float h);
  17. extern void pole_prostokata(float a,float b);
  18. extern void pole_stozka(float r, float h);
  19. extern void pole_walca(float R, float h);
  20. extern void pole_ostroslupa_prawidlowego_czworokatnego(float a,float h);
  21. //Funkcje
  22. #include <stdlib.h>
  23. #include <stdio.h>
  24. #include <math.h>
  25. #include "naglowek.h"
  26.  
  27.  
  28. float dodawanie(float a,float b){
  29. float suma;
  30. suma=a+b;
  31. printf("%g + %g = %g\n\n",a,b,suma);
  32. }
  33.  
  34. float odejmowanie(float a,float b){
  35. float roznica;
  36. roznica=a-b;
  37. printf("%g - %g = %g\n\n",a,b,roznica);
  38. }
  39.  
  40. float mnozenie(float a, float b){
  41. float iloczyn;
  42. iloczyn=a*b;
  43. printf("%g * %g = %g\n\n",a,b,iloczyn);
  44. }
  45.  
  46. float dzielenie(float a, float b){
  47. float iloraz;
  48. iloraz=a/b;
  49. if(b==0){
  50. printf("Nie wolno dzielic przez 0!\n");
  51. }else{
  52. printf("%g : %g = %g\n\n",a,b,iloraz);
  53. }
  54.  
  55. }
  56.  
  57. float potegowanie(float a, float b){
  58. float potega;
  59. potega=pow(a,b);
  60. printf("%g ^ %g = %g\n\n",a,b,potega);
  61. }
  62.  
  63. void (*pola_figur)(float,float);
  64.  
  65. void pole_prostokata(float a,float b){
  66. float Pc=(a)*(b);
  67. if(a<0||b<0){
  68. printf("Wymiary figury nie moga byc mniejsze od zera!\n");
  69. }else{
  70. printf("Pole prostokata wynosi %g\n\n",Pc);
  71. }
  72. }
  73.  
  74. void pole_trojkata(float a,float h){
  75. float Pc=((a)*(h))/2;
  76. if(a<0||h<0){
  77. printf("Wymiary figury nie moga byc mniejsze od zera!\n");
  78. }else{
  79. printf("Pole trojkata wynosi %g\n\n",Pc);
  80. }
  81. }
  82.  
  83. void pole_stozka(float r, float H){
  84. float pi=3.14;
  85. float l=sqrt(pow(H,2)+pow(r,2));
  86. float Pc=pi*pow(r,2)+(pi*r*l);
  87. if(r<0||H<0){
  88. printf("Wymiary figury nie moga byc mniejsze od zera!\n");
  89. }else{
  90. printf("Pole stozka wynosi %g\n\n",Pc);
  91. }
  92. }
  93.  
  94. void pole_walca(float r, float H){
  95. float pi=3.14;
  96. float Pp=pow(r,2)*pi;
  97. float Pb=2*pi*r*H;
  98. float Pc=2*Pp+Pb;
  99. if(r<0||H<0){
  100. printf("Wymiary figury nie moga byc mniejsze od zera!\n");
  101. }else{
  102. printf("Pole walca wynosi %g\n\n",Pc);
  103. }
  104. }
  105.  
  106. void pole_ostroslupa_prawidlowego_czworokatnego(float a,float h){
  107. float Pp=pow(a,2);
  108. float Psb=1/2*a*h;
  109. float Pc=(Pp+(4*Psb));
  110. if(a<0||h<0){
  111. printf("Wymiary figury nie moga byc mniejsze od zera!\n");
  112. }else{
  113. printf("Pole ostroslupa prawidlowego wynosi %g\n\n",Pc);
  114. }
  115. }
  116. //Main
  117. #include <stdio.h>
  118. #include <stdlib.h>
  119. #include "naglowek.h"
  120.  
  121.  
  122.  
  123. int main(void) {
  124. int wybor;
  125. char opcja,opcja2;
  126. printf("*******EGZAMIN*********\n\n");
  127. printf("Kalkulator\n\n");
  128.  
  129. printf("1. Proste operacje arytmetyczne\n");
  130. printf("2. Funkcja kwadratowa\n");
  131. printf("3. Obliczanie pola wybranych figur\n");
  132. printf("9. Wyjscie\n");
  133.  
  134. scanf("%d",&wybor);
  135. fflush(stdin);
  136.  
  137. switch(wybor){
  138. case 1:
  139. system("cls");
  140. printf("***** Kalkulator wykonuje obliczenia jedynie dla 2 liczb *****\n***** Miedzy ktorymi znajduje sie znak zadanej operacji! *****\n\n\n");
  141. system("pause");
  142. do{
  143.  
  144.  
  145. system("cls");
  146. printf("1. Wykonywanie obliczen\n");
  147. printf("2. Dostepne operacje arytmetyczne\n");
  148. printf("3. Powrot\n");
  149. printf("0. Wyjscie\n");
  150. float m,n;
  151. char znak,opcja1;
  152. int wybor2;
  153. scanf("%d",&wybor2);
  154. fflush(stdin);
  155. switch(wybor2){
  156. case 1:
  157.  
  158. do{
  159. system("cls");
  160. printf("Wykonaj dzialanie w formacie: <a><znak_dzialania><b> \n\n");
  161. scanf("%f%c%f",&m,&znak,&n);
  162. fflush(stdin);
  163. if(znak=='+'){
  164. dodawanie(m,n);
  165. }else if(znak=='-'){
  166. odejmowanie(m,n);
  167. }else if(znak=='*'){
  168. mnozenie(m,n);
  169. }else if(znak=='/'){
  170. dzielenie(m,n);
  171. }else if(znak=='^'){
  172. potegowanie(m,n);
  173. }else{
  174. printf("Wybrano nieprawidlowy znak dzialania!\nSprawdz dostepne operacje.\n\n");
  175. system("pause");
  176. system("cls");
  177. return main();
  178. }
  179. printf("Kontynuowac?\n(t/n)\n");
  180. scanf("%c",&opcja1);
  181. fflush(stdin);
  182. }while(opcja1=='t');
  183. system("cls");
  184. break;
  185.  
  186. case 2:
  187. system("cls");
  188. printf("Dodawanie '+'\n");
  189. printf("Odejmowanie '-'\n");
  190. printf("Mnozenie '*'\n");
  191. printf("Dzielenie '/'\n");
  192. printf("Potegowanie '^'\n\n");
  193. break;
  194. case 3:
  195. system("cls");
  196. return main();
  197. case 0:
  198. system("cls");
  199. printf("Koniec pracy programu!");
  200. return 0;
  201. default :
  202. printf("Wybrano nieprawidlowy numer!\n");
  203. break;
  204. }
  205. printf("Nacisnij t, aby powrocic do menu obliczen.\n");
  206. printf("Nacisnij dowolny klawisz, aby powrocic do glownego menu\n");
  207. scanf("%c",&opcja);
  208. fflush(stdin);
  209. }while(opcja=='t');
  210. system("cls");
  211. return main();
  212. break;
  213. case 2:
  214.  
  215. break;
  216.  
  217. case 3:
  218. do{
  219.  
  220.  
  221. system("cls");
  222. int wybor4;
  223. float a,b,h,r,H;
  224. printf("1. Obliczanie pola prostokata\n");
  225. printf("2. Obliczanie pola trojkata\n");
  226. printf("3. Obliczanie pola stozka\n");
  227. printf("4. Obliczanie pola walca\n");
  228. printf("5. Obliczanie pola ostroslupa prawidlowego\n");
  229. printf("6. Powrot do menu\n");
  230. printf("0. Wyjscie\n");
  231. scanf("%d",&wybor4);
  232. fflush(stdin);
  233. switch(wybor4){
  234. case 1:
  235. system("cls");
  236. pola_figur=&pole_prostokata;
  237.  
  238. printf("Podaj dlugosc boku a prostokata: \n");
  239. scanf("%f",&a);
  240. fflush(stdin);
  241. printf("Podaj dlugosc boku b prostokata: \n");
  242. scanf("%f",&b);
  243. fflush(stdin);
  244.  
  245. (*pola_figur)(a,b);
  246. break;
  247. case 2:
  248. system("cls");
  249. pola_figur=&pole_trojkata;
  250.  
  251. printf("Podaj dlugosc boku a trojkata: \n");
  252. scanf("%f",&a);
  253. fflush(stdin);
  254. printf("Podaj wysokosc h trojkata: \n");
  255. scanf("%f",&h);
  256. fflush(stdin);
  257.  
  258. (*pola_figur)(a,h);
  259. break;
  260. case 3:
  261. system("cls");
  262. pola_figur=&pole_stozka;
  263.  
  264. printf("Podaj promien podstawy r stozka: \n");
  265. scanf("%f",&r);
  266. fflush(stdin);
  267. printf("Podaj wysokosc H stozka: \n");
  268. scanf("%f",&H);
  269. fflush(stdin);
  270.  
  271. (*pola_figur)(r,H);
  272. break;
  273. case 4:
  274. system("cls");
  275. pola_figur=&pole_walca;
  276.  
  277. printf("Podaj promien podstawy r walca: \n");
  278. scanf("%f",&r);
  279. fflush(stdin);
  280. printf("Podaj wysokosc H walca: \n");
  281. scanf("%f",&H);
  282. fflush(stdin);
  283.  
  284. (*pola_figur)(r,H);
  285. break;
  286. case 5:
  287. system("cls");
  288. pola_figur=&pole_ostroslupa_prawidlowego_czworokatnego;
  289.  
  290. printf("Podaj dlugosc boku podstawy a ostroslupa prawidlowego trojkatnego: \n");
  291. scanf("%f",&a);
  292. fflush(stdin);
  293. printf("Podaj wysokosc sciany bocznej h ostroslupa prawidlowego trojkatnego: \n");
  294. scanf("%f",&h);
  295. fflush(stdin);
  296.  
  297. (*pola_figur)(a,h);
  298. break;
  299. case 6:
  300. system("cls");
  301. return main();
  302. break;
  303. case 0:
  304. system("cls");
  305. printf("Koniec pracy programu!");
  306. return 0;
  307. }
  308. printf("Nacisnij t, aby powrocic do menu obliczania pol.\n");
  309. printf("Nacisnij dowolny klawisz, aby powrocic do glownego menu\n");
  310. scanf("%c",&opcja2);
  311. fflush(stdin);
  312. }while(opcja2=='t');
  313. system("cls");
  314. return main();
  315. break;
  316. case 9:
  317. system("cls");
  318. printf("Koniec pracy programu!");
  319. return 0;
  320. default :
  321. system("cls");
  322. printf("Wybrano nieprawidlowa opcje!\n");
  323. system("pause");
  324. system("cls");
  325. return main();
  326. }
  327.  
  328. return 0;
  329. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement