当前位置:首页 > 基于嵌入式linux计算器的实现
沈阳航空航天大学课程设计报告 附 录
factorSoFar = 0.0;
pendingMultiplicativeOperator.clear(); }
if (!pendingAdditiveOperator.isEmpty()) {
if (!calculate(operand, pendingAdditiveOperator)) { abortOperation();
return;
}
pendingAdditiveOperator.clear(); } else {
sumSoFar = operand; }
display->setText(QString::number(sumSoFar)); sumSoFar = 0.0;
waitingForOperand = true; } //! [20] //! [22]
void Calculator::pointClicked() {
if (waitingForOperand) display->setText(\ if (!display->text().contains(\
display->setText(display->text() + tr(\ waitingForOperand = false; } //! [22] //! [24]
-19-
沈阳航空航天大学课程设计报告 附 录
void Calculator::changeSignClicked() {
QString text = display->text(); double value = text.toDouble(); if (value > 0.0) { text.prepend(tr(\ } else if (value < 0.0) { text.remove(0, 1); }
display->setText(text); } //! [24] //! [26]
void Calculator::backspaceClicked() {
if (waitingForOperand) return;
QString text = display->text(); text.chop(1); if (text.isEmpty()) { text = \
waitingForOperand = true; }
display->setText(text); } //! [26] //! [28]
void Calculator::clear()
-20-
沈阳航空航天大学课程设计报告 附 录
{
if (waitingForOperand) return;
display->setText(\ waitingForOperand = true; } //! [28] //! [30]
void Calculator::clearAll() {
sumSoFar = 0.0; factorSoFar = 0.0;
pendingAdditiveOperator.clear(); pendingMultiplicativeOperator.clear(); display->setText(\ waitingForOperand = true; } //! [30] //! [32]
void Calculator::clearMemory() {
sumInMemory = 0.0; }
void Calculator::readMemory() {
display->setText(QString::number(sumInMemory));
-21-
沈阳航空航天大学课程设计报告 附 录
waitingForOperand = true; }
void Calculator::setMemory() {
equalClicked();
sumInMemory = display->text().toDouble(); }
void Calculator::addToMemory() {
equalClicked();
sumInMemory += display->text().toDouble(); } //! [32] //! [34]
Button *Calculator::createButton(const QString &text, const char *member) {
Button *button = new Button(text);
connect(button, SIGNAL(clicked()), this, member); return button; } //! [34] //! [36]
void Calculator::abortOperation() {
clearAll();
display->setText(tr(\
-22-
共分享92篇相关文档