Advertisement
Guest User

Untitled

a guest
Oct 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. #include "kalkulator.h"
  2. #include "ui_kalkulator.h"
  3.  
  4. Kalkulator::Kalkulator(QWidget *parent) :
  5. QMainWindow(parent),
  6. ui(new Ui::Kalkulator)
  7. {
  8. ui->setupUi(this);
  9.  
  10. on_pb_c_clicked();
  11. }
  12.  
  13. Kalkulator::~Kalkulator()
  14. {
  15. delete ui;
  16. }
  17.  
  18. void Kalkulator::le_display_add_char(QString text)
  19. {
  20. QString tekst = ui->le_display->text();
  21. if(tekst == "0" ||(isliczba1==true && isoperacja==true))
  22. {
  23. tekst = text;
  24. isoperacja=false;
  25. }
  26. else if(tekst!="0")
  27. {
  28. tekst += text;
  29. }
  30.  
  31. ui->le_display->setText(tekst);
  32.  
  33. }
  34.  
  35. void Kalkulator::operation(Operacje opera)
  36. {
  37. if(operacja>0){
  38. on_pb_equals_clicked();
  39. }
  40. liczba1=ui->le_display->text().replace(',','.').toDouble();
  41. isliczba1=true;
  42.  
  43. operacja=opera;
  44.  
  45. isoperacja=true;
  46.  
  47. ifcomma=false;
  48. }
  49. void Kalkulator::on_pb_0_clicked()
  50. {
  51. le_display_add_char("0");
  52. }
  53.  
  54. void Kalkulator::on_pb_comma_clicked()
  55. {
  56. if(ifcomma == false)
  57. {
  58. le_display_add_char(ui->le_display->text() != "0" ? "," : "0,");
  59.  
  60. ifcomma = true;
  61. }
  62. }
  63.  
  64. void Kalkulator::on_pb_1_clicked()
  65. {
  66. le_display_add_char("1");
  67. }
  68.  
  69. void Kalkulator::on_pb_2_clicked()
  70. {
  71. le_display_add_char("2");
  72. }
  73.  
  74. void Kalkulator::on_pb_3_clicked()
  75. {
  76. le_display_add_char("3");
  77. }
  78.  
  79. void Kalkulator::on_pb_4_clicked()
  80. {
  81. le_display_add_char("4");
  82. }
  83.  
  84. void Kalkulator::on_pb_5_clicked()
  85. {
  86. le_display_add_char("5");
  87. }
  88.  
  89. void Kalkulator::on_pb_6_clicked()
  90. {
  91. le_display_add_char("6");
  92. }
  93.  
  94. void Kalkulator::on_pb_7_clicked()
  95. {
  96. le_display_add_char("7");
  97. }
  98.  
  99. void Kalkulator::on_pb_8_clicked()
  100. {
  101. le_display_add_char("8");
  102. }
  103.  
  104. void Kalkulator::on_pb_9_clicked()
  105. {
  106. le_display_add_char("9");
  107. }
  108.  
  109. void Kalkulator::on_pb_div_clicked()
  110. {
  111. operation(Operacje::div);
  112. }
  113.  
  114. void Kalkulator::on_pb_multi_clicked()
  115. {
  116. operation(Operacje::multi);
  117. }
  118.  
  119. void Kalkulator::on_pb_sub_clicked()
  120. {
  121. operation(Operacje::sub);
  122. }
  123.  
  124. void Kalkulator::on_pb_add_clicked()
  125. {
  126. operation(Operacje::add);
  127. }
  128.  
  129. void Kalkulator::on_pb_c_clicked()
  130. {
  131. liczba1 = 0;
  132. liczba2 = 0;
  133. wynik = 0;
  134. pamiec=0;
  135.  
  136. ifcomma = false;
  137. isliczba1=false;
  138. isoperacja=false;
  139. isequals=false;
  140.  
  141.  
  142. operacja=Operacje::none;
  143.  
  144. ui->le_display->setText("0");
  145. }
  146.  
  147. void Kalkulator::on_pb_MR_clicked()
  148. {
  149. ui->le_display->setText(QString::number(pamiec).replace('.',','));
  150. }
  151.  
  152. void Kalkulator::on_pb_M_clicked()
  153. {
  154. pamiec=ui->le_display->text().replace(',','.').toDouble();
  155. }
  156.  
  157. void Kalkulator::on_pb_equals_clicked()
  158. {
  159. if(operacja>0)
  160. {
  161. liczba2=ui->le_display->text().replace(',','.').toDouble();
  162.  
  163. wynik=0;
  164.  
  165. switch (operacja) {
  166. case Operacje::add:
  167. wynik=liczba1+liczba2;
  168. break;
  169. case Operacje::multi:
  170. wynik=liczba1*liczba2;
  171. break;
  172. case Operacje::div:
  173. wynik=liczba1/liczba2;
  174. break;
  175. case Operacje::sub:
  176. wynik=liczba1-liczba2;
  177. break;
  178. }
  179. ui->le_display->setText(QString::number(wynik).replace('.',','));
  180. ifcomma = false;
  181. isliczba1=false;
  182. isoperacja=false;
  183. isequals=true;
  184. liczba1=0;
  185. liczba2=0;
  186.  
  187. operacja=Operacje::none;
  188. }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement