课程设计 分数计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++语言程序设计》课程设计报告
*名:***
指导刘华刘洋
学号:**********
班级:10计本2班
日期:2011年05月20日
重庆工商大学派斯学院 计算机科学系
计算机科学与技术系课程设计评分表
课程名称: 面向对象程序设计 分数计算器
教师签名:
日
期:
C++语言课程设计——简单计算器
说明书
目录
一、设计目标 (4)
二、设计图 (5)
三、图解 (6)
四、调试和测试 (11)
五、分析及结论 (12)
六、附录 (14)
一、设计目标
制作一个分数计算器,以完成分数之间,分数与整数之间的四则运算,以及求分数的指数。系统界面不做牵制要求。在进行运算后可以选择继续运算或者进行下一次新的运算,能实现返回功能。
二、设计图
1、总体设计图
2、详细图
模块功能说明及调用关系说明:
三、图解
1、欢迎使用简单计算器
2、等待系统进入主菜单
在此选择计算类型【选择代码,回车确定】
1、为选择分数与分数之间的四则运算、
2、为选择分数与整数之间的四则运算
3、为分数的指数运算
0、为安全退出程序
3、选择分数与分数之间的四则运算
分数与分数的加法如:18/5+16/3=134/15
分数与分数的减法如:1/6-/2=-1/3
注:在此举例分数与分数的加法、减法
计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择
4、选择分数与整数之间的四则运算
分数与整数的乘法如:1/2*2=1/1
分数与整数的加法如:1/5+6=31/5
注:在此举例分数与整数的乘法、加法
计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择
5、选择分数的指数运算
如:1/3的2次方等于1/9
如:2/3的2次方等于4/9
注:计算完成后,按y或n,选择是否继续,y则继续本类运算,n 为返回到主菜单,再次进行选择
6、安全退出
至此,以安全退出。。。
四、调试和测试
<1>、调试方法:
首先打开Microsoft Visual C++ 6.0 ,运行程序,出现错误修改再运行,直至运行结果0 error ,0 warning结束。接着进入程序界面,看程序能否实现所要求的各项功能,再作下一步的修改。
<2>、调试时出现的问题及解决方案:
1、当多次运行程序时,屏幕被运行数据占满,显得很杂乱。解决方案:引用清屏函数。
2、在进行运算时要实现反复运算得有返回功能,由于我们
程序分支,不能正常的调用完毕后进入下一个循环,自动返
回。
解决方案:直接在switch的cash语句中直接调用所需返回的函数。按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择
3、在一次运算完毕后如何不返回继续作下一次的相同运
算。
解决方案:作用循环语句,结果始终为真,结尾利用if语句控制是否跳入上级菜单或者continue。
4、如何在欢迎界面停留时间。
解决方案:通过for循环,执行无条件的";"的语句,通过执行次数控制程序在欢迎界面的停留时间。
5、还有一些小错误,比如未声明就直接使用变量、未对一
些变量初始化、声明是空值函数却有返回值、缺少";"、使用getch(),system("cls")却缺少相应的头文件,出现警告…………
五、分析及结论
在做这个课程设计报告之初是仿照以前的计算器,但是,由于程序行数做了要求,而且题目要求不一样,所以我就在仿照以前的计算器的同时,进一步完善其功能。该程序是我经过多次编写,修
改,在不懂的问题上,与指导朋友——刘华和刘洋一起讨论,根据观察其他程序,通过菜单选择实现不同功能得到的启发,将自己所需实现的功能通过文字形式的菜单表现出来。然后再菜单处进行选择计算类型,正常完成计算,返回和退出。我最满意的地方是“清屏”和“在界面上停留的时间”,总之这个程序基本能符合我自己的要求。
不足之处:
1、代码重用;
2、不能熟练的运用类;
3、没有用到指针和数组,对数组和指针还不能很好的运用。心得体会:
通过这次课程设计我对这学期所学的C++语言的理论知识得到巩固,达到该设计的基本目的,也发现自己的不足之出,在以后的上机中应更加注意。同时体会到C++语言具有的语句简洁,使用灵活,执行效率高等特点。发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。发现自己对指针还不能正确使用。
通过实际操作,学会 C++语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。深刻体会到“没有做不到的,只有想不到的”,“团结就是力量”,“实践是检验真理的标准”,“不耻下问”……的寓意。
六、附录
附录源代码:
#include
#include
#include
#include
const int n=80000000;
using namespace std;
int xz;
class jsq
{
public:
jsq(){}
~jsq(){}
menu(); //菜单
fenshu(); //分数之间的运算
js(); //整数与分数运算
start(); //开始
zs(); //分数的指数运算
tc(); //退出
fun(int t,int f);//约分函数
private:
int a,b,c,d,i,r,t,t1,f,f1,x;
char n,q;
};
void cd()//进入界面
{
int i,j;
cout< cout<<" ★★★★★★★★★★★★★★★★★★★★★★★★★★"< cout<<" ★***★欢迎使用分数计算器★***★"< cout<<" ★★★★★★★★★★★★★★★★★★★★★★★★★★"< cout< cout<<" ||★★★★★★★★★★★★★★★★★★★★★★★★||"<