ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:25.15KB ,
资源ID:3407125      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3407125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简易计算器设计含源码.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简易计算器设计含源码.docx

1、简易计算器设计含源码简易计算器设计(含源码)摘 要 课程设计语言类课程的指导思想:使学生通过学习高级编程语言的知识、编程技术和基本算法,掌握课程设计的思想和方法,具备利用计算机求解实际问题的能力,能灵活运用高级语言进行程序设计。 其实认真学习一门语言并不难,关键是所追求的学习方法和途径。通过C语言程序设计,可以使我们掌握软件开发过程的难题分析、系统设计、程序编码、测试程序等基本方法和技能。同时,还能加强我们的时间管理意识,锻炼对难题的发现、分析和处理能力。我认为遇到难题并不可怕,可怕的是你不去解决,这可能是C语言课程设计的主要目的之一。 现时学习生活中,常会遇到一些数目较大数据繁杂的数值运算,

2、徒手运算起来很困难,这时候我们就必须用到计算器。人们对计算的要求不断提高,普通的功能简单的仅能进行四则运算的计算工具已经不能满足需要,需要一种能进行多种计算。现在已经有一些功能较为强大、涵盖面较广的计算软件,而且各种平台的小工具仍不断出现。这些大大方便了我们的生活给我们更多的选择和实现方式。本程序的编写基础是Tubro C2.0汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。生成的程序可移植性强兼容性好稳定本程序实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,求阶乘,取整,求正切,以及进制之间的相互转换。它可以直接输入数学表达式,不需要任

3、何转换,就可以直接输出数学四则运算的结果。但是,每次只能运算一个表达式,按 CE清空后再计算下一组式子。本程序在进制转换方面有一些漏洞,但一般的进制转换结果还是准确的。 关键字:C语言程序设计 基本算法 高级编程语言 思想和方法 计算器 Tubro c 2.0汉化版 第1章 选题的意义 3 1.1 自我介绍 3 1.2 选题 3 第2章 系统功能需求分析 4 2.1系统的基本要求 4 2.2 数据结构和用法 4 第3章 系统设计 5 第4章 系统实现 6 第5章 总结 7 第1章 选题的意义 1.1 自我介绍 我的名字是彭东林,就读于石家庄铁道大学,电0905-2班,电气与电子工程分院。 1.

4、2 选题 1. 我选的题目是:简单计算器的设计 2. 我选这道题的原因如下: 计算器对我们每一的学生都很熟悉,从初中到高中再到大学。但是我们只知道按下几个按钮计算器便会显示出结果,很少有学生分析过计算器究竟是如何运行的。C语言课程设计便是一个很好的机会,让我去亲自写计算器的运行代码,尽管是简单计算器的设计,但其背后的知识那是相当多的,对我是个挑战,我接受 3. 运用的数据结构和知识点 TuborC 绘图知识 数学函数 选择结构 循环结构 数组 指针 顺序结构 进制间的转换 4. 时间安排 5. 主要参考文献: C语言绘图与计算机仿真技术 王强如 北京航空航天大学 1科 钦.C语言程序设计.北京

5、:电子工业出版社,1987:56-58 2徐君毅.C语言程序设计基础.上海:复旦大学出版社,1992:87-98 3李成付.C语言程序设计基础.北京:科学出版社,1992:42-67 4郝玉洁.C语言程序设计.北京:机械工业出版社,2000:63-88 5钱启平.C语言程序设计基础.北京:中国铁道出版社,2000:91-99 6李大友.C语言程序设计基础.北京:清华大学出版社,1999:58-98 7黄迪明.C语言程序设计.北京:电子科技大学出版社,1998:78-98 8姜仲秋.C语言程序设计基础.南京:南京大学出版社,1998:16-100 9李国昌.C语言程序设计基础.北京:科学出版社,

6、1998:78-120 10谭浩强.C语言程序设计.北京:清华大学出版社,2000:74-129 第2章 系统功能需求分析 2.1系统的基本要求 1. 算术运算功能。能够实现+、-、*、/、mod、int运算。 2. 函数运算功能。能够实现exp、ln、sin、xy、log、cos、x3、n!、tan、x2、1/x等运算。 3. 进制之间的转换功能。能够实现十六、十、二、八进制数据之间的转换。 4.通过键盘控制字符和数字的输入。 2.2数据结构设计及用法说明 此程序调用的函数主要有 /*数学函数的定义*/ /*屏幕操作函数*/ /*I/O函数*/ /*库函数*/ /*变量长度参数表*/ /*图

7、形函数*/ /*字符串函数*/ /*字符操作函数*/。基本使用:用?控制鼠标图形移动,当移动到相应得按钮时按回车键输入当前数字或执行对应的函数。 加法:输入一个被加数数,按“+”,输入被加数,按“=”,输出结果。 减法:输入被减数数,按“-”,输入减数,按“=”,输出结果。 乘法: 输入一个数,按“*”,输入另个数,按“=”,输出结果。 除法: 输入一个被除数,按“+”,输入另个除数,按“=”,输出结果。 求x的y次方: 输入数x,按“”,输入数y,按“=”,输出结果。 求余:输入一个数,按“mod”,按“=”,输出结果。 取整:输入一个数,按“int”,按“=”,输出结果。 余弦:输入一个数

8、,按“cos”,按“=”,输出结果。 正弦:输入一个数,按“sin”,按“=”,输出结果。 正切:输入一个数,按“tan”,按“=”,输出结果。 阶乘:输入一个数,按“n”,按“=”,输出结果。 倒数:输入一个数,按“1/x”,按“=”,输出结果 十进制转二进制:输入一个十进制数,按“10-2”,输出二进制结果。 十进制转八进制:输入一个十进制数,按“10-8”,输出八进制结果。 八进制转十进制:输入一个八进制数,按“10-8”,输出十进制结果。 第3章 系统设计 开始 输入第一个数x mod、x3、ln、+、-、*、/、exp、tan、 xy、log、等 cos、x2、1/x、n!、sin、

9、 以及进制转换 输入第二个数y 第4章 系统实现 本系统采用 C语言开发,生成可执行文件在任何系统下都可以执行,具有很好的数据处理能力和稳定性。并且使用Turbo C 2.0汉化版在原有基础上实现了多汉字的支持,方便了我们的使用。生成的程序可移植性强、兼容性好。这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。 本程序通过调用int specialkey(void) 和#include 来实现对屏幕的操作,通过调用int arrow()函数,int specialkey(void) 和#include 来实现对光标的操作。计算

10、器图形采用Turbo C 2.0绘图程序制作。 第5章 总结 经过了五个星期的课程设计,在设计中我们遇到了很多编程问题,最后我们大家齐心合力的攻克一个个难关,我们组做得是计算器的设计,内容包括很多。运用的函数也很复杂。 测试阶段中发现了几处错误导致程序不能编译,去图书馆查找相关的资料, 又同学一起讨论。通过耐心的分析源代码终于编好了一个完整无误的程序。在这次的c语言程序设计实习中遇到了现实编程中必然见到的问题通过这些问题的解决积累了编程的实践经验。在实际的编程操作中发现自己c语言知识的不足,加深了对c语言的理解。在学习之余体验到收获的感觉. 善于总结,也是学习能力的一种体现,每次完成一个编程任

11、务,完成一段代码,都应当有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐步提高.课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 自从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,

12、只有理论知识是远远不够的,只有把所学的理论知识与实践相我们把前面所学过的知识又重新温故了一遍。 通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。作为整个学习体系的有机组成部分,课程设计虽然安排在一周进行,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化

13、提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我系人才培养计划的完善和课程设置的调整。近年来,我系为适应学生的实践需要陆续增设与调整了一系列课程,受到同学的欢迎,其中这次的设计很受同学们的喜欢。

14、课程设计达到了专业学习的预期目的。在一个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。 程序源代码: #include /*DOS接口函数*/ #include /*数学函数的定义*/ #include /*屏幕操作函数*/ #include /*I/O函数*/ #include /*库函数*/ #include /*变量长度参数表*/ #include /*图形函数*/ #include /*字符串函数*/ #include /*字符操作函数*/ #defi

15、ne UP 0x48 /*光标上移键*/ #define DOWN 0x50 /*光标下移键*/ #define LEFT 0x4b /*光标左移键*/ #define RIGHT 0x4d /*光标右移键*/ #define ENTER 0x0d /*回车键*/ void *rar; /*全局变量,保存光标图象*/ int specialkey(void) ; /*获取特殊键函数*/ int arrow(); /*设置箭头光标函数*/ main() float num1=0,num2=0,result; int x,y,x0=315,y0=160,i,j,v,m,n,act,t1=0,t2=

16、0,cd=0,zj=0,zj1=0,num=0,cd1=0,a25; int flag1,flag2=1,flag3=1,flag4=1,flag5=1; char str25=,temp20=,c,str310=,str410=,str520=,str720=; char str1=A,1,2,3,4,5,6,7,B,8,9,=,+,-,*,/,C, G,H,I,J,K,L,0,D,M,N,O,P,Q,.,$,E,R,S,T,U, V,(,F,W,X,Y,Z,&,),|; int sj1=50,250,250,250,150,175,50,250; int sj2=145,285,155,2

17、85,150,275,145,285; int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); /*初始化*/ setcolor(0); /*绘画*/ setlinestyle(0,0,3); setfillstyle(1,13); sector(150,250,0,360,100,200); setfillstyle(1,2); setcolor(2); fillpoly(4,sj1); setcolor(4); setfillstyle(1,6); pieslice(150,250,180,360,80); se

18、tfillstyle(1,15); line(105,255,125,255); line(175,255,195,255); pieslice(115,265,0,360,5); pieslice(185,265,0,360,5); fillpoly(4,sj2); ellipse(150,295,180,360,12,7); setlinestyle(0,0,3); /*标题*/ settextstyle(4,0,8); outtextxy(370,30,PENGDONGLIN CACULATOR); setbkcolor(3); setcolor(5); setfillstyle(5,9

19、); bar3d(280,120,630,440,5,3); /*键盘外框 三维*/ setlinestyle(0,0,1); setfillstyle(1,8); bar3d(290,130,620,430,5,1); /*键盘内框 三维*/ setcolor(2); /*绿色*/ setfillstyle(1,7); /*画按钮轮廓 三维*/ bar3d(300,140,330,180,2,1); bar3d(340,140,370,180,2,1); bar3d(380,140,410,180,2,1); bar3d(420,140,450,180,2,1); bar3d(460,140

20、,490,180,2,1); bar3d(500,140,530,180,2,1); bar3d(540,140,570,180,2,1); bar3d(580,140,610,180,2,1); bar3d(300,185,330,225,2,1); bar3d(340,185,370,225,2,1); bar3d(380,185,410,225,2,1); bar3d(420,185,450,225,2,1); bar3d(460,185,490,225,2,1); bar3d(500,185,530,225,2,1); bar3d(540,185,570,225,2,1); bar3d

21、(580,185,610,225,2,1); bar3d(300,235,330,275,2,1); bar3d(340,235,370,275,2,1); bar3d(380,235,410,275,2,1); bar3d(420,235,450,275,2,1); bar3d(460,235,490,275,2,1); bar3d(500,235,530,275,2,1); bar3d(540,235,570,275,2,1); bar3d(580,235,610,275,2,1); bar3d(300,285,330,325,2,1); bar3d(340,285,370,325,2,1

22、); bar3d(380,285,410,325,2,1); bar3d(420,285,450,325,2,1); bar3d(460,285,490,325,2,1); bar3d(500,285,530,325,2,1); bar3d(540,285,570,325,2,1); bar3d(580,285,610,325,2,1); bar3d(300,335,330,375,2,1); bar3d(340,335,370,375,2,1); bar3d(380,335,410,375,2,1); setcolor(2); bar3d(420,335,450,375,2,1); setc

23、olor(2); bar3d(460,335,490,375,2,1); setcolor(2); bar3d(500,335,530,375,2,1); bar3d(540,335,570,375,2,1); bar3d(580,335,610,375,2,1); bar3d(300,385,330,420,2,1); bar3d(340,385,370,420,2,1); bar3d(380,385,410,420,2,1); bar3d(420,385,450,420,2,1); bar3d(460,385,490,420,2,1); bar3d(500,385,530,420,2,1)

24、; bar3d(540,385,570,420,2,1); bar3d(580,385,610,420,2,1); setcolor(1);/*按钮字符 蓝色*/ outtextxy(310,150,A); outtextxy(350,150,1); outtextxy(390,150,2); outtextxy(430,150,3); outtextxy(470,150,4); outtextxy(505,150,5); outtextxy(550,150,6); outtextxy(590,150,7); outtextxy(310,195,B); outtextxy(345,195,8)

25、; outtextxy(385,195,9); outtextxy(425,195,=); outtextxy(465,195,+); outtextxy(505,195,-); outtextxy(550,195,*); outtextxy(590,195,/); outtextxy(310,245,C); outtextxy(344,250,mod); outtextxy(385,245,xy); outtextxy(425,245,log); outtextxy(465,245,ln); outtextxy(505,245,int); outtextxy(547,240,16); out

26、textxy(550,250,|); outtextxy(550,260,2); outtextxy(590,245,0); outtextxy(310,295,D); outtextxy(345,295,cos); outtextxy(385,295,x3); outtextxy(430,295,n!); outtextxy(465,295,tan); outtextxy(505,295,x2); outtextxy(550,295,.); outtextxy(590,290,8); outtextxy(590,300,|); outtextxy(590,310,2); outtextxy(

27、310,345,E); outtextxy(345,345,1/x); outtextxy(385,338,sin); ; outtextxy(425,338,exp); outtextxy(507,340,10); outtextxy(510,350,|); outtextxy(510,360,2); outtextxy(550,340,8); outtextxy(550,350,|); outtextxy(547,360,16); outtextxy(590,340,2); outtextxy(590,350,|); outtextxy(587,360,16); outtextxy(310

28、,395,F); outtextxy(347,390,10); outtextxy(350,400,|); outtextxy(350,410,8); outtextxy(387,390,10); outtextxy(390,400,|); outtextxy(387,410,16); outtextxy(430,390,2); outtextxy(430,400,|); outtextxy(427,410,10); outtextxy(465,395,QIT); outtextxy(508,395,CE); outtextxy(550,390,2); outtextxy(550,400,|)

29、; outtextxy(550,410,8); outtextxy(590,390,8); outtextxy(590,400,|); outtextxy(587,410,10); setcolor(4); outtextxy(465,350,sft); outtextxy(388,347,16); outtextxy(391,356,|); outtextxy(388,366,10); outtextxy(428,347,16); outtextxy(431,356,|); outtextxy(432,366,8); setlinestyle(0,0,3); setcolor(1); setfillstyle(1,7); bar3d(350,40,550,100,2,1); setlinestyle(0,0,1); line(351

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

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