• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: 计算器  Qt  

资源简介

使用Qt写的计算器简易程序,代码中备注了各个函数的作用,适合新手学习使用。

资源截图

代码片段和文件信息

#include “calculator.h“
#include “ui_calculator.h“

calculator::calculator(QWidget *parent) :
    QWidget(parent)
    ui(new Ui::calculator)
{
    ui->setupUi(this);
}

calculator::~calculator()
{
    delete ui;
}

void calculator::numClick(int i)
{
    numStr = numStr+QString::number(i);
    firstnum = numStr.toFloat();
    ui->diplayLable->setText(historyStr+QString::number(firstnum));
}
//点击数字时进行的操作
void calculator::on_n0_clicked()
{
    numClick(0);
}

void calculator::on_n1_clicked()
{
    numClick(1);
}

void calculator::on_n2_clicked()
{
    numClick(2);
}

void calculator::on_n3_clicked()
{
    numClick(3);
}

void calculator::on_n4_clicked()
{
    numClick(4);
}

void calculator::on_n5_clicked()
{
    numClick(5);
}

void calculator::on_n6_clicked()
{
    numClick(6);
}

void calculator::on_n7_clicked()
{
   numClick(7);
}

void calculator::on_n8_clicked()
{
   numClick(8);
}

void calculator::on_n9_clicked()
{
    numClick(9);
}
//点击小数点时
void calculator::on_dot_clicked()
{
    numStr = numStr+“.“;
    firstnum = numStr.toFloat();
    ui->diplayLable->setText(historyStr+QString::number(firstnum)+“.“);
}
//-------------------------------------------//
float calculator::cheakSymbol()
{//检查下一步操作之前是否有未运算的符号,有则进行运算,并输出运算结果
    float result = firstnum ;
    switch(symbol)
    {
        case 1 :result = secondnum + firstnum ;break;
        case 2 :result = secondnum - firstnum ;break;
        case 3 :result = secondnum * firstnum ;break;
        case 4 :result = secondnum / firstnum ;break;
    }
    return result;
}
void calculator::symClick(int i)
{//点击符号时要进行的操作
    firstnum = cheakSymbol();
    symbol = i;
    secondnum = firstnum;
    numStr = ““;
    ui->diplayLable->setText(historyStr = QString::number(secondnum)+sym[i]);
}
void calculator::on_add_clicked()
{
    symClick(1);
}

void calculator::on_sub_clicked()
{
    symClick(2);
}

void calculator::on_mul_clicked()
{
    symClick(3);
}

void calculator::on_div_clicked()
{
   symClick(4);
}

void calculator::on_equ_clicked()
{
    float result = cheakSymbol() ;
    if(symbol != 0)
    {
        firstnum = result ;
        secondnum = 0;
        numStr=historyStr=““;
        ui->diplayLable->setText(“= “+QString::number(result));
    }
    symbol=0;

}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2505  2018-01-18 10:11  calculator.cpp
     文件        1162  2018-01-18 10:12  calculator.h
     文件         383  2018-01-17 19:50  calculator.pro
     文件        4964  2018-01-18 08:58  calculator.ui
     文件         183  2018-01-17 19:50  main.cpp

评论

共有 条评论