C语言程序设计课程设计指导书精品doc.docx
《C语言程序设计课程设计指导书精品doc.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计指导书精品doc.docx(12页珍藏版)》请在冰豆网上搜索。
C语言程序设计课程设计指导书精品doc
《C语言程序设计》课程设计指导书
一、设计目的与要求:
通过该课程设计,使学生得到程序设计方面的基本训练,培养学生程序设计的能力和调试程序的基本技能,提高学生利用计算机解决实际问题的能力。
要求学生熟悉C编程环境、C基本语法,掌握使用c开发应用程序的基本方法和步骤,能够编写、调试和运行一般的应用程序。
其目的主要是通过课程设计达到在实践中学习知识、掌握知识、应用知识和培养能力的目的,具体如下:
(1)通过课程设计,进一步熟悉掌握以下知识:
数据类型、分支控制、循环控制、函数定义及调用、结构体及数组、指针、文件操作、编译预处理等。
(2)通过课程设计,达到系统理解、综合运用课程知识的学习目标。
(3)通过课程设计,学会用C语言程序解决实际问题的方法。
(4)通过课程设计,掌握程序的局部测试、调试方法,建立程序系统调试、测试的基本概念和思想,学会较大程序的系统测试、调试方法。
要求如下:
(1)、课程设计应由学生本人独立完成或者小组成员共同完成,严禁抄袭(对自己的程序不熟悉,读不懂程序中的关键功能部分,对程序的结构不清楚,对程序的功能不了解等),一经验收教师认定其抄袭行为,成绩即为不及格。
(2)、如果发现最后的程序基本相同者(程序构思、基本结构、变量设计、函数设计、文件操作等基本相同),则相同者均为不及格。
(3)、所选题目中必须要运用到所学的如下知识:
1)数组、结构体或共用体
2)指针
3)选择结构程序设计、循环结构程序设计
4)自定义函数及其调用
5)简单的文件操作
(4)、能够顺利调试通过并运行所编制的程序,并且能够读懂所选题目的源程序,讲解程序中的主要功能部分,以证明该程序不是其他人给编写的或从其他的书籍中原封不动照抄照搬过来的。
(5)、按时上机调试,认真完成课程设计。
二、适用专业
适用于14计算机应用技术专业。
三、课程设计的一般步骤
课程设计大体分五个阶段:
1、选题与搜集资料:
根据分组,选择课题,在小组内进行分工,进行系统调查,搜集资料。
2、分析与设计:
根据搜集的资料,进行分析,并画出整个系统各个模块的功能框图及对应流程图,如下所示功能框图。
3、程序设计:
运用掌握的语言,编写程序,实现所设计的模块功能。
包括程序数据设计和程序函数设计二部分。
(1)程序的数据设计
程序的数据设计主是包括对以下各类数据进行设计:
1)对程序中用到的主要数据确定数据类型。
2)对程序中用到的结构体数据定义其结构体类型。
3)定义程序中使用的全局变量、外部变量等。
4)定义程序中通用的符号常量。
5)确定文件的数据类型,如二进制文件、文本文件
(2)程序函数设计
一个综合性的程序,需要设计若干个函数。
各个函数功能各异,使用的层次也不尽相同。
为了使总体设计协调有序进行,需要在程序编码之前,对主要的函数做出预先设计,即所谓函数设计。
程序的函数设计包括函数的功能设计和函数调用设计两个方面。
(1)函数的功能设计。
对应程序功能框图,确定各项功能要使用的主要函数,并进行明确描述,包括:
函数名称、函数功能、函数参数、函数返回值类型等。
(2)函数调用设计。
对函数的调用关系进行描述,明确说明在实现程序功能时,函数之间将发生的调用和被调用关系。
4、调试与测试:
自行调试程序,成员交叉测试程序,并记录测试情况。
主要完成函数编程及调试、整体调试
(1)函数编程及调试
函数编程及调试是实现程序功能的核心,需要注意以下问题:
1)课程设计具有一定的综合性,其程序通常山多个函数构成,每个函数都有独立的功能,实现特定的操作。
但程序中的所有函数是一个有机的整体,都围绕实现程序的功能进行设计。
2)有些函数之间有调用和被调用关系,在进行函数设计时需要注意顺序问题,有的函数先设计,有的函数后设计,而没有调用关系的函数可以并列设计。
当多人合作进行一个课程设计时,可以并列设计的函数即可山不同设计人员承担。
3)程序设计是一个循序渐进的过程有的函数程序设计前的函数设计阶段就被考虑到了,而有的函数是在程序设计过程中因需要才产生。
但无论哪一个函数,都会经历由简单,到功能完善定型的过程。
4)函数设计一般以功能实现为主线,围绕程序的一个功能进行函数设计。
每一个函数完成之后,都要立即进行函数功能测试,直到确认函数能实现其功能为止。
5)有时在测试一个主调函数功能时,其被调用函数还没有完成设计,这时最简便的方法,就是把被调用函数先设计为只有一个空的“return;”语句的函数,然后进行主调函数的基本调试,当被用函数设计完成之后,再进行详细的测试。
6)不同功能的函数,对磁盘文件可能有不同的使用要求,因此在进行文件操作时,打开文件的方式就可能不同。
(2)整体调试
整体测试是程序设计的必要阶段,是在前期程序设计调试基础上进行的基本过程。
需要设计准备一个较大规模的数据集,按照课程设计题目功能要求,对组装完成的程序逐项进行功能测试和调试,直至确认程序到了设计目标为止。
5、验收与评分:
指导教师对每个小组的开发的系统,及每个成员开发的模块进行综合验收,结合设计报告,根据课程设计成绩的评定方法,评出成绩。
四、课程设计报告要求
1、给出所选课程设计题目以及本题目具体所要完成的功能要求说明。
2、给出程序清单(计算机打印出的程序清单)和程序中包含的变量、函数文字说明。
3、给出设计程序的运行结果(上述课程设计所选择的题目对应的程序运行结果)。
4、课程设计总结:
对所选题目对应程序的运行情况做详细分析,总结本次设计所取得的经验。
如果程序未能全部调试通过,则应分析其原因。
5报告要求字数不得少于1000字(不包括程序清单和程序结果的部分)。
五、课程设计所需设备与软件环境
每人一台计算机,VisualC++6.O0
六、考核方式与成绩评定
根据设计要求,对完成的各项综合考核成绩按优、良、中、及格和不及格5级评定。
七、注意事项
1、对于一组的同学,应分工明确,各自完成相应的内容,但在总体设计时应一起讨论。
2、检查时应现场演示,并回答相关的问题。
3、时间安排:
第19周。
八、选题
说明:
所有题均要实现菜单进行选择操作。
1、某班学生成绩管理,包括以下功能:
⑴从键盘输入包括学号、姓名、各门课程成绩,并将其保存在磁盘文件student里
姓名学号语文数学英语
张明明01677882
李成友
02
78
91
88
张辉灿
03
68
82
56
王露
04
56
45
77
陈东明
05
67
38
47
⑵打开文件后,计算每个人的总分和平均分,排序并保存
⑶具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字姓名等找出满足条件的纪录)
⑷具有输出文件数据信息的功能
2、某班学生基本信息管理,包括以下功能:
⑴从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件student里
⑵具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字姓名等找出满足条件的纪录)
⑶打开文件后按照出生年月日排序
⑷具有输出文件数据信息的功能
3、职工信息管理系统设计
职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:
⑴职工信息录入功能(职工信息用文件保存)一一输入
⑵职工信息浏览功能输出
⑶查询或排序功能:
(至少一种查询方式)一一算法
⑷按工资查询
⑸按学历查询等
⑹职工信息删除、修改功能(任选项)
4、飞机订票系统设计
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。
试设计一民航订票系统,使之能提供下列服务:
⑴航班信息录入功能(航班信息用文件保存)输入
⑵航班信息浏览功能一一输出
⑶查询航线:
(至少一种查询方式)一一算法
⑷按航班号查询
⑸按终点站查询
⑹承办订票和退票业务(可选项)
5、学生选修课程系统设计
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自山选课。
试设计一选修课程系统,使之能提供以下功能:
⑴课程信息录入功能(课程信息用文件保存)一一输入
⑵课程信息浏览功能一一输出
⑶查询功能:
(至少一种查询方式)算法
⑷按学分查询
⑸按课程性质查询
⑹学生选修课程(可选项)
6、图书信息管理系统设计
图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
⑴图书信息录入功能(图书信息用文件保存)一一输入
⑵图书信息浏览功能输出
⑶查询或排序功能:
(至少一种查询方式)一一算法
⑷按书名查询⑸按作者名查询
⑹图书信息的删除与修改(可选项)
以上给出的仅为参考题目,学生在选择过程中根据自己的实际,按照上述题目的难易程度,
寻找合适的课程设计题目,并经指导教师确认后定题,一旦题目选定,不允许随意更改。
7、销售管理系统
某公司有四个销售员(编号:
1-4),负责销售五种产品(编号:
1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额
每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
输出排序结果(需输出产品
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,
的代号和销售额)
4)输出统计报表
(1)能通过键盘向通讯录输入数据。
要求随时都能使用该项功能实现记录输入,一次可能输入一条记录,也可以输入多条记录。
所谓一条记录,是指通讯录中一个人员的信■息。
(2)能显示通讯录存储的记录信息,在显示时能提供下列显示方式:
•按自然顺序显示。
即按照向通讯录输入数据时各条记录的先后顺序,显示通讯录中已有的记录信息。
•按照一定的排序顺序显示通讯录信息。
排序顺序有多种,如按姓名排序、按年龄排序、按所在城市排序、按所在单位排序等,具体使用的排序顺序由设计者确定,但至少要包括上述两种排序方法。
(3)能查询通讯录信息。
要求至少提供两种查询方式,如按姓名查询、按所在城市查询等,任何一种查询都要有明确的查询结果。
(4)能对通讯录存储的信息进行修改。
要求至少提供两种修改方式,如按照姓名修改、按照通讯录记录序号修改。
记录序号是通讯录记录的自然顺序编号。
(5)能对通讯录的信息进行删除。
要求删除时以记录为单位,既能一次删除一条记录,也能一次删除多条记录。
(6)通讯录管理结束后,能够正常退出通讯录管理程序。
2、技术要求
(1)每个通讯录记录至少包括如下信息:
姓名、电话、所在城市、所在单位、年龄、备注。
(2)通讯录信息以磁盘文件的形式存储,存储位置、文件名、文件格式由设计者确定。
(3)对于通讯录功能中的数据输入、显示、查询、修改、删除等功能,要求编写功能独立的函数或主控函数予以实现,其所属的各项功能尽量由独立的函数实现。
(4)以菜单方式实现功能选择控制。
(5)本通讯录管理程序能够实现100条记录管理。
9、教材管理程序
1、功能要求
(1)能通过键盘向教材数据库(存储教材信息的文件)输入数据。
要求随时都能使用该使用功能实现记录输入,一次可以输入一条记录,也可以输入多条记录。
(2)提供教材信息显示功能,显示方式如下:
按自然顺序显示。
即按照向教材数据库输入数据时各记录的先后顺序,显示教材记录信息。
按照教材名称排序顺序显示教材信息。
按照出版社排序顺序显示教材信息。
(3)能查询教材信息。
要求至少提供以下两种查询方式:
按教材名称查询,要求显示所有符合条件的教材的全部信息,当找不到符合要求的记录时,应给出明确的说明信息。
按使用专业查询。
要求把该专业的所有使用的教材显示出来,当找不到符合要求的记录时,应给出明确的说明信息。
(4)能对教材数据库记录进行修改。
要求提供按照教材编号对教材数据库进行修改的功能。
(5)能对通讯录的信息进行删除。
要求删除时以记录为单位,既能一次删除一条记录,也能一次删除多条记录。
(6)提供初始化功能。
该功能用于建立教材数据库文件,运行该功能后,不管教材数据库文件是否存在,都重新建立教材数据库空文件。
(7)教材管理结束后,能够正常退出教材管理程序。
2、技术要求:
(1)每条教材记录至少包括如下信息:
编号、名称、价格、数量、使用专业、作者、出版社、备注等。
(2)教材数据库以磁盘文件的形式存储,存储位置、文件名、文件格式由设计者确定。
(3)教材管理程序的各项功能,要求编写功能独立的函数或主控函数予以实现,并且,其所属的各项子功能尽量由独立的函数实现。
(4)以菜单方式实现功能选择控制。
(5)初始化程序要求提供密码验证功能,提高教材数据库的安全性。
(6)本教材管理程序能够实现100条记录管理。
10、车票管理系统
一车站每天有n个发车班次,每个班次都有一班次号(1,2,3...n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。
如
班次
发车时间
起点站
终点站
行车时间
额定载量
已定票人数
1
8:
00
郭县
广汉
2
45
30
2
6:
30
郭县
成都
0.5
40
40
3
7:
00
郸县
成都
0.5
40
20
4
10:
00
郭县
成都
0.5
40
2
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:
可按班次号查询,可按终点站查询
(4)售票和退票功能
A:
当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:
退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
附录报告封面:
福建船政交通职业学院
课程设计指导书
系(部)
课题名称
指导教师
姓名
班级
学号
成绩
年月日