已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1 前言 .22 需求分析 .22.1 要求 22.2 任务 22.3 运行环境 22.4 开发工具 23 概要设计 .23.1 系统流程图 33.2 查询函数流程图 44 详细设计 .64.1 分析和设计 64.2 具体代码实现 64.3 程序运行结果 145 课程设计总结 .14参考文献 .15致 谢 .1521 前言编写一个程序来实现算术计算器。通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括 1、2、3 等数字,+、-、*、等运算符号) ,然后将其信息存入文件中。输入一个算术计算式,就在屏幕上显示结果。2 需求分析2.1要求(1)用 C 语言实现程序设计;(2)利用结构体、共用体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交) ,程序要有注释。2.2任务(1)定义一个结构体类型数组,输入 09 及+ 、- 、*等符号的信息,将其信息存入文件中;(2)输入简单的加减乘除算术计算式,并在屏幕上显示计算结果;(3)画出部分模块的流程图;(4)编写代码;(5)程序分析与调试。2.3运行环境(1)WINDOWS2000/XP 系统(2)TurboC2.0 编译环境2.4开发工具C 语言3 概要设计33.1系统流程图如图 3.1 所示。w开始调用输入函数 init_stack()If(!form_win()不能显示窗口,按任意键退出调用字符输入函数 write_char()调用边框画线函数 draw_border()调用图标按钮设置函数 active_button调用结果输出函数 out_text_win()调用计算机运算函数 put_string()结 束NY图 3.1 系统流程图 43.2查询函数流程图(1) 边界画线函数流程图char far *t,far *vi=sx+1i0)stack.s-stack.tos=0;draw_win() /*边框画线窗口*/int i;char far *t;char *s=“This is a simple calculator!“; /*顶端边框输出的字符*/draw_border(30,0,79,24,win_color); /*边框的位置和颜色*/i=(79-30-strlen(s)/2+30;t=vid_mem+i*2;for(;*s;)*t+=*s+;*t+=win_color; /*顶端字体颜色*/8draw_border(int sx,int sy,int ex,int ey,int attrib) /*边界线函数*/char far *t,far *v;int i;t=vid_mem;for(i=sx+1;i2)if(x2)num=15;else num=x+5*y;12draw_border(buttonnum.sx,buttonnum.sy,buttonnum.ex,buttonnum.ey,presbut_but);write_top(buttonnum.sx+1,buttonnum.sy+1,buttonnum.ex-1,buttonnum.head,presnum_but);write_top(buttonnum.sx+1,buttonnum.sy+1,buttonnum.ex-1,buttonnum.head,normnum_but);elsedraw_border(buttonnum.sx,buttonnum.sy,buttonnum.ex,buttonnum.ey,normbut_bor);write_top(buttonnum.sx+1,buttonnum.sy+1,buttonnum.ex-1,buttonnum.head,spebut_char);put_char(int x,int y,char ch) /*计算窗口的输入确定函数*/char far *v;v=vid_mem;v+=x*2+y*160; /*光标的位置*/*v+=ch; /*输入字符随光标的推进*/*v=0xf0; /*输入数字的颜色*/window_xy(x,y); /*光标在窗口坐标*/calculator() /*计算器构成的函数*/int a,b;key_choice(); /*键选择函数*/13menu() /*左边窗口函数*/ char *j=“This is a calculator!nConductor Teacher:nCheng YaHuinnStudent:Chen ChunLinnNumber:0841330197nSchool:ShaoYang College” “char *s=“Use Guide:nInput the number fromn the keyborde“draw_border(0,0,29,24,win_color); /*左边框的位置和颜色*/write_top(1,2,28,“Introduction“,0xf9);/*INTRODCTION 的位置和颜色*/write_text(2,5,j,0x79); /*输入字符的位置和颜色*/write_text(2,17,s,0x79); /*输入字符的位置和颜色*/main()init_stack();vid_mem=(char far *)0xb8000000;if(!form_win()printf(“cant form the device,press any key to leave!.“);/*如果不能显示见面窗口,按任意退出。*/getch();exit();menu();calculator();main()init_stack();14vid_mem=(char far *)0xb8000000;if(!form_win()printf(“cant form the device,press any key to leave!.“);/*如果不能显示见面窗口,按任意退出。*/getch();exit(); menu();calculator();4.3程序运行结果5 课程设计总结本次 C 语言课程设计我是完全按照任务书上的要求来完成的,虽然还存在比较多的瑕疵,但我都是一饱满的热情、认真的态度去对待本次课程设计的。通过这次课程设计我对 C 语言的神奇功能更加佩服(只是一个程序运行后却可15以显示出一个计算器来,并且画面比较唯美,且能进行计算) ,我默默在心里发誓一定要把 C 语言学好,而且将来我还要想学习 C+语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个算术计算器,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师成娅辉老师的耐心指导,我才能顺利完成。参考文献1张福祥. C 语言程序设计M. 辽宁大学出版社,2008.12 张福祥,王萌C 语言程序 设计习题解答与实验实沈阳 :辽宁大学出版社,20083 牛莉,刘远军等计算机等级考试辅导教程M 北京:中国铁道出版社,2008致 谢 这次 C 语言课程设计让我学到了很多,从编程中可以看出编写一个程序的是一件很难的事。要想成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科学与技术考试题及答案
- 2024年延安市安塞区招聘考试真题
- 2025年湖南省市场监督管理局下属事业单位考试真题
- 军人押运考试题目及答案
- 2026 年高职建筑施工技术(建筑施工技术)试题及答案
- 2025年雅思官方自测题库及答案
- 未来五年工业用搪瓷制阀门行业直播电商战略分析研究报告
- 未来五年GRC构件企业ESG实践与创新战略分析研究报告
- 未来五年新型通信设备用连接器及线缆组件企业ESG实践与创新战略分析研究报告
- 2025建筑工程安装劳务承包协议书(可编辑)
- 2025年宪法知识竞赛试题库(附答案)
- 2025合同协议品牌合作合同
- 2025年国家电网招聘考试(其他专业)综合试题及答案
- 车间安环环保工作汇报
- 新版个税培训
- 私立医院薪酬管理与激励方案
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- JJG 52-2013弹性元件式一般压力表、压力真空表和真空表
- u水池施工作业指导书
- 承压焊结构焊项目表述代码
- 《儿童的语文》读书分享会828
评论
0/150
提交评论