Witam.Jestem początkujący w Qt creatorze . Wykonałem kalkutor z operacjami dodawania/odejmowania/dzielenia i mnożenia,fajnie to wygląda tylko brakuje odpowiedniego działania wciskając przycisk pushbutton mnożenie/dodawanie/odejmowanie wyskakuje wynik 0 gdy dzielenia nan . Czy mógłby mi ktoś pomóc ?
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_p7_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"7");
}
void MainWindow::on_p8_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"8");
}
void MainWindow::on_p9_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"9");
}
void MainWindow::on_p4_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"4");
}
void MainWindow::on_p5_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"5");
}
void MainWindow::on_p6_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"6");
}
void MainWindow::on_p1_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"1");
}
void MainWindow::on_p2_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"2");
}
void MainWindow::on_p3_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"3");
}
void MainWindow::on_p0_clicked()
{
ui->aktualne->setText (ui->aktualne->text()+"0");
}
void MainWindow::on_plus_clicked()
{
QString Txt= ui->aktualne->text();
double x= Txt.toDouble();
ui->aktualne->setText(QString("%1").arg(x));
ui->aktualne->setText(ui->aktualne->text()+"+");
left=ui->aktualne->text().toDouble();
opt=plus;
}
void MainWindow::on_pushButton_15_clicked()
{
ui->aktualne->setText(ui->aktualne->text()+"=");
right=ui->aktualne->text().toDouble();
double tmp;
switch (opt) {
case plus:
tmp=right+left;
ui->aktualne->setText(QString::number(tmp));
}
switch (opt){
case minus:
tmp=right-left;
ui->aktualne->setText(QString::number(tmp));
}
ui->aktualne->setText(QString::number(tmp));
switch (opt){
case multiply:
tmp=right*left;
ui->aktualne->setText(QString::number(tmp));
}
ui->aktualne->setText(QString::number(tmp));
switch (opt){
case devide:
tmp=right/left;
ui->aktualne->setText(QString::number(tmp));
}
}
void MainWindow::on_pushButton_14_clicked()
{
ui->aktualne->clear();
}
void MainWindow::on_commaBtn_clicked()
{
ui->aktualne->setText(ui->aktualne->text()+",");
}
void MainWindow::on_pushButton_2_clicked()
{
ui->aktualne->setText(ui->aktualne->text()+"000");
}
void MainWindow::on_minus_clicked()
{
ui->aktualne->setText(ui->aktualne->text()+"-");
left=ui->aktualne->text().toDouble();
opt=minus;
}
void MainWindow::on_multiply_clicked()
{
ui->aktualne->setText(ui->aktualne->text()+"*");
left=ui->aktualne->text().toDouble();
opt=multiply;
}
void MainWindow::on_devide_clicked()
{
ui->aktualne->setText(ui->aktualne->text()+"/");
}