- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算器编程设计报告
南京理工大学紫金学院VC++课程设计报告
课 程: VC++课程设计 系 别: 计算机系 班 级: 学 号: 姓 名: 课题名称: 计算器与分数计算器 2013.11.26~2013.12.11 指导教师:
2013年 12 月
程序功能介绍
计算器
实现计算器的功能,使它能够进行加,减,乘,除以及四则运算,还使它能够进行开方,正弦,余弦,正切运算,以及华氏温度转换为摄氏温度、摄氏温度转换为华氏温度的运算。
分数计算器
实现分数之间的加,减,乘,除的功能,以及分数与整数之间的比较,还有分数化小数的运算。
课程设计要求
计算器
完善计算器程序,改为可对实数操作。
完善程序,改为多个操作数基本四则运算,遇到0为止。
增加函数、完成四则混合运算,注意算法要考虑运算符的优先级,对应增加主菜单选项。
添加语句,使四则运算具有测试功能,即计算机能够自动出题,并要求客户计算,同时计算机判断用户计算的对错并打分,要求十题为一个单元,加减运算时最高为两位数运算,乘法为两位数乘一位数,除法是两位数或三位数除一位数,且要求没有余数。
分数计算器
完善计算器程序,对main函数的结构进行改进,要求有详细的菜单选项界面,用户不选择退出就可以反复运算。
完善程序,改为多个操作数基本四则运算,遇到0为止。
增加函数、完成四则混合运算,注意算法要考虑运算符的优先级,对应增加主菜单选项。
添加语句,使四则运算具有测试功能,即计算机能够自动出题 ,并要求用户计算,同时计算机判断用户计算的对错并打分,要求十题为一个单元,每题一个运算符,参与运算的分子分母均为一位数,运算符包括加、减、乘、除及大于、小于等逻辑运算。
对课程题目的分析
计算器
在编译计算器程序的时候,要注意类的定义,要用将类进行化简。可以将操作数改为类中的成员数据,可以直接用一个成员函数去实现一种运算方式。
操作数和运算符的输入问题。程序中会涉及大量的操作数的输入,如果只用cin流输入而不加以处理,一旦输入出错,程序会出现非法循环,不能正确运行,要避免这种情况得对输入cin流进行处理,使它能够接受非法输入,能够自动察觉并提示重新输入。
要考虑新增的混合运算的算法,要注意四则混合运算中带括号与不带括号的特殊算法。
测试程序是最麻烦的一项,测试程序是由计算机出题、用户计算,计算机判断对错并给出分数,计算机用随机随机数发生器给出运算符和两个操作数,加减乘都比较简单,但是除法要求没有余数,所以得在产生随机数时先使两个随机数做乘法,然后将结果和一个随机数输出作为除法的两个操作数,这样就能使除法没有余数。
分数计算器
类的封装,不要修改源程序类的定义,新增的实现混合四则运算的函数定义为全局函数,实现时在其中直接定义类的对象,可以充分利用已定义的各种重载运算符,并且main函数要进行修改使得每个菜单选项对应一项功能供用户使用程序设计和说明class oopcalc
{
private:
double x,y;//私有变量X和Y
double fartocel(double number1);//定义华氏温度转化为摄氏温度
double celtofar(double number1);
double sqroot(double number1);
void calcsqr();
void calccos();
void calctan();
void calcsin();
public:
double getX(){return x;}
double getY(){return y;}
double set(){x=number1;y=number2;}
double calcadd(double number1,double number2);//定义加法运算
double calcsub(double number1,double number2);//定义减法运算
double calcdiv(double number1,double number2);//定义除法运算
double calcmult(double number1,double number2);//定义乘法运算
void calcfartocel();
void calcceltofar();
void calcsroot();
void menu();//主菜单函数
void badinput();
void exitprog();
void caculate();//定义混合运算函数
void test();//测试函数
};
class fraction //分数类定义
{
public:
fraction()
您可能关注的文档
最近下载
- 工业机器人安装与调试技术PPT(高职)全套全套教学课件.pptx VIP
- 2023年青海师范大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案).docx VIP
- 青海师范大学《算法设计与分析实验》2021-2022学年期末试卷.doc VIP
- 《甲状腺的超声检查》ppt课件.ppt VIP
- 甲状腺超声检查课件.ppt VIP
- 规范甲状腺超声检查培训课件.pptx VIP
- 青海师范大学《算法设计与分析》2022-2023学年期末试卷.doc VIP
- 创新思维与能力培养课件.ppt VIP
- 规范甲状腺超声检查.PPT VIP
- 青海师范大学《算法设计与分析》2021-2022学年期末试卷.doc VIP
文档评论(0)