Witam

Mam utworzony prosty kalkulator i mam odnośnie go 2 pytania:
1. Czy da się zrobić, żeby przycisk pierwszy obliczał działania podstawowe, a drugi działania dodatkowe (są komentarze w kodzie który to który)? Jak na razie gdy wpiszę wartość do pól w działaniach podstawowych i kliknę oblicz, to pokazuje mi wynik, a pod tym komunikat, żeby wprowadzić wartość do działań dodatkowych. Po prostu chciałbym, żeby były one od siebie niezależne.
2. W działaniach dodatkowych, gdy wpiszę liczbę, spotęguję ją, zaokrąglę i kliknę oblicz to wyświetla się tylko potęga liczby. Jak zrobić, żeby liczba spotęgowała się, zaokrągliła i dopiero wtedy wyświetliła?

  1. <!--##########DZIAŁANIA PODSTAWOWE##########-->
  2.  
  3. <form action="" method="POST">
  4.  
  5. <input type="text" name="liczba1">
  6.  
  7. <select name="znak">
  8.  
  9. <input type="text" name="liczba2">
  10.  
  11. <input type="submit" value="Oblicz"><br /><br />
  12.  
  13. <!--##########DZIAŁANIA DODATKOWE##########-->
  14.  
  15. <input type="text" name="liczbadodatkowa">
  16.  
  17. <select name="potegi">
  18.  
  19. <select name="zaokraglanie">
  20.  
  21. <select name="zaokraglanie2">
  22.  
  23. <input type="submit" value="Oblicz"><br /><br />
  24.  
  25. </form>

  1. //##########PHP DZIAŁANIA PODSTAWOWE##########
  2.  
  3. if (!empty($_POST)){
  4.  
  5. $liczba1 = $_POST["liczba1"];
  6. $liczba2 = $_POST["liczba2"];
  7. $znak = $_POST["znak"];
  8. $liczbadodatkowa = $_POST["liczbadodatkowa"];
  9. $zaokraglanie = $_POST["zaokraglanie"];
  10. $zaokraglanie2 = $_POST["zaokraglanie2"];
  11. $potegi = $_POST["potegi"];
  12.  
  13. switch ($znak){
  14. case "+":
  15. $wynik = $liczba1+$liczba2;
  16. break;
  17. case "-":
  18. $wynik = $liczba1-$liczba2;
  19. break;
  20. case "*":
  21. $wynik = $liczba1*$liczba2;
  22. break;
  23. case "/":
  24. $wynik = $liczba1/$liczba2;
  25. break;
  26. }
  27.  
  28. $pustepole1 = empty($liczba1);
  29. $pustepole2 = empty($liczba2);
  30. $zawartoscpola1 = is_numeric($liczba1);
  31. $zawartoscpola2 = is_numeric($liczba2);
  32.  
  33. if(($pustepole1==true)and($pustepole2==true)){
  34. echo "Wypenij oba pola!";
  35. }elseif($pustepole1==true){
  36. echo "Wypenij pierwsze pole!";
  37. }elseif($pustepole2==true){
  38. echo "Wypenij drugie pole!";
  39. }elseif(($zawartoscpola1==false)&&($zawartoscpola2==false)){
  40. echo "Dozwolone są tylko liczby (w zapisywaniu ułamka użyj zamiast przecinka kropkę)!";
  41. }elseif($zawartoscpola1==false){
  42. echo "Dozwolone są tylko liczby (w zapisywaniu ułamka użyj zamiast przecinka kropkę)!";
  43. }elseif($zawartoscpola2==false){
  44. echo "Dozwolone są tylko liczby (w zapisywaniu ułamka użyj zamiast przecinka kropkę)!";
  45. }else{
  46. echo "Wynik to $wynik";
  47.  
  48. }
  49.  
  50. //##########PHP DZIAŁANIA DODATKOWE##########
  51.  
  52. switch ($zaokraglanie){
  53. case "-":
  54. $liczbadodatkowa = $liczbadodatkowa;
  55. break;
  56. case 0:
  57. $liczbadodatkowa = number_format($liczbadodatkowa, 0);
  58. break;
  59. case 1:
  60. $liczbadodatkowa = number_format($liczbadodatkowa, 1);
  61. break;
  62. case 2:
  63. $liczbadodatkowa = number_format($liczbadodatkowa, 2);
  64. break;
  65. case 3:
  66. $liczbadodatkowa = number_format($liczbadodatkowa, 3);
  67. break;
  68. case 4:
  69. $liczbadodatkowa = number_format($liczbadodatkowa, 4);
  70. break;
  71. case 5:
  72. $liczbadodatkowa = number_format($liczbadodatkowa, 5);
  73. break;
  74. case 6:
  75. $liczbadodatkowa = number_format($liczbadodatkowa, 6);
  76. break;
  77. case 7:
  78. $liczbadodatkowa = number_format($liczbadodatkowa, 7);
  79. break;
  80. case 8:
  81. $liczbadodatkowa = number_format($liczbadodatkowa, 8);
  82. break;
  83. case 9:
  84. $liczbadodatkowa = number_format($liczbadodatkowa, 9);
  85. break;
  86. case 10:
  87. $liczbadodatkowa = number_format($liczbadodatkowa, 10);
  88. break;
  89. case 11:
  90. $liczbadodatkowa = number_format($liczbadodatkowa, 11);
  91. break;
  92. case 12:
  93. $liczbadodatkowa = number_format($liczbadodatkowa, 12);
  94. break;
  95. case 13:
  96. $liczbadodatkowa = number_format($liczbadodatkowa, 13);
  97. break;
  98. }
  99.  
  100. switch ($zaokraglanie2){
  101. case "-":
  102. $liczbadodatkowa = $liczbadodatkowa;
  103. break;
  104. case 0:
  105. $liczbadodatkowa = round($liczbadodatkowa, 0);
  106. break;
  107. case 1:
  108. $liczbadodatkowa = round($liczbadodatkowa, -1);
  109. break;
  110. case 2:
  111. $liczbadodatkowa = round($liczbadodatkowa, -2);
  112. break;
  113. case 3:
  114. $liczbadodatkowa = round($liczbadodatkowa, -3);
  115. break;
  116. case 4:
  117. $liczbadodatkowa = round($liczbadodatkowa, -4);
  118. break;
  119. case 5:
  120. $liczbadodatkowa = round($liczbadodatkowa, -5);
  121. break;
  122. case 6:
  123. $liczbadodatkowa = round($liczbadodatkowa, -6);
  124. break;
  125. case 7:
  126. $liczbadodatkowa = round($liczbadodatkowa, -7);
  127. break;
  128. case 8:
  129. $liczbadodatkowa = round($liczbadodatkowa, -8);
  130. break;
  131. case 9:
  132. $liczbadodatkowa = round($liczbadodatkowa, -9);
  133. break;
  134. case 10:
  135. $liczbadodatkowa = round($liczbadodatkowa, -10);
  136. break;
  137. case 11:
  138. $liczbadodatkowa = round($liczbadodatkowa, -11);
  139. break;
  140. case 12:
  141. $liczbadodatkowa = round($liczbadodatkowa, -12);
  142. break;
  143. case 13:
  144. $liczbadodatkowa = round($liczbadodatkowa, -13);
  145. break;
  146. case 14:
  147. $liczbadodatkowa = round($liczbadodatkowa, -14);
  148. break;
  149. }
  150.  
  151. switch ($potegi){
  152. case "-":
  153. $liczbadodatkowa = $liczbadodatkowa;
  154. break;
  155. case 0:
  156. $liczbadodatkowa = 1;
  157. break;
  158. case 1:
  159. $liczbadodatkowa = $liczbadodatkowa;
  160. break;
  161. case 2:
  162. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa;
  163. break;
  164. case 3:
  165. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa;
  166. break;
  167. case 4:
  168. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa;
  169. break;
  170. case 5:
  171. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa;
  172. break;
  173. case 6:
  174. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa;
  175. break;
  176. case 7:
  177. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*
  178. $liczbadodatkowa;
  179. break;
  180. case 8:
  181. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*
  182. $liczbadodatkowa*$liczbadodatkowa;
  183. break;
  184. case 9:
  185. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*
  186. $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa;
  187. break;
  188. case 10:
  189. $liczbadodatkowa = $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*
  190. $liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa*$liczbadodatkowa;
  191. break;
  192.  
  193. }
  194.  
  195. $pustedodatkowepole = empty($liczbadodatkowa);
  196. $zawartoscdodatkowegopola = is_numeric($liczbadodatkowa);
  197.  
  198. if ($pustedodatkowepole==true){
  199. echo "<br />Wypełnij to pole!";
  200. }elseif($zawartoscdodatkowegopola==false){
  201. echo "<br />Dozwolone są tylko liczby (w zapisywaniu ułamka użyj zamiast przecinka kropkę)!";
  202. }else{
  203. echo "<br />$liczbadodatkowa";
  204. }
  205.  
  206. }