91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 25KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-05-14
  • 語(yǔ)言: 其他
  • 標(biāo)簽:

資源簡(jiǎn)介

本項(xiàng)目使用了Qt5.3.2版本進(jìn)行開(kāi)發(fā),使用了設(shè)計(jì)模式中的簡(jiǎn)單工廠設(shè)計(jì)模式,支持四則運(yùn)算,三角函數(shù)運(yùn)算和冪運(yùn)算,是屬于計(jì)算器中的科學(xué)計(jì)算型計(jì)算器

資源截圖

代碼片段和文件信息

#include?“operationcalculate.h“
#include?
#include?
#include?

OperationCalculate::OperationCalculate()
{

}

void?OperationCalculate::setOperationCalculateStr(QString?&strAbstractOperation?*abstractOperation)
{
????QString?operationCalculateStr;
????operationCalculateStr?=?str;

????str.clear();
????str.append(“\n“);
????str.append(“=“);

????//將獲取到的中綴表達(dá)式轉(zhuǎn)換成后綴表達(dá)式,使用后綴表達(dá)式進(jìn)行求值
????infixConvertPostfix(operationCalculateStr);
????qDebug()?<????postFixOperation(operationCalculateStrabstractOperation);
????//將計(jì)算的結(jié)果賦值給str并顯示到界面中
????//只有結(jié)果
????str.append(operationCalculateStr);
}

//中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式
void?OperationCalculate::infixConvertPostfix(QString?&str)
{
????QStack?operatorStack;
????QStringList?strList;
????QString?temp;

????operatorStack.clear();
????strList.clear();

????//首先將字符串進(jìn)行切割
????for(int?i?=?0;i?????{
????????strList.append(str.mid(i1));
????}

????//用于接受轉(zhuǎn)化的后綴表達(dá)式即接收棧的輸出
????str.clear();

????/*************中綴變后綴步驟****************/
????for(int?i?=?0;i?????{
????????temp?=?strList.at(i);
????????//遇到左括號(hào)?壓棧
????????if(?!temp.compare(“(“)?)
????????{
????????????operatorStack.push(temp);
????????}else?if(?!temp.compare(“)“))???????//遇到右括號(hào)出棧
????????{
????????????str.append(““);
????????????//不接收右括號(hào)的輸出
????????????//判斷棧頂元素是否是左括號(hào)是左括號(hào)則停止出棧
????????????while(?operatorStack.top().compare(“(“)?)
????????????{
????????????????//接收除去左括號(hào)和右括號(hào)的輸出
????????????????str.append(operatorStack.pop());
????????????????str.append(““);
????????????}

????????????//將左括號(hào)出棧不接收左括號(hào)輸出
????????????operatorStack.pop();

????????}else?if(?isOperator(temp)?)??????//操作符和運(yùn)算數(shù)
????????{
????????????str.append(““);
????????????//操作符之前先追加一個(gè)逗號(hào),區(qū)分前后的兩個(gè)操作數(shù)
????????????//棧頂元素的優(yōu)先級(jí)要高并且棧不為空
????????????while(?!operatorStack.isEmpty()?&&?prePriority(operatorStack.top()temp)?>?0?)
????????????{
????????????????//將棧頂元素出棧并接收
????????????????str.append(operatorStack.pop());
????????????????str.append(““);
????????????}

????????????operatorStack.push(temp);

????????}else???????//是操作數(shù),直接輸出
????????{
????????????str.append(temp);
????????}
????}

????//遇到負(fù)數(shù)的情況時(shí),最后的數(shù)字后面沒(méi)有逗號(hào)
????if(str.right(1)?!=?““)
????{
????????str.append(““);
????}
????//剩余的運(yùn)算符出棧
????while(!operatorStack.isEmpty())
????{
????????str.append(operatorStack.pop());
????????str.append(““);
????}
}

//后綴表達(dá)式的運(yùn)算
void?OperationCalculate::postFixOperation(QString?&strAbstractOperation?*abstractOperation)
{
????QStringList?strList;
????QStack?stackStr;
????QString?unaryOperate;
????QString?unaryNum;
????QString?temp;
????QString?result;

????strList?=?str.split(““);
????str.clear();
????qDebug()?<????while(strList.contains(““))
????{
????????strList.replace(strList.indexOf(““)“0“);
????}

????if(?!strList.last().compare(“0“)?)
????{
????????strList.removeLast();
?

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-12-13?09:29??Calculator\
?????文件?????????634??2015-12-11?18:10??Calculator\Calculator.pro
?????文件???????18233??2015-12-13?09:29??Calculator\Calculator.pro.user
?????文件?????????656??2015-12-13?09:30??Calculator\Readme.txt
?????目錄???????????0??2015-12-11?18:09??Calculator\Src\
?????目錄???????????0??2015-12-13?09:28??Calculator\Src\OperationCalculate\
?????文件??????????96??2015-12-11?18:10??Calculator\Src\OperationCalculate\OperationCalculate.pri
?????文件????????6852??2015-12-13?09:28??Calculator\Src\OperationCalculate\operationcalculate.cpp
?????文件?????????736??2015-12-13?09:26??Calculator\Src\OperationCalculate\operationcalculate.h
?????目錄???????????0??2015-12-13?09:11??Calculator\Src\OperationFunction\
?????文件?????????802??2015-12-13?09:09??Calculator\Src\OperationFunction\OperationFunction.pri
?????文件?????????551??2015-12-11?16:13??Calculator\Src\OperationFunction\abstractoperation.cpp
?????文件?????????409??2015-12-11?15:05??Calculator\Src\OperationFunction\abstractoperation.h
?????文件?????????220??2015-12-11?16:13??Calculator\Src\OperationFunction\operationadd.cpp
?????文件?????????306??2015-12-11?15:31??Calculator\Src\OperationFunction\operationadd.h
?????文件?????????201??2015-12-12?19:23??Calculator\Src\OperationFunction\operationcos.cpp
?????文件?????????220??2015-12-12?19:22??Calculator\Src\OperationFunction\operationcos.h
?????文件?????????311??2015-12-12?15:28??Calculator\Src\OperationFunction\operationdiv.cpp
?????文件?????????222??2015-12-11?14:12??Calculator\Src\OperationFunction\operationdiv.h
?????文件????????2266??2015-12-13?09:11??Calculator\Src\OperationFunction\operationfactory.cpp
?????文件????????1126??2015-12-13?09:11??Calculator\Src\OperationFunction\operationfactory.h
?????文件?????????182??2015-12-12?19:29??Calculator\Src\OperationFunction\operationln.cpp
?????文件?????????230??2015-12-12?19:29??Calculator\Src\OperationFunction\operationln.h
?????文件?????????184??2015-12-12?19:24??Calculator\Src\OperationFunction\operationlog.cpp
?????文件?????????239??2015-12-12?19:24??Calculator\Src\OperationFunction\operationlog.h
?????文件?????????220??2015-12-11?16:14??Calculator\Src\OperationFunction\operationmul.cpp
?????文件?????????220??2015-12-11?14:10??Calculator\Src\OperationFunction\operationmul.h
?????文件?????????205??2015-12-13?09:11??Calculator\Src\OperationFunction\operationpower.cpp
?????文件?????????251??2015-12-13?09:10??Calculator\Src\OperationFunction\operationpower.h
?????文件?????????203??2015-12-12?15:49??Calculator\Src\OperationFunction\operationsin.cpp
?????文件?????????220??2015-12-12?15:43??Calculator\Src\OperationFunction\operationsin.h
............此處省略21個(gè)文件信息

評(píng)論

共有 條評(píng)論