c语言程序设计课程设计报告分数计算器.docx

上传人:b****2 文档编号:1819698 上传时间:2023-05-01 格式:DOCX 页数:15 大小:43.38KB
下载 相关 举报
c语言程序设计课程设计报告分数计算器.docx_第1页
第1页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第2页
第2页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第3页
第3页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第4页
第4页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第5页
第5页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第6页
第6页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第7页
第7页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第8页
第8页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第9页
第9页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第10页
第10页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第11页
第11页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第12页
第12页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第13页
第13页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第14页
第14页 / 共15页
c语言程序设计课程设计报告分数计算器.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言程序设计课程设计报告分数计算器.docx

《c语言程序设计课程设计报告分数计算器.docx》由会员分享,可在线阅读,更多相关《c语言程序设计课程设计报告分数计算器.docx(15页珍藏版)》请在冰点文库上搜索。

c语言程序设计课程设计报告分数计算器.docx

c语言程序设计课程设计报告分数计算器

《C++语言程序设计》课程设计报告

姓名:

指导

学号:

班级:

10计本2班

日期:

2011年05月20日

计算机科学与技术系课程设计评分表

课程名称:

面向对象程序设计分数计算器

项目

评价

设计方案的合理性与创造性

设计与调试结果

设计说明书的质量

功能完善度

综合成绩

学号

班级

姓名

综合成绩

教师签名:

日期:

C++语言课程设计——简单计算器

说明书

一、设计目标

制作一个分数计算器,以完成分数之间,分数与整数之间的四则运算,以及求分数的指数。

系统界面不做牵制要求。

在进行运算后可以选择继续运算或者进行下一次新的运算,能实现返回功能。

二、设计图

1、总体设计图

 

2、详细图

 

case1

case2

case3

fenshu()

js()

js()

zs()

 

模块功能说明及调用关系说明:

三、图解

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

6、安全退出

注:

计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择

至此,以安全退出。

四、调试和测试

<1>、调试方法:

首先打开MicrosoftVisualC++6.0,运行程序,出现错误修改再运行,直至运行结果0error,0warning结束。

接着进入程序界面,看程序能否实现所要求的各项功能,再作下一步的修改。

<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//库函数

constintn=;

usingnamespacestd;

intxz;

classjsq

{

public:

jsq(){}

~jsq(){}

menu();//菜单

fenshu();//分数之间的运算

js();//整数与分数运算

start();//开始

zs();//分数的指数运算

tc();//退出

fun(intt,intf);//约分函数

private:

inta,b,c,d,i,r,t,t1,f,f1,x;

charn,q;

};

voidcd()//进入界面

{

inti,j;

cout<

cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★★"<

cout<<"★***★欢迎使用分数计算器★***★"<

cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★★"<

cout<

cout<<"||★★★★★★★★★★★★★★★★★★★★★★★★||"<

cout<<"||★********************************************★||"<

cout<<"||★重庆工商大学派斯学院★||"<

cout<<"||★计算机科学系★||"<

cout<<"||★制作人:

10计本2邓寅森★||"<

cout<<"||★2011年5月★||"<

cout<<"||★********************************************★||"<

cout<<"||★★★★★★★★★★★★★★★★★★★★★★★★||"<

{

cout<

for(i=0;i

cout<<"在";

for(i=0;i

cout<<"进";

for(i=0;i

cout<<"入";

for(i=0;i

cout<<"系";

for(i=0;i

cout<<"统";

for(i=0;i

cout<<",";

for(i=0;i

cout<<"请";

for(i=0;i

cout<<"稍";

for(i=0;i

cout<<"等";

for(i=0;i

for(j=0;j<=6;j++)

{

cout<<".";

for(i=0;i

}

for(i=0;i<8*n;i++);

cout<

cout<

}

for(j=0;j<=50;j++)

{

cout<<"<";

for(i=0;i<=;i++);

}

}

jsq:

:

menu()//主菜单

{

do{

system("cls");//清屏

cout<

cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★"<

cout<<"★******************简单计算器******************★"<

cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★"<

cout<<"1:

分数之间的运算"<

cout<<"2:

整数与分数运算"<

cout<<"3:

分数的指数运算"<

cout<<"0:

退出"<

cout<<"请按键选择,回车确定";

cin>>xz;

}while(xz<0||xz>3);//循环结束条件

}

jsq:

:

start()//自定义科学函数

{

jsqjs;

js.menu();

while(xz>=1&&xz<=3)

{

switch(xz)

{

case1:

{

js.fenshu();

break;

}

case2:

{

js.js();

break;

}

case3:

{

js.zs();

break;

}

}

cout<

cout<<"是否继续进行运算(Y\\N):

";//提示是否继续

if(getch()=='n')

js.menu();//调用标准函数实现返回

elsecontinue;//重复上一次法则运算

}

if(xz==0)

js.tc();

}

jsq:

:

fun(intt=0,intf=0)//约分

{

intr,t1=t,f1=f;

while((r=t%f)!

=0)

{t=f;

f=r;

}

t1=t1/f;

f1=f1/f;

cout<

"<

}

jsq:

:

tc()//退出

{

cout<

for(;i<30000;i++);/*控制界面停留时间*/

system("cls");//清屏

cout<

cout<<"★谢谢使用★"<

cout<<"★bay-bay★"<

cout<<"★★★★★★★★★"<

for(;i<0;i++);/*控制界面停留时间*/

system("cls");//清屏

}

jsq:

:

fenshu()//自定义分数函数

{

jsqjs;

system("cls");

cout<

cout<<"======================"<

cout<<"欢迎使用分数之间的计算"<

cout<<"======================"<

cout<<"输入第一个分数【形如:

1/2】:

";

cin>>a>>n>>b;

cout<

";

cin>>q;

cout<

1/2】:

";

cin>>c>>n>>d;

if(b==0||d==0)

{cout<

switch(q)

{

case'+':

t1=t=a*d+b*c;//分子

f1=f=b*d;//分母

js.fun(t1,f1);

break;

case'-':

t1=t=a*d-b*c;

f1=f=b*d;

js.fun(t1,f1);

break;

case'*':

t1=t=a*c;

f1=f=b*d;

js.fun(t1,f1);

break;

case'/':

t1=t=a*d;

f1=f=b*c;

js.fun(t1,f1);

break;

}

}

jsq:

:

js()//自定义分数函数【分数+整数】

{

system("cls");//清屏

cout<

cout<<"======================"<

cout<<"欢迎使用分数与整数运算"<

cout<<"======================"<

cout<<"输入第一个分数【形如:

1/2】:

";

cin>>a>>n>>b;

cout<

";

cin>>q;

cout<

1】:

";

cin>>x;

if(b==0)

{cout<

switch(q)

{

case'+':

t1=t=x*b+a;

f1=f=b;

fun(t1,f1);

break;

case'-':

t1=t=a-b*x;

f1=f=b;

fun(t1,f1);

break;

case'*':

t1=t=a*x;

f1=f=b;

fun(t1,f1);

break;

case'/':

t1=t=a;

f1=f=b*x;

fun(t1,f1);

break;

}

}

jsq:

:

zs()//分数的指数

{

system("cls");

cout<

cout<<"======================"<

cout<<"欢迎使用分数的指数计算"<

cout<<"======================"<

cout<

形如1/2】:

";

cin>>a>>q>>b;

cout<<"请输入指数【实数:

形如2】:

";

cin>>c;

t=pow(a,c);

f=pow(b,c);

cout<

"<

}

voidmain()//主函数

{

jsqa;

cd();//调用菜单函数

a.start();//调用开始函数

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2