资源描述
2011级C++课程设计要求及题目
说明:
难度系数为A或B的题目,见课程设计的教材。
要求:
优秀: 一道双向链表(见教材), 一道优秀组的题目, 建议选择对象:c++75分以上者
良好: 一道链表, 一道A或者一道良好组的题目, 建议选择对象:c++68分以上者
中等: 一道A,一道B 建议选择对象:c++60分以上者
及格: 两道B 建议选择对象: c++不及格者
优秀组的题目:
一 中药方剂中中药名称的标准化处理 (难度系数***)
如方剂为:太子参10g,炒白术10g,淮山药15g,陈皮5g, 川连3g
中药经常有别名,我们事先提供所有中药的别名,格式为标准名:别名之间以逗号隔开
如 黄连:味连,雅连,云连,川连
把所有的别名规范为统一的标准名称,如上例中的 川连3g 规范为 黄连3g, 把规范后的方剂结果保存在文件里。
并且,对每一方剂按照每味药的剂量从小到大进行排序, 上述方剂最后的结果为
黄连3g, 陈皮5g,太子参10g,炒白术10g,淮山药15g
方剂的格式文件可能是TXT格式的文本文件,也可能是Excel文件。
要求用动态分配的方式处理上述数据。
二 高考成绩模拟录取系统 ((难度系数 ****)
定义一个类 包括:姓名,性别,年龄,准考证号,毕业学校,
语文,数学,英语三门课的成绩,两门选测课及其等级,分为a+,a,b+,b,c+,c,d+,d
以上信息要求从文本文件读入,
要求用动态分配的方式实现数据的处理。
要求程序提供以下功能:
1 计算每个考生语文,数学,英语三门课的总分并排序,并按照5分一个分数段,进行人数统计。
2 对语文,数学,英语三门课分别排序,并输出每门课的平均成绩,以及最高分
3 按照一定的录取人数,以及选测课的标准,分文科和理科来确定分数线(选测课有物理的为理科,选测课有历史的为文科),统计达到标准的人数,并记录达到标准的每个学生的信息,注意最后一分的处理。
4 通过命令行获得读取文件的文件名。
5 以上所有结果,存入文件。
文件格式
姓名(5个汉字) ,性别(1个汉字),年龄两位(数),准考证号(18位),毕业学校(20个汉字), 语文,数学,英语三门课的成绩,后面是两门选测课的等级成绩。每门课前的代码含义如下: 1 语文 2 数学 3 英语 4 物理 5 化学 6 历史 7 地理 8 政治 9 生物
张帅帅,男,18,0832010101010101,空间一中,1,120,2,120,3,100,4,A+,5,B
李呆呆,男,19,0832020101010101,宇宙二中,1,80,2,91,3,71,4, C+,5, D
王虎妞,女,18,0832020101010102,女子中学, 1,135, 2,132,3,119,6,A+,7,A+
林若仙,女,17,0832080101010102,东启中学,1,130,2,140,3,114,4,A+,9,A
三 学生管理系统 (难度系数*****)
使用下面的数据,设计一个简单的学籍管理系统,实现出最基本的功能。
学生基本信息文件(a.txt)及其内容:事先提供,格式如下
学号 姓名 性别 宿舍号码 电话号码
01 李成成 男 501 87732111
02 李成华 女 101 87723112
03 王成凤 女 101 87723112
04 张明明 男 502 87734333
05 陈东 男 501 87732111
06 李果 男 502 87734333
07 张圆圆 女 102 87756122
。。。。。。。。。
学生成绩基本信息文件(b.txt)及其内容:
学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分
01 A01 大学物理 3 66 78 82
02 B03 高等数学 4 78 -1 90
01 B03 高等数学 4 45 -1 88
02 C01 VF 3 65 76 66
```````````````
(一)功能要求及说明:
(1) 数据录入功能:对b.txt进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。
综合成绩的计算:如果本课程的实验成绩为-1,则表示本课程无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%。
实得学分的计算:采用等级学分制。
综合成绩在90-100之间,应得学分=学分*100%
综合成绩在80-90之间,应得学分=学分*80%
综合成绩在70-80之间,应得学分=学分*75%
综合成绩在60-70之间,应得学分=学分*60%
综合成绩在60以下,应得学分=学分*0%
(2)查询功能:分为学生基本情况查询和成绩查询两种
A:学生基本情况查询:
A1---输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。
A2---输入一个宿舍号码,可查询本室所有的学生的基本信息并显示输出。
B:成绩查询:
B1:输入一个学号时,查询出此生的所有课程情况,格式如下:
学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分:
学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分:
学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分:学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分:
```````````````````````````
共修:XX科,实得总学分为:XXXX
(2) 删除功能:当在a.txt中删除一个学生时,自动地在b.txt中删除此人所有信息。
(3) 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
四 ,一 中药方剂中中药名称的标准化处理 难度系数***)
用模板定义一个矩阵类, 可能的数据类型为整数,浮点和复数。
需要完成的功能,主菜单
1 计算矩阵的转置
2 计算矩阵的行列式
3 计算矩阵的逆
4 计算矩阵的乘法
5 计算矩阵的数乘
要求用动态分配来存储矩阵的内容,数据输入提供两种接口,从文件和键盘。
良好组的题目
以下所有的题目都要提供菜单,供用户选择,参考课程设计教材
一 P326 16题
要求 :1 用模板方式实现对float ,double和int 三种数据类型的操作
2 数据成员为 type *element, int number; 其中type 为float ,double和int之一, number 表示元素的个数
3 类的名称改为set,要求从文件读入数据进行初始化。
4 要求提供菜单,让用户选择使用哪种数据类型, 以及进行哪种操作,操作包括:
//清空该集合
//判断集合是否为空
//判断某个数是否在该集合内
//增加一个数到集合中
//从集合中删除一个元素
//判断两个集合是否相等
//求两个集合的交集
//求两个集合的并集
//显示该集合的所有元素
二 打印日历
任意输入一个年代, 打印出该年的日历。要求输出格式有两种,可以供用户任选择。
一种格式为
一月 二月 三月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 3 4 5 6 7 1 2 3 4 5
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
另外一种格式为居中输出
一月
日 一 二 三 四 五 六
1 2 3 4 5 6 7
。。。。。
所有输出结果存入文件。
三 模拟试卷系统,给小学生出加减乘除的口算题, 并进行评卷
要求: 1 给用户提供菜单,让用户选择是出加减乘除的哪一类题目,所生成的试卷中,只有一种运算,或者是加法,或者减法,或乘法,或除法,每张试卷题数可以由用户输入,缺省为100题。
2 对于所有运算,要求结果不超过100,减法的结果不要出现负数,除法一定要能够整除,除数为1为一位数。
3 判卷系统,读入文本文件(文本文件即为上述程序生成的文件,只不过增加了计算结果),判断结果是否正确,最后统计回答正确和错误的试题数。
每一行4个算式,每一份试卷的行数不一定,但是至少有一行,如
3+5=8 78+12=90 34+51=85 29+56=85
13+15=28 71+12=83 31+5=36 91+6=97
四 ,矩阵运算
主菜单
1 计算矩阵的转置
2 计算矩阵的逆
3 计算矩阵的乘法
4 计算矩阵的数乘
要求用指针来存储矩阵的内容,数据输入提供两种接口,从文件和键盘。
五 输入一段英文文本,统计出其中的单词个数,以及单词出现的频率,字符数(带空格和不带空格),行数,输入的单词之间的分隔符包括:TAB键,空格,逗号(,),句点(.), 分号(;)和感叹号(!)。
主菜单
1 统计功能 ,即上述要求的统计
2 查找功能,输入一个单词, 找出其在文本中出现的所有地方,输出形式为:第几行第几个单词
3 替换功能, 把某个单词替换为另外一个单词并保存为新的文件。
六 输入一个文本文件,采用一定的方式进行加密,然后把加密的结果存放在一个二进制文件中,对加密后的文件进行解密,得到原来的文本文件。
加密方法:
1 输入一个密码数字串, 比如“1234”, 原来的字符串为“abcdef”, 加密的方法为
‘a’+1, ‘b’+2, ‘c’+3, ‘d’+4, ‘e’+1, ‘b’+2.
2 输入一个密码数字串, 比如“53421”, 原来的字符串为“abcde”, 加密后变为
“ecdba”, 即把原来的字符串按照输入字符串的顺序,重新调整,把原来12345的顺序,调整为53421。
2 输入一个密码串,比如“xyz”,原来的字符串为“abcdef”, 加密的方法为分别把字符’a’和字符’x’, ‘b’和‘y’, ‘c’和’z’进行异或操作,依次类推。
VC++课程设计注意事项
1. 上机时间:每周保证一定的上机时间。
2. 学生从教材中自主选择一或两题独立完成,不可两人合做。尽量选择与他人不同的题目,如发现有某题选择人数过多,则所有选择该题的同学成绩可能降低一个等级。
3. 在读懂整个原程序的基础上,根据教材中“课程设计要求”完成对原程序的修改。如有可能,可根据自己的想法做进一步修改。鼓励创造性的改进和完善。
4. 考核方法:上机检查 + 实验报告
i. 上机检查:单独上机演示程序,并回答老师的提问
ii. 实验报告:按以下格式完成实验报告
最终成绩:优秀、良好、中等、及格、不及格
VC++课程设计实验报告
姓名: 学号:
课程设计题目:
评定难易级别:
一、 原程序功能、结构(包括总的结构框图和子程序流程图。参照教材第9页,可简化些)
二、 课程设计要求的实现(尽量详细,但不要只罗列代码,要进行说明。可参照教材18页)
三、 课程设计中所遇问题和解决
四、 课程设计的收获和体会
13
展开阅读全文