简易计算器设计含源码文档格式.docx
- 文档编号:16312610
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:40
- 大小:25.15KB
简易计算器设计含源码文档格式.docx
《简易计算器设计含源码文档格式.docx》由会员分享,可在线阅读,更多相关《简易计算器设计含源码文档格式.docx(40页珍藏版)》请在冰豆网上搜索。
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语言程序设计基础.北京:
科学出版社,1998:
78-120
[10]谭浩强.C语言程序设计.北京:
清华大学出版社,2000:
74-129
第2章系统功能需求分析
2.1系统的基本要求
1.算术运算功能。
能够实现+、-、*、/、mod、int运算。
2.函数运算功能。
能够实现exp、ln、sin、x^y、log、cos、x^3、n!
、tan、x^2、1/x等运算。
3.进制之间的转换功能。
能够实现十六、十、二、八进制数据之间的转换。
4.通过键盘控制字符和数字的输入。
2.2数据结构设计及用法说明
此程序调用的函数主要有<
math.h>
/*数学函数的定义*/<
conio.h>
/*
屏幕操作函数*/<
stdio.h>
/*I/O函数*/<
stdlib.h>
/*库函数*/<
stdarg.h>
/*变量长度参数表*/<
graphics.h>
/*图形函数*/<
string.h>
/*字符串函数*/<
ctype.h>
/*字符操作函数*/。
基本使用:
用?
?
控制鼠标图形移动,当移动到相应得按钮时按回车键输入当前数字或执行对应的函数。
加法:
输入一个被加数数,按“+”,输入被加数,按“=”,输出结果。
减法:
输入被减数数,按“-”,输入减数,按“=”,输出结果。
乘法:
输入一个数,按“*”,输入另个数,按“=”,输出结果。
除法:
输入一个被除数,按“+”,输入另个除数,按“=”,输出结果。
求x的y次方:
输入数x,按“^”,输入数y,按“=”,输出结果。
求余:
输入一个数,按“mod”,按“=”,输出结果。
取整:
输入一个数,按“int”,按“=”,输出结果。
余弦:
输入一个数,按“cos”,按“=”,输出结果。
正弦:
输入一个数,按“sin”,按“=”,输出结果。
正切:
输入一个数,按“tan”,按“=”,输出结果。
阶乘:
输入一个数,按“n~”,按“=”,输出结果。
倒数:
输入一个数,按“1/x”,按“=”,输出结果
十进制转二进制:
输入一个十进制数,按“10->
2”,输出二进制结果。
十进制转八进制:
8”,输出八进制结果。
八进制转十进制:
输入一个八进制数,按“10->
8”,输出十进制结果。
第3章系统设计
开始
输入第一个数x
mod、x^3、ln、+、-、*、/、
exp、tan、x^y、log、等
cos、x^2、1/x、
n!
、sin、
以及进制转换
输入第二个数y
第4章系统实现
本系统采用C语言开发,生成可执行文件在任何系统下都可以执行,具有很好的数据处理能力和稳定性。
并且使用TurboC2.0汉化版在原有基础上实现了多汉字的支持,方便了我们的使用。
生成的程序可移植性强、兼容性好。
这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。
本程序通过调用intspecialkey(void)和#include<
来实现对屏幕的操作,通过调用intarrow()函数,intspecialkey(void)和#include<
来实现对光标的操作。
计算器图形采用TurboC2.0绘图程序制作。
第5章总结
经过了五个星期的课程设计,在设计中我们遇到了很多编程问题,最后我们大家齐心合力的攻克一个个难关,我们组做得是计算器的设计,内容包括很多。
运用的函数也很复杂。
测试阶段中发现了几处错误导致程序不能编译,去图书馆查找相关的资料,又同学一起讨论。
通过耐心的分析源代码终于编好了一个完整无误的程序。
在这次的c语言程序设计实习中遇到了现实编程中必然见到的问题通过这些问题的解决积累了编程的实践经验。
在实际的编程操作中发现自己c语言知识的不足,加深了对c语言的理解。
在学习之余体验到收获的感觉.
善于总结,也是学习能力的一种体现,每次完成一个编程任务,完成一段代码,都应当有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐步提高.课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
自从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相我们把前面所学过的知识又重新温故了一遍。
通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。
安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。
尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。
作为整个学习体系的有机组成部分,课程设计虽然安排在一周进行,但并不具有绝对独立的意义。
它的一个重要功能,在于运用学习成果,检验学习成果。
运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。
检验学习成果,看一看课堂
学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。
而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
这也是一次预演和准备毕业设计工作。
通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。
课程设计促进了我系人才培养计划的完善和课程设置的调整。
近年来,我系为适应学生的实践需要陆续增设与调整了一系列课程,受到同学的欢迎,其中这次的设计很受同学们的喜欢。
课程设计达到了专业学习的预期目的。
在一个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。
程序源代码:
#include<
dos.h>
/*DOS接口函数*/
/*数学函数的定义*/
/*屏幕操作函数*/
/*I/O函数*/
/*库函数*/
/*变量长度参数表*/
/*图形函数*/
/*字符串函数*/
/*字符操作函数*/
#defineUP0x48/*光标上移键*/
#defineDOWN0x50/*光标下移键*/
#defineLEFT0x4b/*光标左移键*/
#defineRIGHT0x4d/*光标右移键*/
#defineENTER0x0d/*回车键*/
void*rar;
/*全局变量,保存光标图象*/
intspecialkey(void);
/*获取特殊键函数*/
intarrow();
/*设置箭头光标函数*/
main()
{
floatnum1=0,num2=0,result;
int
x,y,x0=315,y0=160,i,j,v,m,n,act,t1=0,t2=0,cd=0,zj=0,zj1=0,num=0,cd1=0,a[25];
intflag1,flag2=1,flag3=1,flag4=1,flag5=1;
char
str2[5]={"
"
},temp[20]={"
},c,str3[10]={"
},str4[10]={"
},str5[20]={"
},str7[20]={"
};
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'
&
)'
|'
intsj1[]={50,250,250,250,150,175,50,250};
intsj2[]={145,285,155,285,150,275,145,285};
intdriver,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);
setfillstyle(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);
/*标题*/
settextstyle(4,0,8);
outtextxy(370,30,"
PENGDONGLINCACULATOR"
setbkcolor(3);
setcolor(5);
setfillstyle(5,9);
bar3d(280,120,630,440,5,3);
/*键盘外框三维*/
setlinestyle(0,0,1);
setfillstyle(1,8);
bar3d(290,130,620,430,5,1);
/*键盘内框三维*/
/*绿色*/
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,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(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);
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);
bar3d(420,335,450,375,2,1);
bar3d(460,335,490,375,2,1);
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);
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"
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,"
x^y"
outtextxy(425,245,"
log"
outtextxy(465,245,"
ln"
outtextxy(505,245,"
int"
outtextxy(547,240,"
16"
outtextxy(550,250,"
|"
outtextxy(550,260,"
outtextxy(590,245,"
0"
outtextxy(310,295,"
D"
outtextxy(345,295,"
cos"
outtextxy(385,295,"
x^3"
outtextxy(430,295,"
outtextxy(465,295,"
tan"
outtextxy(505,295,"
x^2"
outtextxy(550,295,"
."
outtextxy(590,290,"
outtextxy(590,300,"
outtextxy(590,310,"
outtextxy(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,"
outtextxy(550,340,"
outtextxy(550,350,"
outtextxy(547,360,"
outtextxy(590,340,"
outtextxy(590,350,"
outtextxy(587,360,"
outtextxy(310,395,"
F"
outtextxy(347,390,"
outtextxy(350,400,"
outtextxy(350,410,"
outtextxy(387,390,"
outtextxy(390,400,"
outtextxy(387,410,"
outtextxy(430,390,"
outtextxy(430,400,"
outtextxy(427,410,"
outtextxy(465,395,"
QIT"
outtextxy(508,395,"
CE"
outtextxy(550,390,"
outtextxy(550,400,"
outtextxy(550,410,"
outtextxy(590,390,"
outtextxy(590,400,"
outtextxy(587,410,"
outtextxy(465,350,"
sft"
outtextxy(388,347,"
outtextxy(391,356,"
outtextxy(388,366,"
outtextxy(428,347,"
outtextxy(431,356,"
outtextxy(432,366,"
setcolor
(1);
bar3d(350,40,550,100,2,1);
line(351
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 计算器 设计 源码