《C语言程序设计》课程设计大型作业任务书.docx

上传人:b****6 文档编号:7730780 上传时间:2023-01-26 格式:DOCX 页数:13 大小:81.08KB
下载 相关 举报
《C语言程序设计》课程设计大型作业任务书.docx_第1页
第1页 / 共13页
《C语言程序设计》课程设计大型作业任务书.docx_第2页
第2页 / 共13页
《C语言程序设计》课程设计大型作业任务书.docx_第3页
第3页 / 共13页
《C语言程序设计》课程设计大型作业任务书.docx_第4页
第4页 / 共13页
《C语言程序设计》课程设计大型作业任务书.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》课程设计大型作业任务书.docx

《《C语言程序设计》课程设计大型作业任务书.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计大型作业任务书.docx(13页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》课程设计大型作业任务书.docx

《C语言程序设计》课程设计大型作业任务书

2012年《C语言程序设计》课程设计-大型作业任务书

一、题目

(1)题目1.三北防护林信息管理系统

(2)题目2.列车时刻表信息管理系统

(3)题目3.伦敦奥运会信息管理系统

二、选题规定

(1)学号尾数(最后一位)为:

1、4、7、0者自动选择题目

(1),即:

题目1.三北防护林信息管理系统。

三、需要处理的基础数据

注:

与中文字段名对应的英文字段名自己确定;类型和长度可以根据需要修改。

(一)三北防护林信息管理系统

1.省自治区防护林基本信息参考:

省自治区包括:

省自治区编号,省自治区名称,

面积单位为:

万亩;资金和救济金额单位为:

万元

中文字段名

类型及长度

举例或说明

省自治区编号

char[4]

81代表青海

省自治区名称

char[20]

青海省

森林面积

float

12345.6789(万亩)

木材蓄积量

float

12345.6789(万立方米)

沙漠面积

float

土地面积

float

该省土地总面积

当年造林面积

float

当年造林资金

float

累计造林资金

float

当年伐木面积

float

当年木材收益

float

累计木材收益

float

当年经济林收益

float

累计经济林收益

float

所辖市县数

int

总人口

int

2.县市防护林基本信息参考:

中文字段名

类型及长度

举例

县市编号

char[8]

815000代表青海省玉树县

县市名称

char[20]

玉树县

省自治区编号

char[4]

81代表青海

森林面积

float

12345.6789(万亩)

木材蓄积量

float

12345.6789(万立方米)

沙漠面积

float

土地面积

float

该省土地总面积

当年阔叶林造林面积

float

当年针叶林造林面积

float

当年经济林造林面积

float

当年造林资金

float

累计造林资金

float

当年伐木面积

float

当年木材收益

float

累计木材收益

float

当年经济林收益

float

累计经济林收益

float

人口

int

下辖林场数

int

3.林木基本信息参考:

中文字段名

类型及长度

举例

林木编号

char[8]

如815100代表高山栎编号

林木名称

char[7]]

如高山栎,硬叶栎,水曲柳,黄花松

县市编号

char[8]

815000代表青海省玉树县

省自治区编号

char[4]

81代表青海

林木类别

char[10]

阔叶、针叶、经济

林木面积

float

12345.6789(万亩),该林木累计面积

木材蓄积量

float

12345.6789(万立方米)

当年造林面积

float

12345.6789(万亩),

当年造林资金

float

当年该种林木的造林资金

累计造林资金

float

该种林木的累计造林资金

当年收益

float

当年该种林木的木材收益

累计收益

float

该种林木的累计木材收益

 

四、需实现的系统功能

(一)各种基本数据的录入

1.三北防护林信息管理系统

●省自治区防护林基本信息录入;

●县市防护林基本信息录入;

●林木基本信息录入;

●其它信息录入。

(二)各种基本数据的修改

即:

允许对以及录入的数据重新进行编辑、修改。

如:

●修改省自治区防护林基本信息(修改1级链表中的结点);

要求每个系统的1级链表、2级链表、3级链表都能够进行基本信息的修改。

(三)各种基本数据的插入

如:

●在林木基本信息链(3级链)中插入一条新记录等。

要求每个系统的1级链表、2级链表、3级链表都能够进行新记录的插入。

(四)各种基本数据的删除

如:

1.删除1级链表中的结点

1-1.删除三北防护林信息管理系统中省自治区防护林基本信息链中结点。

算法(删除1级链表中的结点):

遍历省自治区防护林基本信息链,找到对应结点;

遍历该结点指向的县市防护林基本信息链;

对链中的每一个结点,删除其指向的林木基本信息链;

再删除该县市防护林基本信息链;

最后删除省自治区防护林基本信息链中的对应结点。

 

(五)基于各种数据的查询

如:

三北防护林信息管理系统中各种数据的查询

●查询指定省自治区的森林面积、木材蓄积量、沙漠面积、当年造林面积、累计造林资金、累计经济林收益等。

●查询指定县市的木材蓄积量、当年阔叶林造林面积、当年经济林造林面积、累计经济林收益等。

●查询林木面积最大林木名称。

●查询木材蓄积量最多的阔叶林林木名称。

●查询累计造林资金最大针叶林林木名称。

●查询阔叶林、针叶林、和经济林中当年收益最大的林木名称。

(六)基于各种基本数据的统计计算

如:

三北防护林信息管理系统各种数据的统计

⏹统计并输出三北防护林系统总的森林面积,总的沙漠面积,当年总的造林面积和当年总的造林资金。

⏹统计并输出指定省自治区当年阔叶林造林面积、当年针叶林造林面积、当年经济林造林面积。

⏹统计并输出指定省自治区的林木种类数,。

⏹统计并输出木材蓄积量为前三名的县市。

⏹统计并输出林木的累计收益为前三名的林木名称及累计收益。

 

五、数据结构说明及举例

(1)三个系统的数据结构都必须采用十字交叉链表,也允许辅之以其它链表来完成对系统基础数据的完整描述。

(2)三个系统的部分数据结构举例见下页图1、图2、图3。

图1三北防护林信息管理系统十字交叉链表

 

六、要求

1、只能使用C语言,源程序编写格式要按照缩进方式,源程序要有详细的注释,使程序容易阅读。

(注:

源程序编写格式的规范和注释体现程序员的素质,必须从本课程设计开始培养。

2、要有用户界面。

要求至少采用文本菜单界面;鼓励采用图形菜单界面。

3、必须使用结构和十字交叉链表等数据结构。

4、使用三个数据文件来分别保存1级链表、2级链表、3级链表的数据。

5、至少输出一份报表(能够显示即可),鼓励自行增加新功能。

6、写实验报告(要求正规打印,A4幅面),内容包括:

●题目

●系统功能模块结构图(如图4,图5所示)。

●数据结构设计及用法说明(列出程序中的struct设计和自己程序的使用、操作方法)

●程序结构(画流程图)(如系统总体流程图,某种查询、插入、删除程序实现的程序流程图。

要求采用教材中的标准流程图图符至少画两个流程图。

●各模块的功能(解释如图4中各个模块的软件功能)

●试验结果(包括输入数据的结果,查询、修改、删除的结果,可以拷屏实现结果的报告)

●实验体会(必须真实的说出自己在课程设计中的切身体会。

例如:

如何构思、如何设计、如何编程、如何调试?

那些地方使你“痛苦不堪”?

等等)

●参考文献

●附录:

程序清单及源程序软盘

注:

每人以学号+姓名创建目录,目录需包括实验报告电子文档和源程序以备检查。

然后由各班课代表汇总到U盘上统一提交。

7、使用的C编译器没有限制。

根据需要,可以任选TC、VC、CodeBlocks,开源C编译器UCC、Linux平台下的gcc或其它编译器。

鼓励选用Linux平台和gcc编译器;鼓励选用开源C编译器UCC。

8、课程设计必做部分在9月开学第1周要进行中期检查。

原则上要求至少完成60%以上的设计任务。

9、凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩并向学院报告。

凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩并向学院报告。

10、附:

封面格式,请根据所做题目修改封面中题目名称。

七、创建文本菜单与打印输出的提示

1、使用TC创建文本菜单的相关函数

window、textbackground、clrscr、

textcolor、cprintf、bioskey、

gotoxy、gettext、puttext、putch

请自行查阅相关资料,了解这些函数的用法。

2、使用CodeBlocks创建文本菜单请参考《C语言实验与课程设计》。

3、打印输出只在屏幕上输出。

报表在屏幕上以表格形式输出。

八、参考书目

1、C语言程序设计.曹计昌,卢萍,李开编著.科学出版社

2、C语言实验与课程设计.李开,卢萍,曹计昌编著.科学出版社

3、TurboC使用大全第一册、第二册.徐金梧等编译.北京科海培训中心

九、评分标准(百分制)

1、上机演示占40%(40分)。

其中功能演示占本部分的70%(28分),回答问题占本部分的30%(12分)。

2、课程设计报告占40%(40分)。

其中报告占本部分的70%(28分)(说明:

其中实验体会占5分),源程序清单占本部分的30%(12分)。

3、程序风格占20%(20分)。

其中数据结构(如是否用十字交叉链表)以及代码的简洁性占本部分的50%(10分),程序注释占本部分的50%(10分)。

 

第2部分-选做提高部分

一、题目

(1)题目1.C输入输出库函数的程序设计

(2)题目2.简单C编译预处理程序设计

(3)题目3.C程序的词法元素(token)分析提取程序设计

(4)题目4.SimulatorandAssembler(简单处理器的C仿真与汇编程序设计)

(5)题目5.算法设计与算法的C编程实现

二、选题规定

(1)课程设计的提高部分拟采用分组形式进行,目的是培养团队精神和协作能力。

(2)可由2-4人组成一组。

(3)各组可以根据兴趣从4个题目中任选1题做。

(4)也允许个人独立选做1题或多题。

(5)题目一经选定,由课代表统计分组情况后上报老师。

且一般不允许变更。

(6)选做部分的时间另行安排,不占用规定部分时间。

三、相关要求

参考书:

[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、题目5.算法设计与算法的C编程实现要求

(1)准备参加软件大赛的同学建议选做此题。

(2)建议主要参考、学习刘汝佳编的《算法竞赛入门经典》(清华大学出版社)。

(3)前4章可根据自己的实际情况快速浏览或直接跳过;

(4)认真学习第5章至第11章共7章内容,阅读提供的例子程序并加注释,调试运行例子程序,然后简单写出对该程序的算法,实现代码的分析理解,以精确理解例子程序。

(5)针对如下章节:

第5章基础题目选解;

第6章数据结构基础;

第7章暴力求解法;

第8章高效算法设计;

第9章动态规划初步;

第10章数学概念与方法;

第11章图论模型与算法;

要求每章至少阅读、调试运行、分析理解三个程序。

最好另外找一道类似题独立做。

(6)按照章节、题目顺序,以1)问题(即题目)、2)算法、3)程序、4)分析理解四个方面撰写设计报告。

(7)要求提交设计报告,程序清单。

第5题参考资料:

(1)刘汝佳.算法竞赛入门经典.清华大学出版社

(2)曹计昌,周时阳、祝建华、甘早斌、胡福林、庞秀梅.全国软件大赛计算机学院教师辅导课件资料(电子版)

(3)管西京等.编程算法新手自学手册.机械工业出版社

(4)董东,周丙寅.计算机算法与程序设计实践.清华大学出版社

(5)郭嵩山等.国际大学生程序设计竞赛例题解.电子工业出版社

6、说明:

(1)选做第2部分可酌情加分。

(2)两部分的总分仍然为100分。

(3)提高部分的课程设计报告中必须明确说明小组内成员分工,以及各人实际完成的任务。

(4)提高部分的课程设计报告另外写,其中必须包括提高部分的课程设计体会。

(5)每位同学都必须单独写出自己所做工作的体会(必须真实的说出自己在选做提高部分课程设计中的切身体会)。

 

附件1系统功能模块结构图示例

图4系统功能模块结构图示例

也可以采用对顶层图中的模块进行逐步展开细化,从而得到更详尽的第2层模块的功能模块结构图。

XX数据文件处理

文件创建处理

文件存盘处理

退出系统处理

文件导入处理

 

图5第2层模块的功能模块结构图示例

附件2《C语言程序设计》课程设计实验报告封面

 

华中科技大学计算机科学与技术学院

 

《C语言程序设计》课程设计

实验报告

 

题目:

xxxxxx信息管理系统

 

专业:

班级:

学号:

姓名:

成绩:

指导教师:

完成日期:

2011年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1