重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本次实验通过实现计算器程序,以熟悉 C++为程序员提供的模块相关机制,学会模块化程序设计范型的基本策略,能够灵活运用相应机制,提高编程水平。
创新互联公司是一家专注网站建设、网络营销策划、微信小程序、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立10多年以来,已经为1000+成都纸箱各业的企业公司提供互联网服务。现在,服务的1000+客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。操作系统:win10
开发工具:Visual Studio2015
将桌面计算器按照以下要求改造实现:
若命令行指明输入文件,则程序从该文件读入表达式。
实验思路:采用多个头文件、多个源文件的方式实现完整程序,分号或回车,认为一个表达式结束,并记作一行,在处理过程中累计行数;当输入的内容不符合计算器语法规定时,提示错误原因并且提示相应的出错行号,支持命令行参数,用以指明0个或1个输入文件。
关键数据结构定义和类的接口定义:
enum Token_value {
NAME, NUMBER, END,
PLUS = '+', MINUS = '-', MUL = '*', DIV = '/',
PRINT = ';', ASSIGN = '=', LP = '(', RP = ')'
};
map
实验源码
https://download.csdn.net/download/weixin_52552833/87190521
问题和解决方案:c++的sstream流的运用,可以从中分别读出运算式子的数字与字符还有去除括号时将未处理字符(即非括号内的字符)以及括号内的子式处理结果输出到流中,便于迭代去除括号。
输入:
1+
2*3
-4/2
=
输出:5
输入:2*(2+3)-(1+2)=
输出:7
输入:1,2
输出:error: bad token
本次实验的实现计算器程序,让我熟悉 C++为程序员提供的模块相关机制,并且学会模块化程序设计范型的基本策略,提高个人的编程水平。但是在运用相应机制的时候还是不够灵活,熟话说,熟能生巧,我相信,通过更多对这方面的练习,我能灵活运用这些机制来解决编程的所带来的问题。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧