C语言综合编程训练剖析实用教案

上传人:s9****2 文档编号:590580474 上传时间:2024-09-14 格式:PPT 页数:32 大小:1.50MB
返回 下载 相关 举报
C语言综合编程训练剖析实用教案_第1页
第1页 / 共32页
C语言综合编程训练剖析实用教案_第2页
第2页 / 共32页
C语言综合编程训练剖析实用教案_第3页
第3页 / 共32页
C语言综合编程训练剖析实用教案_第4页
第4页 / 共32页
C语言综合编程训练剖析实用教案_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《C语言综合编程训练剖析实用教案》由会员分享,可在线阅读,更多相关《C语言综合编程训练剖析实用教案(32页珍藏版)》请在金锄头文库上搜索。

1、C程序(chngx)组成C程序源程序1源程序2源程序n预编译命令函数1函数n说明部分执行部分开发方法: 自上向下,逐步(zhb)细化,模块化设计,结构化编码第1页/共31页第一页,共32页。五 子 棋 游 戏 程 序一个综合实例的分析第2页/共31页第二页,共32页。五 子 棋 游 戏 程 序一个综合实例的分析一般来说,开发一个软件要经过以下(yxi)步骤:确定(qudng)软件的功能定义核心(hxn)数据结构对整个软件进行功能模块划分编写程序实现各功能模块对源程序进行编译和调试,形成软件产品查看源程序第3页/共31页第三页,共32页。功 能 分 析五子棋棋盘(qpn)两位玩家交替(jiot)

2、行棋五子相连(xin lin)判定赢棋查看源程序第4页/共31页第四页,共32页。定义核心(hxn)数据结构定义char gChessBoard1919;表示(biosh)棋盘棋盘(qpn)上每个交叉点有三种状态当前光标位置表示查看源程序struct point int x; int y;第5页/共31页第五页,共32页。程序(chngx)的模块划分查看(chkn)源程序画棋盘显示提示信息棋盘置空接收,处理用户输入,直至:分出胜负按退出键判断落子键有效性更新数组与棋盘显示判断是否走成五子相连更新全局变量gCursor移动光标至新位置第6页/共31页第六页,共32页。程 序 的 编 制 细 节查

3、看(chkn)源程序定义核心(hxn)数据结构初始化接收(jishu)按键移动光标落子与判定胜负main()函数程序中用到的库函数介绍第7页/共31页第七页,共32页。bioskey程 序 的 编 制 细 节程序(chngx)中用到的库函数textmodeclrscrputchcputsgotoxytextcolordelaysound 与nosound第8页/共31页第八页,共32页。用 户 手 册查看(chkn)源程序第9页/共31页第九页,共32页。设计任务系统以菜单方式工作(文本菜单或图形菜单)输入数据模块,数据用文件保存输出数据模块,数据用文件保存基本算法运用模块(排序(pi x)、

4、查找、插入、比较算法中至少包含一种)系统进入画面(静态或动画)系统其它功能实现(任选)第10页/共31页第十页,共32页。参考设计题目一:职工信息(xnx)管理系统设计职工信息(xnx)包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息(xnx)管理系统,使之能提供以下功能:系统以菜单方式工作职工信息(xnx)录入功能(职工信息(xnx)用文件保存)输入职工信息(xnx)浏览功能 输出查询或排序功能:(至少一种查询方式) 算法按工资查询按学历查询等系统进入画面(静态或动画)职工信息(xnx)删除、修改功能(任选项)第11页/共31页第十一页,共3

5、2页。参考设计题目二:飞机订票系统设计假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:系统以菜单方式(fngsh)工作航班信息录入功能(航班信息用文件保存)输入航班信息浏览功能输出查询航线:(至少一种查询方式(fngsh)算法按航班号查询按终点站查询系统进入画面(静态或动画)承办订票和退票业务(可选项)第12页/共31页第十二页,共32页。参考设计题目三:学生选修课程系统设计假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课(shuk)学时,实验或上机学时,学分,开

6、课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:系统以菜单方式工作课程信息录入功能(课程信息用文件保存)输入课程信息浏览功能输出查询功能:(至少一种查询方式)算法按学分查询按课程性质查询系统进入画面(静态或动画)学生选修课程(可选项)第13页/共31页第十三页,共32页。参考设计题目四:图书信息管理系统设计图书信息包括(boku):登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作图书信息录入功能(图书信息用文件保存)输入图书信息浏览功能输出查询或排序功能:(至少一种查

7、询方式)算法按书名查询按作者名查询系统进入画面(静态或动画)图书信息的删除与修改(可选项)第14页/共31页第十四页,共32页。设计要求与设计报告设计要求可自己选定题目,但至少包含五个功能模块模块化程序设计锯齿型书写格式必须上机调试通过实习报告语言简练,条理清楚,图表规范程序设计组成框图、流程图模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)调试与测试(csh):调试方法,测试(csh)结果的分析与讨论,测试(csh)过程中遇到的主要问题及采取的解决措施源程序清单和执行结果(软盘):清单中应有足够的注释第15页/共31页第十五页,共32页。图形(txng)设计1显示系统显示器

8、:CRT(阴极射线管)与控制电路组成(zchn)适配器(图形卡):CPU与显示器的接口,由寄存器组、存储器和控制电路组成(zchn)主机图形控制器显示存储器显示控制器适配器CRT参考书:C高级(goj)实用程序设计 王士元 清华大学出版社将要显示的字符和图形以数字形式存储在卡上的视频RAM中,再转换成视频模拟信号传送给相应的显示器第16页/共31页第十六页,共32页。显示模式文本模式:显示缓冲区中存放显示字符的代码(ASCII码或汉字机内码),及字符的属性,显示屏幕按字符分成若干行、列,如80列25行图形(txng)模式:显示缓冲区中存放显示屏幕上每点(象素)的颜色或灰度值,显示屏幕按象素分成

9、若干行、列,如640480一般(ybn)开机后的模式都是80 25的文本模式第17页/共31页第十七页,共32页。2 Turbo C绘图(hu t)Turbo C支持的适配器和图形模式xy(0,0)分辨率:640 480(0,0)(0,0)(20,50)(639,479)(400,150)图形库文件(wnjin)与图形头文件(wnjin) graphics.lib与graphics.h图形显示的坐标与象素适配器模式分辨率颜色数标识符CGA(彩色图形适配器)EGA(增强图形适配器)VGA(视频图形阵列)0320 2004CGAC04640 2002CGAHI1320 2004CGAC12320

10、2004CGAC23320 2004CGAC30640 20016EGAL01640 35016EGAHI0640 20016VGAL01640 35016VGAMED2640 48016VGAHI第18页/共31页第十八页,共32页。图形系统的初始化图形系统初始化函数voidinitgraph(int*driver,int*mode,char*pathtodriver)其中;driver显示适配器驱动程序的枚举变量mode图形模式(模式号或模式标识符)pathtodriver适配器驱动程序的寻找路径,“”表示(biosh)在当前目录下(*.BGI)enumgraphics_driverDET

11、ECT,CGA,MCGA,EGA,EGA64,VGA,PC3270;DETECT自动检测所用显示适配器的类型,将相应的驱动程序装入,并将其最高显示模式作为当前显示模式使用图形方式时先进行图形系统初始化,检测或设置指定(zhdng)的图形模式第19页/共31页第十九页,共32页。#include main() int driver=DETECT,mode; initgraph(&driver,&mode, “”); . closegraph();initgraph(&driver,&mode, “d:tcbgi”);#include main() int driver=VGA; int mode

12、=VGAHI; initgraph(&driver,&mode, “”); . closegraph();将指定模式(msh)的驱动程序 (*.GBI)从当前路径下调入内存关闭图形系统回到文本(wnbn)模式第20页/共31页第二十页,共32页。图形程序的独立运行问题图形程序的独立运行问题(wnt)(wnt)为使图形方式的为使图形方式的C C源程序能够脱离源程序能够脱离TCTC环境下运行,应环境下运行,应对对EGAVGAEGAVGA显示器的驱动程序显示器的驱动程序.BGI.BGI转换成转换成.OBJ.OBJ文件文件: : C:TCBGIOBJ EGAVGA C:TCBGIOBJ EGAVGA然

13、后然后, ,将将EGAVGA.OBJEGAVGA.OBJ与与GRAPHICS.LIBGRAPHICS.LIB进行连接进行连接: : C:TCTLIB C:TCTLIB LIBGRAPHICS.LIB+EGAVGA.OBJLIBGRAPHICS.LIB+EGAVGA.OBJ程序中程序中,initgraph(),initgraph()调用前要用调用前要用registerbgidriverregisterbgidriver()()进行登记进行登记: : registerbgidriver(EGAVGA_driver); registerbgidriver(EGAVGA_driver);第21页/共3

14、1页第二十一页,共32页。v清屏和恢复显示方式函数vvoid cleardevice(void);vvoid closegraph(void);v基本图形函数v画点:putpixel() getpixel()v坐标移动:moveto() moverel() getx() gety()v画线:line() lineto() linerel()v画矩形(jxng)和条形图:rectangle() bar()v椭圆、圆、圆弧和扇形:ellipse() circle() arc() pieslice()v颜色控制函数v设调色板:setpalette()v设背景色:setbkcolor()v设绘图色:s

15、etcolor()关闭(gunb)图形系统回到文本模式第22页/共31页第二十二页,共32页。颜色值颜色名颜色颜色值颜色名颜色0123456789101112131415BLACKBLUEGREENCYANREDMAGENTABROWNLIGHTGRAYDARKGRAYLIGHTBLUELIGHTGREENLIGHTCYANLIGHTREDLIGHTMAGENTAYELLOWWHITE黑蓝绿青红洋红棕浅灰深灰淡蓝淡绿淡青淡红淡洋红黄白第23页/共31页第二十三页,共32页。设定线型函数: setlinestyle()填充函数设定填充模式:setfillstyle() 常用函数:bar3d()

16、sector() fillellipse() fillpoly()屏幕操作函数屏幕图象存储(cn ch)与显示: getimage() putimage() imagesize()视口函数setviewport()clearviewport()图形(txng)方式下的文本输出文本输出:outtext() outtextxy()定义文本字型:settextstyle()第24页/共31页第二十四页,共32页。文本(wnbn)的屏幕输出#include屏幕(pngm)坐标(1,1)(80,25)第25页/共31页第二十五页,共32页。文本方式控制(kngzh)函数void textmode(int

17、 newmode);Turbo C支持5种文本显示方式方式方式名行列和颜色0BW4040 25 黑白1C4040 25 彩色2BW8080 25 黑白3C8080 25 彩色7MONO80 25 单色-1LASTMODE上一次的显示方式第26页/共31页第二十六页,共32页。文本方式下颜色(yns)控制函数文本颜色(yns) textcolor()文本背景 textbackground()文本属性 textattr()BLINKRGBIRGB背景色字符色闪烁加亮字符显示亮度(lingd)控制函数highvideo()lowvideo()normvideo()第27页/共31页第二十七页,共32

18、页。窗口设置与文本(wnbn)输出函数window()cprintf()cputs()putch()清屏与光标操作函数clrscr()clreol()delline()gotoxy() wherex() wherey()屏幕文本(wnbn)移动与存取函数movetext()gettext()puttext()第28页/共31页第二十八页,共32页。菜单(cidn)及其设计要点菜单作用:由若干任务(rnwu)项组成的画面(界面),选择一项按键确定后,即执行相应的功能菜单显示方式:文本方式菜单与图形方式菜单菜单种类:固定式菜单、弹出式菜单,下拉式菜单optmenu.cpopdown.ctext_m

19、en.cmenu_s.cmenu_gra.cplane_e.c第29页/共31页第二十九页,共32页。菜单设计(shj)要点:菜单窗口图象的存储与显示新的窗口出现时,会覆盖原窗口的区域可事先保存要覆盖的区域,新窗口消失后,再恢复原区域的显示图形方式:getimage() putimage() imagesize() malloc()文本方式:gettext() puttext()菜单窗口和菜单项的生成生成背景图象,在指定位置显示菜单项文字光条的生成光条的产生及光条在光标键的控制下而移动(保存与再现)键识别当按下菜单上的选项(如:功能键或光标移动键)时,根据键值转入相应的功能处理菜单的连接功能执

20、行小程序可以嵌入在菜单中,大程序做成功能模块,根据键码直接调用第30页/共31页第三十页,共32页。感谢您的欣赏(xnshng)!第31页/共31页第三十一页,共32页。内容(nirng)总结C程序组成。输出数据模块,数据用文件保存。职工信息浏览功能 输出。航班信息录入功能(航班信息用文件保存)输入。航班信息浏览功能输出。课程信息浏览功能输出。图书信息浏览功能输出。查询或排序功能:(至少一种查询方式)算法。模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)。(0,0)。driver显示适配器驱动程序的枚举(mi j)变量。void closegraph(void)。感谢您的欣赏第三十二页,共32页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号