程序设计题一:学生信息管理系统【课题内容】学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。
该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。
通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。
【基本要求】(1)学生信息包括:学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下:学号姓名性别宿舍号码电话号码01 张成成男 501 8773211102 李成华女 101 8772311203 王成凤女 101 8772311204 张明明男 502 8773433305 陈东男 501 8773211106 李果男 502 8773433307 张园园女 102 87756122…………………(2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求)学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分01 A01 大学物理 3 66 78 8202 B03 高等数学 4 78 -1 9001 B03 高等数学 4 45 -1 8802 C01 VF 3 65 76 66……………………(3)需要实现的功能1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。
综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。
实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。
2)查询功能:分为学生基本情况查询和成绩查询两种(1)学生基本情况查询:①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下:②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
(格式如上所示)(2)成绩查询:①、输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx 姓名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx ……………………共修:xx科,实得总学分为: xxx(3)删除功能:提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。
(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
【具体说明】(1)将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义;(2)对score.dat文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算出后,得到完整的结构体信息,作为一个整体写入(可调用write函数)。
(3)删除功能中可以将删除相关信息后得到的文件生成新文件存储,也可以在原文件的基础上作删除(4)可以用面向过程方法或是面向对象的方法实现。
(5)主界面提供菜单选择的方法选择实现某一功能,一次运行程序能进行多次选择执行不同的功能。
【程序设计的开发环境】采用C或C++实现,VC++6.0、Windows98/XP程序设计题二:停车场管理系统【课题内容和要求】(1) 管理人员根据口令进入系统;(2) 管理车位信息(车位编号,状态)和每分钟的收费费率;(3) 停车时录入汽车停泊信息(车牌号,车型,停泊位置,停泊开始时间);如果车位已满要给出提示;(4) 取车时,根据车牌取,如果没有给出提示;需要根据车辆停泊时间自动计算费用并显示在屏幕上。
【程序设计的开发环境】采用C或C++实现,VC++6.0、Windows98/XP程序设计题三:南邮图书馆管理系统【课题内容和要求】该系统要求建立一个南邮图书馆管理系统,并具有排序、查找、计算、显示等功能。
通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
(1)图书的信息应包括:索引号,名称,馆藏地址(三牌楼、仙林)、类别(人文、科技、外语等),数量,价格,入库日期,归还日期,借阅次数,借阅状态(可借、不可借)。
(2)需要实现的功能1) 对已图书信息进行更新操作,包括添加和删除一种书的信息、修改图书信息(例如图书被借阅,书的数目减1,借阅次数加1,如果数量为0则状态为不可借);2)通过按图书的名称查询图书信息;3)显示所有即将到期的图书(归还日期在三天之内);4)按借阅次数对所有图书进行排序;5)将图书的所有相关信息内容存为文件。
(3)界面友好,输入信息符合逻辑。
【程序设计的开发环境】采用C或C++实现,VC++6.0、Windows98/XP程序设计题四:猜单词【课题内容和要求】这是一个简单的智力游戏,游戏者每次只能猜一个字母,如果游戏者猜的字母在单词中,单词中所有的该字母将被视为已猜出,例如:如果原单词是apple,游戏者猜出了p,则程序应显示当前猜出的残缺单词为-pp--;设置选择时间限制或猜错次数限制,超过限制则游戏失败。
1-5个字母为初级;5-9个字母为中级;10个字母以上为高级,猜错次数限制自定。
1.设计游戏者信息格式,记录用户名、成绩,并保存,下次开始时可选择用户继续游戏,用户信息存放2.在user.txt中。
建立积分排行榜,保留不同级别前五名的成绩。
3.根据单词长度设置不同级别的游戏。
4.游戏过程中,猜错的字母将被记录下来,每次猜测后,游戏应显示出当前猜出的残缺单词,以及当前猜错的所有字母,和剩下的机会。
5.提供相应安全机制,保证程序的健壮性,如选择单词长度时,应避免非数字字符的输入造成程序出错等。
6.提供选择一次求助机会。
如显示单词一秒钟,或给出指定位置上的一个字母等。
【程序设计的开发环境】采用C或C++实现,VC++6.0、Windows98/XP程序设计题五:个人帐本管理系统【课题内容和要求】该系统要求实现一个简单、实用的个人帐本管理程序,主要功能包括帐务收支明细数据的录入、查找、修改、删除、统计、排序等。
所有帐务数据都要利用文件系统保存,以备系统下次运行时使用。
通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。
(1)个人帐务数据由帐务明细条目构成,包括:序号,日期(年、月、日),收支项名称,收支类型(收入/支出),收支金额(正/负数表示收支),备注等。
(2)需要实现的功能1)新增帐务明细数据。
2)查找帐务数据(可按序号、日期(年、月、日)、名称、金额等查找)。
3)修改帐务明细条目(先查找,再修改。
若查找出多个条目,则进一步提示用户选择条目的序号,再修改)。
4)删除帐务明细条目(请参考上面修改的处理)。
5)对帐务数据排序(可按日期、名称、金额等排序。
要求排序后,记录的序号也要重新编排)。
6)显示当前所有帐务数据列表。
7)帐务统计(根据日期范围,可分别按年、月或日统计收、支、结余总金额,并显示)8)保存帐务数据到文件中、从文件中读入帐务数据。
(3)界面友好,输入信息符合逻辑。
【程序设计的开发环境】采用C或C++实现,VC++6.0、Windows98/XP程序设计题六文档编辑器的设计与实现【课题内容】该系统要求对一个文本文件中的内容进行各种常规操作,如:插入、删除、查找、替换等功能。
通过此课题,熟练掌握文本文件的操作及用字符数组来实现字符串操作的功能。
【基本要求】要能提供以下几个基本功能:(1)首先文件标准化处理:如果句子有前导空格和后导空格,则删除这些空格,单词与单词之间只保留一个空格。
(2)统计功能:可方便地统计出文档中所有出现次数最多和最少的字符串。
(3)查找与替换功能:能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将其替换为另一个字符串。
(4)显示功能:编辑完成后可以显示编辑后的文档。
(5)抽取功能:根据要求将文件中的某一类字符抽取,并存入另外的文件,如抽取所有的数字、抽取所有的字母等【程序设计的具体说明】(1)被处理的初始文本文件可以用程序生成,也可以直接用写字板或记事本生成。
(2)可以用面向对象或面向过程的程序设计思想实现,但是要求每一个功能对应于一个函数模块,例如:①显示文件:void list( 形式参数表);②查找指定字符串:void selectstring(形式参数表 );(3)主函数中提供菜单结构:根据选择的数字执行不同的操作菜单0、退出1、显示文件信息2、统计3、查找4、替换5、抽取6、文本拷贝(4) 界面友好【程序设计的开发环境】可以VC++6.0,在内存中的各种操作可以采用一维数组方式或是单链表。