《《C语言程序设计》课程设计指导书.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计指导书.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计课程设计指导书指导教师:刘焕军广东工业大学 自动化学院二一一年一月印刷目 录C语言程序设计课程设计指导书 1附录 课程设计报告结构及要求 3封面格式 4选题范围 5C语言程序设计设计项目名称:C语言程序设计所属课程名称:C语言程序设计设计计划学时:16学时(1周)一、 设计目的1、进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程设计开发文档的能力(书写课程设计报告);二、 设计要求和设计指标(参考附录题目范围)三
2、、 考核形式考核办法:结合课程设计报告和平时情况评定。评分标准:报告占60,平时占20,答辩占20。课程设计分很难、难、 中、 易四个难度。合格为60分,评分等级为优秀、 良好、 中等、 及格、不及格五个级别。难度不同的课程设计,视完成的情况给分,若完成指定的功能,按对应的标准给分,难度越大,分数愈高,若在完成指定功能的基础上,还添加扩展功能,有创意,并且成功实现,给与一定的加分;未完成或有错误,酌情给分。难易程度 最高评定等级 最高得分范围 如未完成基本功能很难 优秀 90-100 酌情给分难 优秀 80-89 酌情给分中 良好 75-79 不及格易 中 70-84 不及格四、 课程设计要求
3、独立完成,严禁抄袭,如发现雷同,一经证实,相关人都按作弊处理,没有成绩,并且上报学校。五、 应提交材料1、课程设计报告(不少于3000字)1)课程设计题目、内容、要求。封面格式见附页。2)总体设计(包含几大功能模块)。3)详细设计(各功能模块的具体实现算法流程图)4)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。5)调试分析(包含各模块的测试用例,及测试结果。)6)总结(课程设计完成了哪些功能,有没有什么扩展功能 还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)2、源程序 每个同学提交源程序(*.c)、应用程序(*.exe)、保存信息的文件(*.dat)和课程设
4、计报告文档(*.doc)。 在统一答辩完成后,每班交一张光盘,包含所有学生的资料,每个学生的资料放在以“学号姓名”命名的文件夹中。六、 思考题1、说明程序总体设计的基本思想有哪些?2、能否通过改进设计方法提高设计效率?附录课程设计报告结构及要求(课程设计报告要求打印,用小4号宋字,行距1.5倍,A4纸,上下左右各留边距20mm。)(1)封面(按学校统一规定格式)封面包括:题目、学院、专业、班级、学号、学生姓名、指导教师及时间(2)任务书(按学校统一规定格式,由指导教师填写)(3)摘要(仅对论文)摘要是论文内容的简短陈述,一般不超过400字。关键词应为反映论文主题内容的通用技术词汇,一般为4个左
5、右。(4)目录目录的三级标题建议按1、1.1、1.1.1的格式编写。目录参考:1 设计目的与要求2 总体设计(包含几大功能模块)3 详细设计(各功能模块的具体实现算法流程图)4 数据结构设计描述,各模块(函数)的功能介绍,参数说明等。5 调试分析(包含各模块的测试用例,及测试结果。)6 总结(课程设计完成了哪些功能,有没有什么扩展功能 还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)7 答辩记录(正文处请留出适当空白)8 教师意见(正文处请留出十行空白)(5)正文正文应按目录中编排的章节依次撰写,要求计算正确,论述清楚,文字简练通顺,插图简明,书写整洁。(6)参考文献参考
6、文献必须是学生在课程设计中真正阅读过和运用过的,文献按照在正文中的出现顺序排列。附封面格式:课 程 设 计 课程名称_C语言程序设计_题目名称_学生学院_ 自动化学院_ _专业班级_ 电气工程及其自动化09( )班_学 号_学生姓名_指导教师_刘焕军_2009 年 12月 23 日附录选题范围:第一套:图书信息管理系统(很难)设计一个图书信息管理系统,在链表的基础上,编写完成程序功能,设计要求如下:1、文件功能1) 存储文件使用指定文件名或默认文件名;2) 可以不保存输入记录,但需要确认是否保存输入记录;3) 如果已有文件,只能在其后追加;4) 新增记录可以不存入原文件中,可以用原来的文件覆盖
7、内存的内容;2、输入功能1) 可以从文件中读入图书;2) 可以直接从键盘输入图书信息;3、查询记录1) 可以按“书名”或“作者名”方式查询记录;2) 能给出查询记录的信息;3) 如果查询的信息不存在,输出没有找到的信息;4、删除记录1) 可以删除查找到的记录并更新内存链表内容;2) 如果已经是空表,删出时应给出信息并返回主菜单;3) 如果没有要删除的信息,输出没有找到的信息;4) 删除操作仅限于内存,只有执行更新记录时,才能覆盖原记录;5、更新记录功能1) 可以随时修改、排序或插入新记录,其中排序、修改和插入可以选择可按图书编号或书名进行操作;2) 书名可由18位字符和数字的混合编码组成;3)
8、 图书编号可由10数字组成;6、可以实现借书和还书功能 1)可以借书,借书后记录书籍状态为“借出”,保存借书人信息 2)还书,还书后记录书籍状态为“在馆”,清除借书人信息7、输出记录功能1) 将输出信息加上输出信息信息栏,例如:图书编号 书名 作者 单价 书籍状态 借书人 1001 数学 张三 20.0 借出 李四 2) 可以将记录存盘,保存到文件 以上功能的功能选择需要在屏幕上列出各个选择项,然后接受键盘的输入作选择。但如用菜单实现将有加分。7、测试程序1) 应列出测试大纲对程序进行测试;2) 应保证测试用例测试到程序的各种边缘情况。注意:该程序需要自学链表相关知识第二套 学生成绩管理系统(
9、难)设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,可以用数组来设计这个程序,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。1、设计内容1) 每一条记录包括一个学生的学号、姓名、性别、各门课成绩(上学期的科目)、平均成绩。2) 输入功能:可以一次完成若干条记录的输入。3) 显示功能:完成全部学生记录的显示。4) 查找功能:完成按姓名或学号查找学生记录,并显示。5) 排序功能:按学生平均成绩进行排序。6) 插入功能:按平均成绩高低插入一条学生记录。7) 将学生记录存在文件student.dat中。8) 应提供一个界面来调用各个功能,调用界面和各个功能的操作界
10、面应尽可能清晰美观!2、设计要求已知有存储本班学生记录(包括学号、姓名、科目成绩、性别、)的文件student.dat,所有学生以学号从小到大排序(该文件自行建立)。要求编程序实现查询、排序、插入、删除诸功能。具体要求如下:1) 要求显示如下界面a) *a) 1-查询b) 2-排序c) 3-统计d) 4-删除b) *c) 通过选择1-5来确定要做哪一个操作。2) 若选1,则出现如下界面a) *a) 1.1-按学号查询b) 1.2-按姓名查询c) 1.3-按成绩查询b) *c) 通过选择1.1-1.3来确定要做哪一个操作,其中:按姓名查询用顺序法实现;按成绩查询实现查询成绩小于m分的学生;找到该
11、生将学生记录输出到屏幕,若查无此人,输出相关信息。3) 若选2,则按成绩从大到小排序,姓名,学号顺序也随之调整。4) 若选3,则可以出现以下菜单。a) *a) 3.1-最高分b) 3.2-及格人数b) * 通过选择3.1-3.2来执行操作,可以输出各科平均分数最高的人及平均分,以及出现了不及格成绩的学生人数5) 若选5,删除指定学生的记录,并把结果保存到文件student.dat中。6) 不同的模块都要有出错处理,并能给出出错提示。如输入数据错误,文件操作错误等等7) 以上各个功能均编写成子函数,由主函数调用实现。8) 利用结构体数组实现学生成绩的数据结构设计;9) 完成设计任务并书写课程设计
12、报告。第三套 学生信息管理系统(中)将本班学生的信息(每个学生至少包括学号、姓名、科目成绩(至少两门)、学分、平均分),存放于文件stduent.txt中。 A要求编写函数fun1对10个学生按某科成绩升序或降序(可选择)排序,并将结果(包括名次、学号、姓名、成绩、学分、平均分)存放于文件score.txt中。 B编写函数fun2,用二分法查找score.txt中某科某个成绩,并将结果打印出来。 C附:stduent.txt内容:(可根据实际情况输入)学号姓名英语成绩学分高数成绩学分0101小张81.50102小李62.00103小王77.50104小周96.00105小刘55.00201小胡
13、42.00202小赵69.00301小何80.00302小黄60.00303小杨56.0第四套 学生基本信息系统(易)1将本班学生的信息(每个学生至少包括学号、姓名、科目成绩(一门)、学分),存放于文件student.txt。要求编写函数fun找出所有及格的同学,并将他们的信息存放在文件score.txt中,并且输出结果。附:stduent.txt内容:(可根据实际情况输入)学号姓名高数成绩学分0101小张81.50102小李62.00103小王77.50104小周96.00105小刘55.00201小胡42.00202小赵69.00301小何80.00302小黄60.00303小杨56.02
14、.在能够根据分数对学生信息进行排序,并在排序后显示在屏幕上。 备注:1和2都要实现第五套 编制一个五子棋游戏(很难)编程模拟完成五子棋游戏。1 初始化功能,初始化屏幕,画出一个围棋棋盘,其中player1先行。2 实现下棋操作,用上下左右键在围棋盘上移动,按确认键后确定落棋。3 程序可以对双方下棋的结果做出判断,并显示获胜信息。4 可以提示轮到哪方下棋(player1或player2)。注意该程序需要用到图形功能,需自学图形系统函数和键盘输入。第六套 编制万年历程序(难)编写一个万年历程序,能显示日历,查询任意日期。1 日历初始化和显示。能根据系统日期进行初始化,并显示当前月份的月历,并突出显示当前日期。2 日期查询,可以输入一个日期,然后查询并正确显示日期所在月份的月历,并突出显示查询日期,如果输入日期不正确给出提示。3 支持键盘操作,按上下键更改年份,按左右键更改月份,按上下翻页键更改突出显示日期,按空格键可以返回初始状态更改后能将更新后的月份显示出来。注意键盘操作的实现及字体颜色的改变。