C++实现简单计算器(sscanf_s)

本文介绍如何利用C++的输入扫描函数sscanf_s来实现一个基本的命令行计算器,支持简单的算术运算。通过读取用户输入的表达式,解析并计算结果,展示了sscanf_s在处理字符串到数值转换中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 3 - 4 - 4 实现一个计算器类,有变量可以存储用户输入的表达式,有变量可以存放计算结果,有接收用户输入的方法,
// 有清空表达式的方法,有计算表达式的方法。有返回结果的方法。(题中表达式为整数运算,且一个算式中只含有一个计算符号)

#include <iostream>

class CCalculator
{
public:
	void clearExpression();    // 清空表达式
	void getExpression();      // 接收用户输入
	double countExpression();    // 计算表达式
private:
	char m_szExpression[20];     // 表达式
	double m_Result;             // 结果
};

void CCalculator::clearExpression()
{
	memset(m_szExpression, 0, 20);
}

void CCalculator::getExpression()
{
	std::cout << "请输入表达式:";
	std::cin >> m_szExpression;
}

double CCalculator::countExpression()
{
	double fTemp1 = 0;
	double fTemp2 = 0;
	char cOperator = '+';
    //注意sscanf_s函数的使用,可以很好得分割字符串
	int re = sscanf_s(m_szExpression, "%lf%c%lf", &fTemp1, &cOperator, 1, &fTemp2);
	switch (cOperator)
	{
	case '+':
	{
		m_Result = fTemp1 + fTemp2;
		break;
	}
	case '-':
	{
		m_Result = fTemp1 - fTemp2;
		break;
	}
	case '*':
	{
		m_Result = fTemp1 *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值