您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 89c语言课程设计题目2
1.学校运动会管理系统问题描述:1.初始化输入:N-参赛队总数,M-男子竞赛项目数,W-女子竞赛项目数;各项目名次取法有如下几种:取前8名:第1名得分9,第2名得分7,第3名得分6,。。。第8名得分1;取前6名:第1名得分7,第2名得分5,第3名得分4,。。。第6名得分1;用户自定义:取得决赛的人数由用户指定。2.由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。3.所有信息记录完毕后,用户可以查询各个参赛队的比赛成绩,生成团体总分报表,查看参赛队信息和比赛项目信息等。2.文本文件加密技术给文件加密的技术很多,其中又分为不同等级,以适合不同场合的需要.这里给出最简单的文件加密技术,即采用文件逐字节与密码异或方式对文件进行加密,当解密时,只需再运行一遍加密程序即可.功能要求:1、新建文件;由键盘输入文版文件的内容,按##则输入结束,返回主菜单2、文件存盘;提示用户输入密码,密码可以定义密码的复杂性规则,例如必须以字母开头,必须包含2位以上的字母,必须包含2位以上的数字,不能有3个以上连续重复的字符,至少由6个字符组成等。文件存盘采用加密的形式。3、打开文件;打开文件需要首先输入密码,密码校验正确后正确后解密文件。将文件内容显示在显示器上。3.文本编辑器1、新建文件2、编辑文件编辑命令Ln显示第n行Dn删除第年行CUnm将第n行复制到第m行上面CDnm将第n行复制到第m行下面RAstr1str2将文件中的所有str1用str2替换Rxynstr1str2将文件中的第x行,第y列开始的n个字符中的所有str1用str2替换。Ixystr在第x行,第y列字符前插入strDAStrstr删除将文件中的所有strDStrxynstr删除文件中的第x行,第y列开始的n个字符中的所有str。4.考试系统该系统是一个进行选择题测试的考试系统,具有测试、练习功能,具有系统设置功能,具有查分和帮助功能。一、功能要求:1、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)2、试题录入:可随时增加试题到试题库中3、试题抽取:每次从试题库中可以随机抽出N道题及每题的得分K(N、K由键盘输入)。4、可以设置考试时间。5、用户可以选择“考试”和“练习”两种方式。5、答题:用户可实现输入自己的答案,“考试”时系统不能显示答案。“练习”时每一题都可以通过查看“按钮”显示标准答案。可以用“上一题”、“下一题”翻页。选择“交卷”按钮则显示得分;6、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。7、考试开始系统显示倒计时。时间为零自动交卷。二、其它要求:1、源程序要有适当的注释,使程序容易阅读2、至少采用文本菜单界面(如果能采用图形菜单界面更好)3、学生可自动增加新功能模块(视情况可另外加分)4、写出课程设计报告,具体要求见相关说明文档5.小学生数学CAI系统设计内容:该系统为小学数学辅助教学系统,利用该系统可以锻炼小学生的数学运算能力。它包括+、-、×、÷四则运算。设计要求:1、系统设置可以选择包含的运算符(+、-、×、÷)、数值的位数(1位,2位、3位)和运算符的个数。2、可以加上背景音乐。可以选择播放和关闭。3、单击“开始”,系统自动随机地出10道题。4、每出一题,小学生输入答案后,第一次答对,系统给出信息“完全正确,你非常聪明!加10分”,总分+10分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第2次答对了,系统给出信息“答对了,你很棒!加8分”,总分+8分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第3次答对了,系统给出信息“答对了,祝贺你!加6分”,总分+6分,显示下一题;若答错了,系统给出信息“非常遗憾你又答错了,请继续做下一题。本题的正确答案为……”,,继续显示下一题;5、当答完所有的题给出总分。6.英语字典设计内容:设计一个简单的英语字典,输入英语单词,显示中文含义,设计要求:1.自行设计一单词库;2.词库的编辑功能(添加、修改、删除题库中的单词)3.题库用字符文件存储。4.具有模糊查询的功能(“英汉”和“汉英”两种方式)5.可以模仿金山词霸的界面。6.如果能播放单词的读音更好(提示:单词的读音你可以用Windows的录音机自己录音完成,生成声音文件。播放时用系统的播放器播放该声音文件即可)7.屏保程序设计内容:这是一个屏保程序,可以动态的显示一个图片。设计要求:1.设置功能可以选择要显示的图片、显示的大小、以动的方向(从左至右、从右至左、左上至右下、右上至左下……等)、移动的速度、密码。2.设定屏幕锁定功能,按任意键后要求输入密码,密码复核后才能返回,否则继续执行。8.电话簿管理设计内容:设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等)。该学生通信录电管理程序具有加入、删除、显示和查询等功能。设计要求:1、能建立、修改和增删学生通讯录2、具有群组工能,可以增加群组和记录。3、删除可以删除一条、一个群组、全部记录。4、查询包含模糊查询。5、显示可以以页面和列表方式显示。6、有自动排序的功能。7、要求:界面友好,易于操作,采用文件存储数据。9.音像店的管理[设计内容]实现一个完整的小型音像店管理系统。[设计要求]系统要求具有以下功能:(1)管理音像店中的所有录像带,包括新录像带入库、录像带出租、录像带的返还、所有录像带清单的显示、根据指定条件进行查找删除录像带等各种基本操作。(2)客户数据维护,可以将客户分为不同等级,可以根据指定客户显示其所借录像带详细信息。(3)租金管理,根据所借日期自动计算所需交纳的租金。(4)系统要求界面美观,菜单设计合理,操作方便。[实验提示]音像店有两个主要的组成部分:录像带和客户。可以构造3个链表存储以下数据:(1)商店中所有录像带的链表;(2)商店所有客户的链表;(3)当前已出租的录像带链表;10.航空客运订票系统[设计内容]航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。设计一个航空订票系统实现上述功能。[设计要求](1)将每条航线的有关信息存入计算机,如:终点站名、航班号、飞机号、飞行周日(星期几)、时间、乘员定额、余票量、票价,已定票客户名单和等候替补客户名单(包括姓名,所需票数);(2)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞、最近一天航班的日期和余票量。(3)订票:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补;(4)退票:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他候补客户。发挥想像,增加新的功能,完善系统。系统要求界面美观,菜单设计合理,操作方便。11.模拟旅馆管理系统的一个功能——床位的分配与回收[设计内容]某旅馆有n个等级的房间,第I等级有个房间,每个等级的房间有个床位(1≤i≤n)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。[设计要求](1)旅客登记,即为旅客分配床位。输入旅客姓名、年龄、性别、到达日期和所需房间等级。分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。(2)旅客离开时,即进行床位回收。输入房间等级、房间号和床位号。12.画笔程序[设计内容]设计实现一个简单画笔程序,能够进行各种基本图形的绘制。[设计要求]要求具有以下功能:(1)画各种基本图形,包括:直线、椭圆、圆、正方形、矩形;(2)用颜色填充区域或对象;(3)擦除某个区域;(4)更改当前图形的颜色。13.五子棋游戏[设计内容]五子棋双人游戏[设计要求]五子棋是一种受大众广泛喜爱的游戏,其规则简单,非常富有趣味性和消遣性。基本规则:选定一方先下,之后黑白双方依次落子。棋盘上形成横向、竖向、斜向的连续的相同颜色的五个棋子称为五连。黑白双方先在棋盘上形成五连的一方为胜。若对局双方均认为不可能形成五连或是剩余棋盘空间已不足以形成五连则为和棋。下棋过程中不考虑各种禁手规则。功能要求如下:1、基本功能1)提供图形模式下的界面;2)支持键盘操作;3)支持人人对战,显示两人落子情况和胜负判别;4)可以选择某一方先下;5)棋盘大小为15*15,棋盘上要显示网格线、黑白方棋子、当前光标所在;6)要有显示当前为哪一方执棋;14.流星雨的实现功能说明:程序模拟一组流星飞向地面的情景。地面用多行#来表示,流星用大写字母表示。程序产生一组流星(比如10个),从屏幕顶部下降飞向地面。一组流星中,每个流星的字符颜色是随机的,下降的位置是随机的,下降的速度也是随机的。一个流星下落只能去掉一个#号,当最后一行地面有#被去掉时,程序终止。实现提示:程序在下降过程中,程序必须知道流星的字符、颜色、位置、速度,因此程序需要定义以下几个数组变量:存放流星字符的数组,存放流星字符颜色的数组,存放流星行位置的数组,存放流星列位置的数组,存放流星下降速度的数组。程序的流程图如图4所示。可定义二维数组screen表示地面和天空,此数组是一个24行81列的字符数组。上面的行表示天空,数组单元的值是空格;最下面的几行(如5行)表示地面,数组单元的值是’#’;整个屏幕的大小是80*25,即25行80列,为了在输出最后一行时不换行滚屏,程序只能利用上面的24行空间。把数组定义成81列的目的是,每行的最后字符赋值成’\0’,就可以按照字符串的方式输出每行文本了。程序首先输出地面和天空,即输出定义的二维数组screen中的字符串,前19行是空行,后5行是#号。这样screen[24][81]的字符矩阵就与整个屏幕对应起来。然后随时机产生一组流星数据,包括字符、颜色、位置和速度。速度用一次下降多少行来表示,最大的速度是4。由于要随机产生这些数据,因此需要调用random函数。random函数的原型是intrandom(intnum);这个函数产生一个0—num-1之间的一个随机数。流星字符可以这样产生:random(26)+’A’;流星字符的颜色可以这样产生:random(16)+1;流星下降的位置可以这样产生:random(4)+1;流星的行位置一开始都是1;流星的列位置可以这样产生:random(80)+1;但要保证所有流星的列位置不能相同(设计一个算法来判断)。调用random之前,用randomize()库函数进行初始化。两个库函数都在stdlib.h文件中。每个流星按照自己的速度下落,所谓的下落就是逐行移动流星字符:在下一行新的位置上显示流星字符,在原来的位置上显示空格以便擦除流星字符,然后再延迟等待几十毫秒。这样循环往复就构成了流星下落的动画。但要注意,流星的速度各不相同,而一次下落多行的流星也要逐行下落。如果流星的新位置所对应的screen的单元格的值是’#’,则表示撞到了地面。这种情况下在流星的新位置上输出空格,擦除#号,并且对screen相应的单元赋值为空格,流星字符也要赋值为空格,以表示流星消失。当screen[23]中任何一个单元格是空格时,程序终止。图4:流星雨流程图15.词法分析器设计内容:词法分析程序的功能是把源程序文件(文本,字符序列)处理成单词文件(单词序列)。设计要求程序语言单词的分类为1)关键字:int,while2)标识符:用来表示各种名字3)字面量:256,3.14,”abc”,’a’4)运算符:如,+、-、*、/等等5)分界符:如逗号,分号,冒号等例如一个C源程序片断:inta;a=a+2;词法分析后输出:单词
本文标题:89c语言课程设计题目2
链接地址:https://www.777doc.com/doc-3259751 .html