版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1C语言综合编程训练剖析C程序组成C程序源程序1源程序2源程序n…………预编译命令函数1函数n……说明部分执行部分开发方法:自上向下,逐步细化,模块化设计,结构化编码第1页/共31页五子棋游戏程序一个综合实例的分析第2页/共31页五子棋游戏程序一个综合实例的分析一般来说,开发一个软件要经过以下步骤:确定软件的功能定义核心数据结构对整个软件进行功能模块划分编写程序实现各功能模块对源程序进行编译和调试,形成软件产品查看源程序第3页/共31页功能分析五子棋棋盘两位玩家交替行棋五子相连判定赢棋查看源程序第4页/共31页定义核心数据结构定义chargChessBoard[19][19];表示棋盘棋盘上每个交叉点有三种状态当前光标位置表示查看源程序structpoint{intx;inty;};第5页/共31页程序的模块划分查看源程序画棋盘显示提示信息棋盘置空接收,处理用户输入,直至:分出胜负按退出键判断落子键有效性更新数组与棋盘显示判断是否走成五子相连更新全局变量gCursor移动光标至新位置第6页/共31页程序的编制细节查看源程序定义核心数据结构初始化接收按键移动光标落子与判定胜负main()函数程序中用到的库函数介绍第7页/共31页bioskey程序的编制细节程序中用到的库函数textmodeclrscrputchcputsgotoxytextcolordelaysound与nosound第8页/共31页用户手册查看源程序第9页/共31页设计任务系统以菜单方式工作(文本菜单或图形菜单)输入数据模块,数据用文件保存输出数据模块,数据用文件保存基本算法运用模块(排序、查找、插入、比较算法中至少包含一种)系统进入画面(静态或动画)系统其它功能实现(任选)第10页/共31页参考设计题目一:职工信息管理系统设计职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:系统以菜单方式工作职工信息录入功能(职工信息用文件保存)--输入职工信息浏览功能--输出查询或排序功能:(至少一种查询方式)--算法按工资查询按学历查询等系统进入画面(静态或动画)职工信息删除、修改功能(任选项)第11页/共31页参考设计题目二:飞机订票系统设计假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:系统以菜单方式工作航班信息录入功能(航班信息用文件保存)--输入航班信息浏览功能--输出查询航线:(至少一种查询方式)--算法按航班号查询按终点站查询系统进入画面(静态或动画)承办订票和退票业务(可选项)第12页/共31页参考设计题目三:学生选修课程系统设计假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:系统以菜单方式工作课程信息录入功能(课程信息用文件保存)--输入课程信息浏览功能--输出查询功能:(至少一种查询方式)--算法按学分查询按课程性质查询系统进入画面(静态或动画)学生选修课程(可选项)第13页/共31页参考设计题目四:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作图书信息录入功能(图书信息用文件保存)--输入图书信息浏览功能--输出查询或排序功能:(至少一种查询方式)--算法按书名查询按作者名查询系统进入画面(静态或动画)图书信息的删除与修改(可选项)第14页/共31页设计要求与设计报告设计要求可自己选定题目,但至少包含五个功能模块模块化程序设计锯齿型书写格式必须上机调试通过实习报告语言简练,条理清楚,图表规范程序设计组成框图、流程图模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施源程序清单和执行结果(软盘):清单中应有足够的注释第15页/共31页图形设计1显示系统显示器:CRT(阴极射线管)与控制电路组成适配器(图形卡):CPU与显示器的接口,由寄存器组、存储器和控制电路组成主机图形控制器显示存储器显示控制器适配器CRT参考书:C高级实用程序设计王士元清华大学出版社将要显示的字符和图形以数字形式存储在卡上的视频RAM中,再转换成视频模拟信号传送给相应的显示器第16页/共31页显示模式文本模式:显示缓冲区中存放显示字符的代码(ASCII码或汉字机内码),及字符的属性,显示屏幕按字符分成若干行、列,如80列25行图形模式:显示缓冲区中存放显示屏幕上每点(象素)的颜色或灰度值,显示屏幕按象素分成若干行、列,如640480一般开机后的模式都是80×25的文本模式第17页/共31页2TurboC绘图TurboC支持的适配器和图形模式xy(0,0)分辨率:640480(0,0)(0,0)(20,50)(639,479)(400,150)图形库文件与图形头文件
graphics.lib与graphics.h图形显示的坐标与象素适配器模式分辨率颜色数标识符CGA(彩色图形适配器)EGA(增强图形适配器)VGA(视频图形阵列)03202004CGAC046402002CGAHI13202004CGAC123202004CGAC233202004CGAC3064020016EGAL0164035016EGAHI064020016VGAL0164035016VGAMED264048016VGAHI第18页/共31页图形系统的初始化图形系统初始化函数voidinitgraph(int*driver,int*mode,char*pathtodriver)其中;driver——显示适配器驱动程序的枚举变量mode——图形模式(模式号或模式标识符)pathtodriver——适配器驱动程序的寻找路径,“”表示在当前目录下(*.BGI)enumgraphics_driver{DETECT,CGA,MCGA,EGA,EGA64,………,VGA,PC3270};DETECT——自动检测所用显示适配器的类型,将相应的驱动程序装入,并将其最高显示模式作为当前显示模式使用图形方式时先进行图形系统初始化,检测或设置指定的图形模式第19页/共31页#include<graphics.h>main(){intdriver=DETECT,mode;
initgraph(&driver,&mode,“”);……….
closegraph();}initgraph(&driver,&mode,“d:\\tc\\bgi”);#include<graphics.h>main(){intdriver=VGA;intmode=VGAHI;
initgraph(&driver,&mode,“”);……….closegraph();}将指定模式的驱动程序(*.GBI)从当前路径下调入内存关闭图形系统回到文本模式第20页/共31页图形程序的独立运行问题为使图形方式的C源程序能够脱离TC环境下运行,应对EGAVGA显示器的驱动程序.BGI转换成.OBJ文件:C:\TC\BGIOBJEGAVGA然后,将EGAVGA.OBJ与GRAPHICS.LIB进行连接:C:\TC\TLIBLIB\GRAPHICS.LIB+EGAVGA.OBJ程序中,initgraph()调用前要用registerbgidriver()进行登记:
registerbgidriver(EGAVGA_driver);第21页/共31页清屏和恢复显示方式函数voidcleardevice(void);voidclosegraph(void);基本图形函数画点:putpixel()getpixel()坐标移动:moveto()moverel()getx()gety()画线:line()lineto()linerel()画矩形和条形图:rectangle()bar()椭圆、圆、圆弧和扇形:ellipse()circle()arc()pieslice()颜色控制函数设调色板:setpalette()设背景色:setbkcolor()设绘图色:setcolor()关闭图形系统回到文本模式第22页/共31页颜色值颜色名颜色颜色值颜色名颜色0123456789101112131415BLACKBLUEGREENCYANREDMAGENTABROWNLIGHTGRAYDARKGRAYLIGHTBLUELIGHTGREENLIGHTCYANLIGHTREDLIGHTMAGENTAYELLOWWHITE黑蓝绿青红洋红棕浅灰深灰淡蓝淡绿淡青淡红淡洋红黄白第23页/共31页设定线型函数:setlinestyle()填充函数设定填充模式:setfillstyle()常用函数:bar3d()sector()fillellipse()fillpoly()屏幕操作函数屏幕图象存储与显示:getimage()putimage()imagesize()视口函数setviewport()clearviewport()图形方式下的文本输出文本输出:outtext()outtextxy()定义文本字型:settextstyle()第24页/共31页文本的屏幕输出#include<conio.h>屏幕坐标(1,1)(80,25)第25页/共31页文本方式控制函数voidtextmode(intnewmode);TurboC支持5种文本显示方式方式方式名行列和颜色0BW404025黑白1C404025彩色2BW808025黑白3C808025彩色7MONO8025单色-1LASTMODE上一次的显示方式第26页/共31页文本方式下颜色控制函数文本颜色textcolor()文本背景textbackground()文本属性textattr()BLINKRGBIRGB背景色字符色闪烁加亮字符显示亮度控制函数highvideo()lowvideo()normvideo()第27页/共31页窗口设置与文本输出函数window()cprintf()cputs()putch()清屏与光标操作函数clrscr()clreol()delline()gotoxy()wherex()wherey()屏幕文本移动与存取函数movetext()gettext()puttext()第28页/共31页菜单及其设计要点菜单作用:由若干任务项组成的画面(界面),选择一项按键确定后,即执行相应的功能菜单显示方式:文本方式菜单与图形方式菜单菜单种类:固定式菜单、弹出式菜单,下拉式菜单optmenu.cpopdown.ctext_men.cmenu_s.cmenu_gra.cplane_e.c第29页/共31页菜单设计要点:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛工程职业学院《计算机网络管理与安全》2023-2024学年第一学期期末试卷
- 2024高考地理一轮复习限时规范特训18河流地貌的发育含解析新人教版
- 2024高考地理二轮复习第4部分综合训练1含解析
- 宁德师范学院《财务大数据决策》2023-2024学年第一学期期末试卷
- 2024高考政治一轮复习第四单元当代国际社会整合提升学案新人教版必修2
- 2024高考政治二轮复习第1部分专题3收入分配与社会公平第2课时主观题增分提能教案
- 2024高考数学一轮复习统考第10章统计统计案例第2讲用样本估计总体学案含解析北师大版
- 学校党支部主题党日活动
- 2024年版网络小说版权购买合同
- 2024年网络游戏知识产权许可使用合同具体标的
- 小学五年级上册数学寒假作业每日一练
- 三年级上册语文期末考试作文押题预测
- 2025年首都机场集团招聘笔试参考题库含答案解析
- 2025年医院院感工作计划
- 2024年陕西省安全员《A证》考试题库及答案
- 《道路车辆 48V供电电压的电气及电子部件 电性能要求和试验方法》文本以及编制说明
- 供货进度计划及保证措施
- 北师大版二年级《数学》下册单元测试卷
- 十八项医疗核心制度考试题与答案
- 2024年鄂尔多斯市国资产投资控股集团限公司招聘管理单位遴选500模拟题附带答案详解
- 杵针疗法课件
评论
0/150
提交评论