牛客网 CPP54 实现简单计算器功能

描述

键盘输入一个字符串,格式:运算方式 整数1 整数2,编写程序解析出字符串中的 3 部分内容,然后做相应的运算,并输出结果。

例如:

输入“add 10 20”,则做加法运算(10+20);

输入“sub 10 20”,则做减法运算(10-20);

输入“mul 10 20”,则做乘法运算(10*20);

输入“div 10 20”,则做除法运算(10/20),如果除数为 0,则不做运算,输出“Error”;

注意:运算方式忽略大小写,即 “add” 同 “Add”、“ADD”等。

输入描述:

键盘输入一个字符串,格式:运算方式 整数1 整数2

整数范围为[-100, 100]

输出描述:

输出运算后的结果(除法不考虑小数),如果除数为 0,则不做运算,输出“Error”

AC代码:

#include <iostream>
#include <string.h>
#include <sstream>

using namespace std;

int StoI(string x){
    stringstream ss(x);
    int t;
    ss>>t;
    return t;
}

int main() {

    char str[100] = { 0 };
    cin.getline(str, sizeof(str));
    
    string op="";
    string sa,sb;
    int len=strlen(str);
    int k=0;
    while(str[k]!=' ' && k<len)
        op+=str[k++];
    k++;
    while(str[k]!=' ' && k<len)
        sa+=str[k++];
    k++;
    while(str[k]!=' ' && k<len)
        sb+=str[k++];
    
    int a=StoI(sa);
    int b=StoI(sb);
    
    //将op全部小写
    for(int i=0;i<op.length();i++){
        if(op[i]>='a' && op[i]<='z')
            continue;
        op[i]+='A'-'a';
    }
    int res;
    
    if(op=="div" && b==0){
        cout<<"Error"<<endl;    
    }

	else{
		if(op=="add")
			res=a+b;
		else if(op=="sub")
			res=a-b;
		else if(op=="mul")
			res=a*b;
		else
			res=a/b;
        
         cout<<res<<endl;
	}
       
   
   
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的示例代码,用于演示如何使用 Qt 插件机制在 Visual Studio 2022 编译器上实现一个简易计算器: 首先是 `CalculatorWidget` 类,用于实现计算器界面和逻辑: ```cpp #ifndef CALCULATORWIDGET_H #define CALCULATORWIDGET_H #include <QWidget> #include <QLineEdit> #include <QPushButton> class CalculatorWidget : public QWidget { Q_OBJECT public: explicit CalculatorWidget(QWidget *parent = nullptr); private slots: void onDigitClicked(); void onOperatorClicked(); void onEqualClicked(); void onClearClicked(); private: QLineEdit *m_display; QPushButton *m_digitButtons[10]; QPushButton *m_operatorButtons[4]; QString m_currentNumber; QString m_pendingOperator; double m_pendingOperand; bool m_waitingForOperand; }; #endif // CALCULATORWIDGET_H ``` 接下来是 `CalculatorPlugin` 类,用于实现 Qt 插件接口: ```cpp #ifndef CALCULATORPLUGIN_H #define CALCULATORPLUGIN_H #include <QObject> #include <QtDesigner/QDesignerCustomWidgetInterface> class CalculatorPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDesignerCustomWidgetInterface") Q_INTERFACES(QDesignerCustomWidgetInterface) public: explicit CalculatorPlugin(QObject *parent = nullptr); QString name() const override; QString group() const override; QString toolTip() const override; QString whatsThis() const override; QIcon icon() const override; bool isContainer() const override; QWidget *createWidget(QWidget *parent) override; void initialize(QDesignerFormEditorInterface *formEditor) override; bool isInitialized() const override; void uninitialize() override; private: bool m_initialized; }; #endif // CALCULATORPLUGIN_H ``` 最后是 `CalculatorPlugin` 类的实现: ```cpp #include "calculatorplugin.h" #include "calculatorwidget.h" #include <QtPlugin> CalculatorPlugin::CalculatorPlugin(QObject *parent) : QObject(parent) { m_initialized = false; } QString CalculatorPlugin::name() const { return QStringLiteral("CalculatorWidget"); } QString CalculatorPlugin::group() const { return QStringLiteral("Custom Widgets"); } QString CalculatorPlugin::toolTip() const { return QStringLiteral("A simple calculator widget"); } QString CalculatorPlugin::whatsThis() const { return QStringLiteral("A simple calculator widget"); } QIcon CalculatorPlugin::icon() const { return QIcon(); } bool CalculatorPlugin::isContainer() const { return false; } QWidget *CalculatorPlugin::createWidget(QWidget *parent) { return new CalculatorWidget(parent); } void CalculatorPlugin::initialize(QDesignerFormEditorInterface *formEditor) { if (m_initialized) return; m_initialized = true; } bool CalculatorPlugin::isInitialized() const { return m_initialized; } void CalculatorPlugin::uninitialize() { if (!m_initialized) return; m_initialized = false; } Q_EXPORT_PLUGIN2(calculatorplugin, CalculatorPlugin) ``` 这些代码只是一个简单的示例,实现一个基本的计算器功能。如果你需要更详细的代码实现,可以参考 Qt 的官方文档和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值