简易计算器说明书.docx

上传人:b****6 文档编号:4511030 上传时间:2022-12-01 格式:DOCX 页数:25 大小:127.84KB
下载 相关 举报
简易计算器说明书.docx_第1页
第1页 / 共25页
简易计算器说明书.docx_第2页
第2页 / 共25页
简易计算器说明书.docx_第3页
第3页 / 共25页
简易计算器说明书.docx_第4页
第4页 / 共25页
简易计算器说明书.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

简易计算器说明书.docx

《简易计算器说明书.docx》由会员分享,可在线阅读,更多相关《简易计算器说明书.docx(25页珍藏版)》请在冰豆网上搜索。

简易计算器说明书.docx

简易计算器说明书

摘要

当今时代,计算器已经大面积的普及,开始应用于生产生活等各个领域,用所学的c语言言知识编写一款简易计算器,不仅能够巩固自己所学的知识,而且还可以为以后学习更高级的语言打下基础学习生活中,无可避免的总是会遇到一些数目较大数据繁杂的数值运算,徒手运算起来很困难,这时候我们就必须用到计算器。

人们对计算的要求不断提高,仅能进行四则运算的普通的功能的计算工具已经不能满足需要,需要一种能进行多种计算。

现在已经有一些功能较为强大、涵盖面较广的计算软件,而且各种平台的小工具仍不断出现。

这些大大方便了我们的生活给我们更多的选择和实现方式。

本程序的编写基础是本程序实现算术运算、函数运算、进制之间的转换功能。

它可以直接输入数字,不需要任何转换,就可以直接输出运算的结果。

但是,每次只能运算一个表达式,根据提示可以再计算下一组式子,还是比较方便的。

关键词:

程序设计;数据类型;流程图;函数调用;结构体数组

 

Abstract

Inmoderntimes,calculatorhaswidespreadpopularity,starteachdomainssuchasappliedintheproductionandliving,writteninclanguageknowledgetoasimplecalculator,cannotonlyconsolidatetheirknowledge,butalsolaysthefoundationforlaterlearningmoreadvancedlanguagelearninglife,inevitablewillalwaysencountersomelargenumberdataandcomplexnumericalarithmetic,unarmedoperationdifficult,atthistimewehavetouseacalculator.Peopledemandforcomputing,canonlyarithmeticinthecommonfunctionofcalculationtoolsalreadycannotsatisfytheneed,needacaninavarietyofcomputing.Nowtherearesomeofthemorepowerful,widecoverageofcalculationsoftware,andavarietyofplatformsgadgetsstillappearconstantly.Thesegreatlyfacilitateourlifegiveusmorechoiceandwayofimplementation.Theprogramtowriteisbasedontheprogramimplementationarithmeticoperations,functions,operations,andhexadecimalconversionbetweenfunctions.ItcanbedirectlyinputNumbers,doesnotrequireanyconversion,candirectlyoutputtheresultoftheoperation.But,everytimecanonlybeanexpression,accordingtothepromptcanbecalculatedunderasetformula,orismoreconvenient.

Keywords:

Programdesign;Datatypes;Processflowdiagram;Afunctioncall;Structarray

 

1概述1

1.1实训题目4

1.2内容,要求4

2总体设计5

2.1功能设计5

2.2设计思路5

2.3总体流程图7

3详细设计8

3.1详细模块说明8

3.2算法说明10

4调试分析14

4.1调试目的14

4.2测试要求14

4.3测试方法14

4.4调试与测试结果17

5总结19

参考文献21

致谢22

附录23

 

1概述

通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!

更加了解了c语言的好处和其可用性!

同时增加了同学之间的团队合作精神!

更加也体会到以后在工作中团队合作的重要性和必要性!

通过C语言课程设计,使自己了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。

为后续各门计算机课程的学习和毕业设计打下坚实基础。

最早的计算工具诞生在中国,中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。

这种算筹多用竹子制成,也有用木头,兽骨充当材料的。

约二百七十枚一束,放在布袋里可随身携带。

直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。

17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了计圆柱型对数算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。

1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。

1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。

此后,一直要到20世纪50年代末才有电子计算器的出现。

实物计算器,此类计算器一般是手持式计算器,便于携带,使用也较方便,但一般情况下,功能较简单,也不太方便进行功能升级.也有少部功能强大的图形式手持计算器,但由于价格最贵,在平板电脑与智能手机普及的情况下,不建议购买最贵的多功能手持计算器。

软件形式的计算器.此类计算器以软件存在,能在PC电脑或者智能手机,平板电脑上使用.此类计算器功能多,功能可以通过软件升级进行扩展.随着平板与智能手机有普及,软件形式的计算器的应用会越来越多,最终有望取代传统的手持式计算器.

软件形式的计算一般可分为三类:

常见计算器,专用计算器,综合功能计算器.

常见的计算器又有四类:

①算术型计算器——可进行加、减、乘、除等简单的四则运算,又称简单计算器。

一般都是实物计算器

Win7下的科学型计算器

Win7下的算术型计算器(标准型)

②科学型计算器——可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。

可以是软件,也可以是实物。

Win7下的程序型计算器

③程序员计算器——专门为程序员设计的计算器,主要特点是支持And,Or,Not,Xor:

最基本的与或非和异或操作,移位操作Lsh,Rsh:

全称是LeftShift和RightShift,也就是左移和右移操作,你需要输入你要移动的位数(不能大于最大位数)RoL,RoR:

全称是RotateLeft和RotateRight,对于RoL来讲,就是向左移动一位,并将移出的那位补到最右边那位上,RoR类似

④统计计算器--为有统计要求的人员设计的设计的计算器,可以是软件,也可以是实物。

[1]

专用计算器

除常用计算器外,还有专用计算器,专用计算器就特别多了,如个人所得税计算器,房贷计算器,油耗计算器等.一般以软件的形式存在.

再有就是综合功能计算器(可编程计算器)

此类计算器一般都是以软件的形式存,它除了具有常用计算器的功能外,还可以由使用者自已编写程序或公式,把较复杂的运算步骤或者公式贮存起来,以后可以调用,进行多次重复的运算,甚至能打印计算过程与结果。

大多数的专用计算器的能功能它都可实现,如个人所得税计算,单位换算等都可以由使用者自行编程计算.使用者也可到网上下载别人制作好的公式文件进行计算.综合计算器适用范围广,不仅适用于普通用户,也适用程序员,更适合于各个设计行业的复杂计算,如建筑,水利,机械,传动,齿轮,结构,医学,甚至大学生的毕业设计,中小学生也可使用它来学习数学知识和一些简单的编程计算,<超级公式计算器>就是此类计算器中的一个代表。

超级公式计算器一个现代手持型科学计算器

电子计算器过去有些计算器像是今日的计算机一样大,第一个机械计算器是桌面型机械设备,但很快被桌面型电力机械计算器取代,之后又被真空管、晶体管、集成电路逻辑线路等材料依序取代。

今日大部分计算器是掌上型微电子设备。

基本计算器

计算器的复杂度随着使用目的而有所不同。

最简单的计算器模块应该包含下列部件:

电源,例如电池或太阳能板(solarpanel)

显示幕,通常以LED光源或LCD制成,可显示一定数量的数字(通常为八、十、十二、十六位,以十二位最常见)

电子回路

一个包含下列按键的按键面版:

(1)十个数字键,从0到9

(2)小数点

(3)等于符号,用于显示运算解

(4)四个运算函数(加减乘除)

(5)取消键,用于清空当前显示的数字

(6)电源开关

(7)其他基本函数,例如求平方根或百分比键(%)

更高级的模块也许会有一个单数值记忆按键(M+,M-),可在需要时叫回。

高级电子计算器

较高级的科学计算器或工程型计算器支持三角函数、统计与其他函数。

而最先进的现代计算器甚至可显示图型,并且包含计算机代数系统。

这种计算器可以编写程序,且内含了代数方程式求解程序、经济模型甚至游戏程序。

这类计算器可显示填满显示屏的单一数值。

并可将数字以科学记数法表现至9.999999999*10。

如果用户试图输入一过大的数值或运算产生过大数值的算式(例如输入100!

,即100阶乘),则计算器仅显示错误一词。

因为存储器如此有限的计算器无法存储如此巨大的输入(>=10^160)。

错误也用以表示数学上未定义的函数或操作,例如除以零或对负数取平方根(除了某些昂贵的计算器拥有可处理复数的特殊函数,大部分科学计算器不允许复数的存在)。

某些少数计算器可分别这两种错误的不同,虽然用户依然难以了解error1与error2的差别何在。

仅有少数公司研发与制造现代职业工程师与经济学家用的计算器:

最有名的是Casio、夏普、HP与德州仪器。

这些计算器都是嵌入式系统的范型。

[3]

windows计算器

在windows系统中自带有计算器,并可在简易计算器和科学型计算器之间进行切换。

1.1实训题目

简易计算器设计

1.2内容,要求

在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。

要求能够实现算术运算、函数运算、进制之间的转换功能。

算术运算功能。

能够实现+、-、*、/、mod、and、or、xor、not、int运算。

函数运算功能。

能够实现exp、ln、sin、x^y、log、cos、x^3、n!

、tan、x^2、1/x、avg、sum、dat等运算。

进制之间的转换功能。

能够实现十六、十、二、八进制数据之间的转换。

系统要求

在WindowsXP或Windows7(32)

 

2总体设计

2.1、功能设计

本程序要完成如下几项功能:

1)在程序之中加入足够的操作提醒环节,使得使用者能够清楚的掌握操作流程和界面。

2)程序中分类完成+、-、*、/、x^y、求余、x为底y的对数、求平均,sin、cos、tan、exp、ln、以10为底的对数、取整、平方、立方、绝对值,进制之间的转换;使用者可以根据个人的需要在提示后输入相应的代码,然后进行相应的运算,最后在运算结果中查找自己需要的即可;如需做多步骤运算,只要在上一次运算结束后按照提示输入相应代码即可选择是继续进行运算还是退出程序,操作简便。

2.2、设计思路

简单计算器的设计的程序中主要调用的函数有:

数学函数的定义和I/O函数;设计思路和理念在于一切追求简便易操作原理,通过个人的构思和设计以及调试运行设计出这一款简单的计算器。

程序的开始首先提示使用者“是否开始?

”如果不需要开始,则可按任意键后回车,程序退出;如需开始,输入“y”或“Y”后,系统将会提示使用者选择所需计算的类型(如图):

基本界面程序:

printf("***************************简单计算器********************************\n");

printf("******************************\n");

printf("请输入要进行的运算\n");

printf("------------------------------\n");

printf("1基本运算请输入1\n");

printf("2三角运算请输入0\n");

printf("3进制转换请输入2\n");

printf("在'>'提示后输入一个命令字符\n");

printf("是否开始?

(Y/N)>");

 

图2.1简易计算器界面

只需按照相应的提示输入代码,即可进入到下一步运算。

下面以十进制转换八进制、十六进制为例,做进一步说明:

a)首先,输入代码:

“2”,跳转到如下界面:

b)接着,输入代码:

“10”,进行到下一界面;

c)最后,只需输入相应的十进制数后回车即可得到相应的结果

 

图2.2进制转换操作图2.3进制转换指令

 

2.3总体流程图

 

 

图2.4总体设计流程图

3详细设计

3.1详细模块说明

1.整体界面程序:

printf("***************************简单计算器********************************\n");

printf("******************************\n");

printf("请输入要进行的运算\n");

printf("------------------------------\n");

printf("1基本运算请输入1\n");

printf("2三角运算请输入0\n");

printf("3进制转换请输入2\n");

printf("在'>'提示后输入一个命令字符\n");

printf("是否开始?

(Y/N)>");

图3.1简易计算器界面

2.基本运算函数程序

{

value_jia=first_number+second_number;//加法

printf("两数之和:

%lf\n",value_jia);

value_pingjun=value_jia/2;//求平均

printf("平均数是:

%lf\n",value_pingjun);

value_jian=first_number-second_number;//减法

printf("两数之差:

%lf\n",value_jian);

value_cheng=first_number*second_number;//乘法

printf("两数之积:

%lf\n",value_cheng);

printf("两数之商:

除数不能为零,如果需要求商,请重新输入:

\n");//除法

value_mi=pow(first_number,second_number);//幂次

printf("x的y次幂:

%lf\n",value_mi);

printf("取余为:

除数不能为零,如果需要求余,请重新输入:

\n");//取余

printf("以x为底y的对数为:

计算结果趋于无穷,无法显示:

\n");//x为底y的对数

}

3三角函数运算程序

{

value_sin=sin(first_number);//求sin

printf("sin值:

%lf\n",value_sin);

value_cos=cos(first_number);//求cos

printf("cos值:

%lf\n",value_cos);

value_tan=tan(first_number);//求tan

printf("tan值:

%lf\n",value_tan);

value_exp=exp(first_number);//以e为底的指数

printf("exp值:

%lf\n",value_exp);

printf("ln值:

计算结果趋于无穷,无法显示:

\n");//求ln

printf("10为底的对数:

计算结果趋于无穷,无法显示:

\n");//以10为底的对数

value_floor=floor(first_number);//取整

printf("x取整:

%lf\n",value_floor);

value_n=1;//求阶乘

for(i=1;i<(first_number+1);i++)

value_n=value_n*i;

printf("n阶乘:

%lf\n",value_n);

value_2=pow(first_number,2);//求x的平方

printf("x的平方:

%lf\n",value_2);

value_3=pow(first_number,3);//求x的立方

printf("x的立方:

%lf\n",value_3);

printf("x的倒数:

0不能求倒\n");//求倒

value_fabs=fabs(first_number);//求绝对值

printf("x的绝对值:

%lf\n",value_fabs);

}

4进制转换程序

{

printf("八进制转换为其他进制请输入8,\n十进制转换为其他进制请输入10,\n十六进制转换为其他进制请输入16,\n请按照需要输入8、10或16:

");

scanf("%d",&act);

if(act==8)//八进制转换为十进制、十六进制

{

printf("请输入一个八进制数字:

");

scanf("%o",&first_number);

printf("八进制%o转换为十进制%u十六进制%x\n",first_number,first_number,first_number);

}

if(act==10)//十进制转换为八进制、十六进制

{

printf("请输入一个十进制数字:

");

scanf("%d",&first_number);

printf("十进制%u转换为八进制%o十六进制%x\n",first_number,first_number,first_number);

}

if(act==16)//十六进制转换为八进制、十进制

{

printf("请输入一个十六进制数字:

");

scanf("%x",&first_number);

printf("十六进制%x转换为八进制%o十进制%u\n",first_number,first_number,first_number);

}

if(act!

=8&&act!

=10&&act!

=16)

{

3.2算法说明

1.通过利用C程序中的数组·函数·分支·循环·文件等内容,在VisualC++6.0的环境下调试运行设计并实现了该课程设计中的简单计算器的设计。

算术运算功能。

能够实现+、-、*、/、mod、and、or、xor、not、int运算。

函数运算功能。

能够实现exp、ln、sin、x^y、log、cos、x^3、n!

、tan、x^2、1/x、avg、sum、dat等运算。

进制之间的转换功能。

能够实现十六、十、二、八进制数据之间的转换。

程序中分类完成+、-、*、/、x^y、求余、x为底y的对数、求平均,sin、cos、tan、exp、ln、以10为底的对数、取整、平方、立方、绝对值,进制之间的转换;使用者可以根据个人的需要在提示后输入相应的代码,然后进行相应的运算,最后在运算结果中查找自己需要的即可;如需做多步骤运算,只要在上一次运算结束后按照提示输入相应代码即可选择是继续进行运算还是退出程序,操作简便

2.数据结构设计及用法说明 

此程序调用的函数主要有   /*数学函数的定义*/  /*屏幕操作函数*/  /*I/O函数*/  /*库函数*/  /*变量长度参数表*/  /*图形函数*/  /*字符串函数*/  /*字符操作函数*/。

基本使用:

用→←↑↓控制鼠标图形移动,当移动到相应得按钮时按回车键输入当前数字或执行对应的函数。

 加法:

输入一个被加数数,按“+”,输入被加数,按“=”,输出结果。

 减法:

输入被减数数,按“-”,输入减数,按“=”,输出结果。

 乘法:

 输入一个数,按“*”,输入另个数,按“=”,输出结果。

 除法:

 输入一个被除数,按“+”,输入另个除数,按“=”,输出结果。

 求x的y次方:

 输入数x,按“^”,输入数y,按“=”,输出结果。

 求余:

输入一个数,按“mod”,按“=”,输出结果。

 取整:

输入一个数,按“int”,按“=”,输出结果。

 余弦:

输入一个数,按“cos”,按“=”,输出结果。

 正弦:

输入一个数,按“sin”,按“=”,输出结果。

 正切:

输入一个数,按“tan”,按“=”,输出结果。

 阶乘:

输入一个数,按“n!

”,按“=”,输出结果。

 倒数:

输入一个数,按“1/x”,按“=”,输出结果 

十进制转二进制:

输入一个十进制数,按“10->2”,输出二进制结果。

 十进制转八进制:

输入一个十进制数,按“10->8”,输出八进制结果。

 八进制转十进制:

输入一个八进制数,按“10->8”,输出十进制结果

3技术支持

VisualC++6.0简介

VisualC++6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。

VisualC++是一个功能强大的可视化软件开发工具。

自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。

虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用有很大的局限性,只适用于Windows2000、WindowsXP和WindowsNT4.0。

所以实际中,更多的是以VisualC++6.0为平台。

特色和缺点

特色

VisualC++6.0由Microsoft开发,它不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。

V

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

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1