《C语言程序设计》课程设计任务书is090103.docx
- 文档编号:10610384
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:20
- 大小:146.12KB
《C语言程序设计》课程设计任务书is090103.docx
《《C语言程序设计》课程设计任务书is090103.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计任务书is090103.docx(20页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》课程设计任务书is090103
《C语言程序设计》课程设计(IS2009)
第1部分基础部分
一、题目及选题规定
(1)安全事故信息管理系统
(2)自然灾害信息管理系统
(3)贪腐案件信息管理系统
题目选择的规定:
学号尾数(最后一位)为1、4、7、0者自动选择题目
(1),即:
安全事故信息管理系统;
学号尾数为2、5、8者自动选择题目
(2),即:
自然灾害信息管理系统;
学号尾数为3、6、9者自动选择题目(3),即:
贪腐案件信息管理系统。
如果有学生希望选做其他更具有挑战性的题目,必须先征得授课教师的同意,原则上另选题目在难度方面必须高于给定的任务。
二、需要处理的基础数据
(1)安全事故信息管理系统
对全国各省(直辖市、自治区)发生的各类生产安全事故信息进行管理,主要包括所属省份监管信息,安全事故基本信息,及媒体报道基本信息。
所属省份监管信息参考:
中文字段名
类型及长度
举例
所属省份
char[8]
“shanxi”山西
监管负责人
char[15]
“zhangsan”张三
联系电话
char[15]
“0351*******”
安全事故基本信息参考:
中文字段名
类型及长度
举例
事故编号
char[12]
“20090222001”年+月+日+顺序编号
发生时间
char[15]
“yyyymmdd-hh:
mm”
事故类型
char[10]
“wasibaozha”瓦斯爆炸
事故等级
char
‘1’、‘2’、‘3’、‘4’四个等级分别对应特大、重大、较大和一般
所属省份
char[8]
“shanxi”事故发生地所属省份
事故发生单位
char[20]
“shanxijiaomeijituan”山西焦煤集团
死亡人数
int
74
重伤人数
int
114
直接经济损失
float
9500.0单位:
万元人民币
媒体报道基本信息参考:
中文字段名
类型及长度
举例
事故编号
char[12]
“20090222001”年+月+日+顺序编号
报道日期
char[10]
“20090222”年(4)+月
(2)+日
(2)
媒体类别
char
‘1’、‘2’、‘3’、‘4’分别代表四大媒体:
报纸、广播、电视和互联网
媒体名称
char[20]
“souhuxinwenwang”搜狐新闻网
内容索引
char[50]
“n262392247.shtml”
附加说明:
安全生产事故类型限制为触电、火灾、灼烫、淹溺、高处坠落、坍塌、透水、火药爆炸、瓦斯爆炸、锅炉爆炸、其他爆炸、中毒和窒息、其他伤害13种。
(2)自然灾害信息管理系统
对全国范围内发生的自然灾害信息进行管理,主要包括自然灾害分类信息,自然灾害基本信息,以及自然灾害捐款信息。
自然灾害分类信息参考:
中文字段名
类型及长度
举例
灾害名称
char[15]
“dizhen”地震
类别
char
‘1’~‘7’分别表示:
气象灾害、海洋灾害、洪水灾害、地质灾害、地震灾害、农作物灾害和森林灾害。
自然灾害事件基本信息参考:
中文字段名
类型及长度
举例
事件编号
char[12]
“20090222001”年+月+日+顺序编号
发生时间
char[15]
“yyyymmdd-hh:
mm”年月日-时:
分
灾害名称
char[15]
“dizhen”地震
灾害级别
char
‘1’、‘2’、‘3’、‘4’四个等级分别对应特大、重大、较大和一般
发生地点
char[20]
“qinghaiyushu”青海玉树
死亡人数
int
791单位:
人
民房倒塌
int
15000单位:
间
直接经济损失
float
3.0单位:
亿元人民币
自然灾害捐款信息参考:
中文字段名
类型及长度
举例
事件编号
char[12]
“20090222001”年+月+日+顺序编号
捐款日期
char[10]
“20090222”yyyymmdd
捐款类别
char
‘1’、‘2’分别代表个人和机构
捐款者名称
char[20]
“taipingyangbaoxian”太平洋保险
捐款数目
float
500.0单位:
万元人民币
附加说明:
自然灾害分七类。
(1)气象灾害。
包括热带风暴、龙卷风、雷暴大风、干热风、暴雨、寒潮、冷害、霜冻、雹灾及干旱;
(2)海洋灾害。
包括风暴潮、海啸、潮灾、赤潮、海水入浸、海平面上升和海水回灌;(3)洪水灾害。
包括洪涝、江河泛滥;(4)地质灾害。
包括崩塌、滑坡、泥石流、地裂缝、火山、地面沉降、土地沙漠化、土地盐碱化、水土流失;(5)地震灾害。
包括与地震引起的各种灾害以及由地震诱发的各种次生灾害,如沙土液化、喷沙冒水、城市大火、河流与水库决堤。
(6)农作物灾害。
包括农作物病虫害、鼠害、农业气象灾害、农业环境灾害;(7)森林灾害。
包括森林病虫害、鼠害、森林火灾。
(3)贪腐案件信息管理系统
对全国各省(直辖市、自治区)发生的贪腐案件信息进行管理,主要包括所属省份监管信息,贪腐案件基本信息,及媒体报道基本信息。
所属省份监管信息参考:
中文字段名
类型及长度
举例
所属省份
char[8]
“shanxi”山西
纪检负责人
char[15]
“zhangsan”张三
联系电话
char[15]
“0351*******”
贪腐案件基本信息参考:
中文字段名
类型及长度
举例
案件编号
char[12]
“20090222001”年+月+日+顺序编号
立案日期
char[10]
“yyyymmdd”
所属省份
char[8]
“heilongjiang”案件所属省份
被告人姓名
char[15]
“wangwu”王五
行政级别
char
‘A’~’H’:
分别代表副科级、正科级、副处级、正处级、副厅级、正厅级、副部级和正部级及以上
主要罪名
char
‘1’~‘6’:
分别代表受贿、贪污、挪用公款、渎职、滥用职权和其他
涉案金额
float
2000.0单位:
万元人民币
刑事处罚
int
1~99:
有期徒刑
大于等于100:
无期徒刑
小于0:
死刑
媒体报道基本信息参考:
中文字段名
类型及长度
举例
案件编号
char[12]
“20090222001”年+月+日+顺序编号
报道日期
char[10]
“20090222”年(4)+月
(2)+日
(2)
媒体类别
char
‘1’、‘2’、‘3’、‘4’分别代表四大媒体:
报纸、广播、电视和互联网
媒体名称
char[20]
“souhuxinwenwang”搜狐新闻网
内容索引
char[50]
“n262392247.shtml”
三、系统基本功能
每个系统需要实现数据维护,数据查询和数据统计三个主要功能模块,另外根据情况添加辅助功能模块。
下面给出了各系统三个主要主要模块的功能需求,辅助功能模块根据各人的理解和分析自己设计。
(1)安全事故信息管理系统
1.数据维护
本模块实现对所属省份监管信息,安全事故基本信息,及各新闻媒体针对该事故的报道信息等三方面基本信息的数据维护功能,又分为三个子模块。
1)所属省份监管信息维护
包括对所属省份监管信息的录入、修改和删除等功能。
2)安全事故基本信息维护
包括对安全事故基本信息的录入、修改和删除等功能。
3)事故报道基本信息维护
包括对事故报道基本信息的录入、修改和删除等功能。
2.数据查询
本模块实现对所属省份监管信息,安全事故基本信息,及各新闻媒体针对该事故的报道信息等三方面基本信息的数据查询功能,又分为三个子模块。
1)所属省份监管信息查询
实现两个功能。
①以省份名称为条件来查找并显示满足条件的所属省份监管信息。
例如,查找并显示所属省份为“shanxi”的监管信息。
②以监管负责人姓名为条件来查找并显示满足条件的所属省份监管信息。
例如,查找并显示监管人姓名为“zhangsan”的所属省份监管信息。
2)安全事故基本信息查询
实现两个功能。
①以事故编号为条件查找并显示满足条件的安全事故基本信息。
例如,查找并显示事故编号为“20090222001”的安全事故基本信息。
②事故类型和所属省份为条件查找并显示满足条件的安全事故基本信息。
例如,查找并显示事故类型为“huozai”(火灾)且所属省份为“xinjiang”(新疆)的所有安全事故基本信息。
3)媒体报道基本信息查询
实现两个功能。
①以事故编号和媒体名称为条件查找并显示满足条件的媒体报道基本信息。
例如,查找并显示事故编号为“20090222001”且媒体名称为“souhuxinwenwang”的媒体报道基本信息。
②以报道日期和媒体名称的一部分为条件查找并显示满足条件的媒体报道基本信息。
例如,查找并显示报道日期为“20090503”且媒体名称中包括字符子串“wang”的所有媒体报道基本信息。
3.数据统计
本模块实现五个方面的数据统计功能,前四个功能需求已给出,第五个自行设计。
①统计历年来各省份安全事故发生数、死亡人数、重伤人数和直接经济损失,按安全事故发生数降序排序后,输出统计结果。
②统计某年度全国发生的特大、重大、较大和一般四类等级安全事故发生数。
③统计各种类型安全事故发生数,按死亡人数降序排序后输出安全事故类型名称、事故发生总数、死亡总人数、重伤总人数和直接经济损失总额。
④统计媒体报道数最多的10次安全事故,按报道数降序排序后输出事故编号、事故类型、事故等级、所属省份和媒体报道次数。
⑤有关安全事故其他方面的数据统计。
(2)自然灾害信息管理系统
1.数据维护
本模块实现对自然灾害分类信息,自然灾害事件基本信息,及自然灾害捐款信息等三方面基本信息的数据维护功能,又分为三个子模块。
1)自然灾害分类信息维护
包括对自然灾害分类信息的录入、修改和删除等功能。
2)自然灾害事件基本信息维护
包括对自然灾害事件基本信息的录入、修改和删除等功能。
3)自然灾害捐款信息维护
包括对自然灾害捐款信息的录入、修改和删除等功能。
2.数据查询
本模块实现对自然灾害分类信息,自然灾害事件基本信息,及自然灾害捐款信息等三方面基本信息的数据查询功能,又分为三个子模块。
1)自然灾害分类信息查询
实现一个功能。
①以自然灾害名称中所包含的字符子串为条件查询自然灾害分类信息。
例如,查找并显示自然灾害名称中包含“bao”所有自然灾害分类信息。
2)自然灾害事件基本信息查询
实现两个功能。
①以事件编号为条件查找并显示满足条件的自然灾害事件基本信息。
例如,查找并显示事件编号为“20090222001”的自然灾害事件基本信息。
②以事件发生的时间范围和灾害名称为条件查找并显示满足条件的自然灾害事件基本信息。
例如,查找并显示发生在2008年3月至2010年5月之间灾害名称为“dizhen”(地震)的所有自然灾害事件基本信息。
3)自然灾害捐款信息查询
实现两个功能。
①以事件编号和捐款者名称中字符子串为条件查找并显示满足条件的自然灾害捐款信息。
例如,查找并显示事件编号为“20090222001”且捐款者名称中包含“baoxian”(保险)的所有自然灾害捐款信息。
②以捐款类别和捐款数目为条件查找并显示满足条件的所有自然灾害捐款信息。
例如,查找并显示捐款类别为‘1’(个人)且捐款数目为大于0.5万、小于100万的所有自然灾害捐款信息。
3.数据统计
本模块实现五个方面的数据统计功能,前四个功能需求已给出,第五个自行设计。
①按灾害类别分别统计各类自然灾害事件发生的次数、死亡总人数、民房倒塌总间数、直接经济损失总额(保留2位小数),按发生次数降序排序后,输出统计结果。
②按灾害名称统计某年度灾害级别为‘1’(特大)和‘2’(重大)的各种自然灾害事件发生的次数、死亡总人数、民房倒塌总间数、直接经济损失总额(保留2位小数),按发生次数降序排序后,输出统计结果。
③统计某种灾害在某年度的十二个月份内发生的次数、死亡总人数、民房倒塌总间数、直接经济损失总额(保留2位小数),输出统计结果。
④按捐款日期分别统计在某个时间段内各类自然灾害的个人捐款总数和机构捐款总数。
⑤有关自然灾害其他方面的数据统计。
(3)贪腐案件信息管理系统
1.数据维护
本模块实现对案件发生地所属省份的监管信息,贪腐案件的基本信息,及媒体报道基本信息等三方面基本信息的数据维护功能,又分为三个子模块。
1)所属省份监管信息维护
包括对所属省份监管信息的录入、修改和删除等功能。
2)贪腐案件基本信息维护
包括对贪腐案件基本信息的录入、修改和删除等功能。
3)媒体报道基本信息维护
包括对媒体报道基本信息的录入、修改和删除等功能。
2.数据查询
本模块实现对案件发生地所属省份的监管信息,贪腐案件的基本信息,及媒体报道基本信息等三方面基本信息的数据查询功能,又分为三个子模块。
1)所属省份监管信息查询
实现两个功能。
①以省份名称为条件来查找并显示满足条件的所属省份监管信息。
例如,查找并显示所属省份为“shanxi”的监管信息。
②以纪检负责人姓名为条件来查找并显示满足条件的所属省份监管信息。
例如,查找并显示纪检负责人姓名为“zhangsan”的所属省份监管信息。
2)贪腐案件的基本信息查询
实现两个功能。
①以案件编号为条件查找并显示满足条件的贪腐案件的基本信息。
例如,查找并显示案件编号为“20080327005”的贪腐案件的基本信息。
②以被告姓名和行政级别为条件查找并显示满足条件的贪腐案件的基本信息。
例如,查找并显示被告姓名为“wangwu”(王五)且行政级别为“D”(正处级)的所有贪腐案件的基本信息。
3)媒体报道基本信息查询
实现两个功能。
①以案件编号和媒体名称为条件查找并显示满足条件的媒体报道基本信息。
例如,查找并显示事故编号为“20061102015”且媒体名称为“souhuxinwenwang”的媒体报道基本信息。
②以报道日期和媒体名称的一部分为条件查找并显示满足条件的媒体报道基本信息。
例如,查找并显示报道日期为“20090503”且媒体名称中包括字符子串“wang”的所有媒体报道基本信息。
3.数据统计
本模块实现五个方面的数据统计功能,前四个功能需求已给出,第五个自行设计。
①以主要罪名为条件分别统计历年来各种罪名贪腐案件的发生数、涉案金额,按案件发生数降序排序后,输出统计结果。
②以行政级别为条件分别统计某年度内各种行政级别贪腐案件的发生数,其中刑事处罚为死刑、无期徒刑、有期徒刑1-5年、有期徒刑6-10及有期徒刑11年以上的案件分别是多少起。
③以案件发生地所属省份为条件分别统计某个时间段内各省份贪腐案件的发生数,涉案金额总数,按案件发生数降序排序后输出统计结果。
④统计媒体报道数最多的10个贪腐案件,按报道数降序排序后输出案件编号、被告行政级别、主要罪名、涉案金额、刑事处罚和媒体报道次数。
⑤有关安全事故其他方面的数据统计。
四、数据结构说明及举例
(1)三个系统的数据结构都可以采用三个方向的十字链表或二个方向的十字链表来处理,相应的难度系数有所不同。
(2)三个系统的部分数据结构举例见图1、图2、图3、图4、图5、图6。
图1安全事故信息管理系统三个方向的十字交叉链表
图2安全事故信息管理系统两个方向的十字交叉链表
图3自然灾害信息三个方向的十字交叉链表
图4自然灾害信息二个方向的十字交叉链表
图5贪腐案件信息三个方向的十字交叉链表
图6贪腐案件信息二个方向的十字交叉链表
五、难度选择的规定
(1)数据结构
选三个方向的十字交叉链表数据结构的难度系数为1;选二个方向十字交叉链表数据结构的难度系数为0.85。
(2)界面
采用文本菜单界面的难度系数为1;采用简易菜单的难度系数为0.85。
请每个同学根据实际掌握程度和能力选择相应难度系数的题,要求能够独立完成。
六、要求
1、只能使用C语言来实现,源程序要有适当的注释,使程序容易阅读。
2、要有用户界面。
要求至少采用简易菜单;鼓励采用文本菜单界面甚至采用图形菜单界面。
3、必须使用结构和十字交叉链表等数据结构。
4、使用文件保存数据。
5、至少输出一份报表(屏幕输出即可),鼓励自行增加新功能。
6、写实验报告(要求正规打印,A4幅面),内容格式:
7、凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩并向学院报告。
凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩并向学院报告。
8、附:
课程设计实验报告的封面格式。
七、创建文本菜单与打印输出的提示
1、与创建文本菜单的相关函数
window、textbackground、clrscr、
textcolor、cprintf、bioskey、
gotoxy、gettext、puttext、putch
请自行查阅相关资料,了解这些函数的用法。
2、打印输出
使用下列语句:
FILE*fp;
fp=fopen(“PRN”,”w”);
可以打开打印机。
八、参考书目
TurboC使用大全第一册、第二册徐金梧等编译北京科海培训中心
九、评分标准(百分制,难度系数为1)
课程设计的评分分三个部分:
1、上机演示占40%(40分)
其中功能演示占本部分的70%(28分),回答问题占本部分的30%(12分)。
2、课程设计报告占40%(40分)
其中报告占本部分的70%(28分),源程序清单占本部分的30%(12分)。
3、程序风格占20%(20分)
其中数据结构(如是否用十字交叉链表)以及代码的简洁性占本部分的50%(10分),程序注释占本部分的50%(10分)。
华中科技大学计算机科学与技术学院
《C语言程序设计》课程设计
实验报告
题目:
XXXXXX信息管理系统
专业:
班级:
学号:
姓名:
成绩:
指导教师:
完成日期:
2010年月日
第2部分-选做提高部分
一、题目
(1)题目1.C输入输出库函数的程序设计
(2)题目2.简单C编译预处理程序设计
(3)题目3.C程序的词法元素(token)分析提取程序设计
(4)题目4.SimulatorandAssembler
二、选题规定
(1)课程设计的提高部分拟采用分组形式进行,目的是培养团队精神和协作能力。
(2)可由2-3人组成一组。
(3)各组可以根据兴趣从4个题目中任选1题做。
(4)也允许个人独立选做。
(5)题目一经选定,由课代表统计后上报老师。
且一般不允许变更。
三、相关要求
参考书:
[1]TheCProgrammingLanguage.BrianW.Kernighan,DennisM.Ritchie.清华大学出版社.Prentice-Hall,1997
1、题目1.C输入输出库函数的程序设计要求
(1)给定getchar和putchar函数,实现其它C输入输出库函数。
如:
gets,puts,printf,scanf等。
并且在原函数名前加my构成新函数名。
如:
mygets,myputs,myprintf,myscanf等。
对myprintf函数,其功能与printf函数相同。
但只要求支持简单的%c,%d,%s,%f,%lf格式说明。
不要求域宽控制。
对myscanf函数,其功能与scanf函数相同。
但只要求支持简单的%c,%d,%s,%f,%lf格式说明。
(2)鼓励实现参考书[1]p241APPENDIXB:
StandardLibrary中B1InputandOutput:
(3)创建mylibrary.lib库,将自己实现的库函数加入到该库中。
(4)对自行设计的每个库函数,编写实验程序,调用mylibrary.lib库自行设计的库函数,要求得到正确结果。
(5)提交设计报告,在设计报告中要求提交测试结果报告以说明调用结果。
(6)提交详细注释的各个库函数清单,并且简短说明设计思路。
2、题目2.简单C编译预处理程序设计要求
读一个带有编译预处理命令的C源程序,要求:
(1)用#include编译预处理命令中指定的头文件(.h文件)内容替换源程序中的#include命令。
(2)对所读源程序中的#define编译预处理命令中指定的宏进行宏替换。
包括对带参的宏进行宏替换。
(3)对条件编译预处理命令进行处理。
(4)输出预处理后的C源程序。
文件名为:
在原源程序名加pre前缀形成新的源程序名。
(5)提交设计报告、详细注释的译预处理程序清单,并且简短说明设计思路。
3、题目3.C程序的词法元素(token)分析提取程序设计要求
C中有六种词法元素:
标识符(identifiers),关键字(keywords),常量(constants),字符串文字(stringliterals),操作符(operators),空白字符(whitespace)(包括注释)。
请参阅[1]p191起的APPENDIXA:
ReferenceManual。
读一个C源程序,要求对C程序的词法元素(token)进行分析和提取:
(1)分析和提取C源程序中的标识符;
(2)分析和提取C源程序中的关键字;
(3)分析和提取C源程序中的常量;
(4)分析和提取C源程序中的字符串文字;
(5)分析和提取C源程序中的操作符。
(6)忽略C源程序中的空白字符(包括注释)。
注:
浮点常量只考虑:
整数.整数形式;对()、[]、{}要考虑左右两部分。
(7)对分析提取的词法元素按照下列格式输出到C源程序名.lex文本文件中。
词法元素的输出格式(文本文件每1行的格式)如下:
.lex文件中的行号token编号token.C程序中的行号.C程序中的列号该token第几次出现↙
如:
106(5123表示.lex文件中的第10行,token编号是6,对应的token是左圆括号,它在.C文件中的第5行,第12列,为第3次出现。
注意:
全部采用ASCII码文本。
(8)提交设计报告、详细注释的词法元素(token)分析提取程序清单,并且简短说明设计思路。
4、题目4.SimulatorandAssembler
本题目要求和说明见SimulatorandAssembler.doc文件。
要求提交设计报告,程序清单。
5、说明:
(1)选做第2部分可酌情加分。
(2)两部分的总分仍然为100分。
(3)提高部分的课程设计报告另外写,其中必须包括提高部分的课程设计体会(必须真实的说出自己在课程设计中的切身体会)
4.提高部分的课程设计报告中必须明确说明小组内成员分工,以及各人实际完成的任务。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 课程设计 任务书 is090103