文档库 最新最全的文档下载
当前位置:文档库 › C语言课程设计指导书

C语言课程设计指导书

C语言课程设计指导书
C语言课程设计指导书

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY

C语言程序设计

课程设计指导书

张吴波编

胡宁亚审

电气与信息工程学院计算机系

2012年5月

一、设计目的

《C语言程序设计课程设计》的主要目的是培养学生在《C语言程序设计》课程学习后,综合运用《C语言程序设计》课程所学到的知识,编写C程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。

通过本课程设计的训练,学生应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。能灵活应用,初步具备运用C解决实际问题的能力。

C语言课程设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C语言程序及编写设计报告等过程。

二、设计要求

(一)基本要求

1、掌握C 语言程序设计的方法,熟悉使用VC6.0作为开发软件开发C语言程序及C 程序的调

试过程。

2、熟悉C 语言中的数据类型,数据结构、语句结构、运算方法、函数,巩固和加深对理论课

中知识的理解,提高基本编程能力。

3、综合编程题,每组完成一个课题(一组不能超过2人),每组成员必须明确各自的任务。

4、要求利用结构化程序设计方法以及C的编程思想来完成题目问题描述中所要求的设计任务,

功能模块化,设计内容符合题目要求;

5、数据组织使用数组、结构体、链表等均可;

6、概要设计模块划分合理,清晰,系统结构图符合功能操作要求;

7、详细设计,主要功能模块有较完善的程序流程图,每个主要功能模块有较完善的入口、功能、

出口等的清晰的描述,说明符合结构化程序设计要求;

8、每个模块的程序代码,具有较好的可读性和可靠性;程序书写风格:锯齿型书写格式,并有

尽可能详尽的序言性和功能型注释。

9、用户界面要求尽可能友好,提示信息充分、完整;对输入内容有较完善的判误处理并方便操

作;

10、程序必须上机调试通过,不应出现语法型、功能型错误,并获得满意的结果;

11、所设计的程序,必须在提交验收前,通过测试用例做必要的功能测试,尽可能避免原则性

错误的出现。

课程设计要求独立完成,严禁抄袭,如发现与他人雷同或与查新雷同,一经证实,相关人都按作弊处理,成绩为0分。

(二)设计步骤

在进行综合编程时需要遵循以下的步骤:

1、问题分析、确定解决方案框架,充分地分析和理解问题本身,弄清要求做什么。在确定解决

方案框架过程中,仔细考虑如何使用数据,数据结构有哪些?程序结构清晰、合理、简单和易于调试,并确定每个模块的简单功能,以及模块之间的调用关系。

2、详细设计和编码:确定程序的主要流程,再此基础上进行代码设计,每个明确的功能模块程

序一般不超过60行,否则要进一步划分。

3、上机前编写程序与检查。

4、上机调试程序。

5、每个功能在输入值集范围内,确定好几组测试用例数据,通过尽可能详尽的测试用例,找出

程序中存在的或有可能出现的功能错误。

(三)综合报告要求

课程设计报告应包括下列主要内容:

1、需求分析:描述问题。简述课题要解决的问题是什么,有什么要求和限制条件;分析要求尽

可能全面,观点要求正确;

2、总体设计:要求设计过程符合结构化程序设计方法的基本原则;有正确的程序组成框图;

3、详细设计:每个主要模块有流程图,并有模块功能说明(如函数功能、入口及出口参数说明,

函数调用关系描述等);

4、测试结果:清晰地描述每个主要功能通过几组测试用例数据进行测试后的结果,有否出现严

重的功能型错误?如果有,问题是如何造成的,怎么修复的。

5、软件操作使用说明书:通过该说明书的操作使用说明,应能让使用人员清晰地知道,该软件

有哪些主要功能,如何使用,输入有哪些要求,操作中需要注意什么问题等等;

6、该设计中存在的不足有哪些?有何改进设计的思路和方法,通过本次设计,有哪些建议和改

进措施,你有哪些真实感受,希望今后怎么进行课程设计?

7、课程设计报告层次清楚,语言通顺;

8、附录;源程序清单和测试结果:源程序要有必要的注释。结果要包括测试数据和运行结果。

从程序清单能看出具备基本的程序设计习惯。

9、课设报告严格按C语言课程设计报告样本要求书写及排版

(单面)(只能采用Word2003格式)。

10、完成好的电子版课设报告,经指导教师当面验收合格后,即刻把报告及程序(单独上传)

上传至:

https://www.wendangku.net/doc/ef583711.html,

未上传或上传的内容打不开,均按0分上报成绩。提请学生自己确认上传的内容是否符合要求。

三、时间安排

任务开始及完成时间:第18周1周,要求学生在《C语言程序设计》课程结束后即开始准备,

最晚19周周1下午提交设计报告和程序。课设准备及18周期间,指导教师提供机动课设辅导。

计算机实验中心提供1周时间的课设上机时间。

四、设计内容

教师提供参考题目,要求学生在教师提供的的参考题目范围内选题。

设计题训练学生使用结构化方法决实际问题的能力,提高C语言的编程水平。总体要求学生学会使用链表或者结构体数组实现对问题中数据组织。程序结构采用结构化程序设计方法。main函数的编写应简洁、清晰;菜单显示、对数据的各个操作都用函数来实现。

程序的界面设计风格建议采用文字菜单的形式,例有一教师信息管理程序,其运行界面如下:

出现上述界面后,用户可以通过敲入‘0’、‘1’、‘2’、‘3’、‘4’、‘5’等字符完成所提示的功能。循环往复,直到敲入‘6’字符,退出系统。

输入教师信息时,应该提示用户输入教师信息;删除教师时,应该提示用户给出要删除教师记录的姓名;查找时,应该提示用户输入相应姓名等。

提示:在使用字符界面的菜单编程时,需要清屏,可以使用system(“cls”);函数将屏幕清屏。需要暂停,可以使用system(“pause”);暂停屏幕显示。需要清除前面的键盘缓冲区输入,可以使用rewind(stdin);函数。

本指导书提供的参考题目以及要求如下:

1.学生信息管理

问题描述:

已知程序要求管理的学生信息包括:学号,班级,姓名,年龄,性别,出生日期,地址,电话,E-mail等。设计一程序,完成以下功能:

1)能从键盘输入学生的信息(增加,输入时需要能检查该学号的学生的记录是否已经存在,

出生日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02))

2)能从指定的文件中读入学生的信息

3)能按学号查询学生的信息

4)能按班级查询学生信息

5)能删除指定学号的学生信息

6)能将学生信息保存在指定的文件中

7)所有数据符合实际应用要求

提示:

●从文件读入学生信息时,需要先设计好文件的格式,从文件中读取数据后,按照预先设计

的格式分析数据,提取学生的信息,读入程序

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断出生日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为’-’,

字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判

断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。

2.通讯录管理

问题描述:

已知程序要求通讯录的信息为:姓名、电话号码、类别、电子邮件,其中类别的类型有:同事类、朋友类、商务类、一般类),设计一程序,完成以下功能:

1)能从键盘输入通讯录的信息(增加,输入时需要能检查该姓名的通讯录的记录是否已经存

在,如果存在,需要询问是否是覆盖还是增加,需要判断输入的类型是否存在)

2)能从指定的文件中读入通讯录的信息

3)能按姓名查询通讯录的信息

4)能按分类查询通讯录的信息

5)能删除指定姓名的通讯录的信息

6)能将通讯录信息保存在指定的文件中

7)所有数据符合实际应用要求

提示:

●从文件读入学生信息时,需要先设计好文件的格式,从文件中读取数据后,按照预先设计

的格式分析数据,提取学生的信息,读入程序

●可以使用一个结构体数组保存类别,类别结构体包含的信息为:类别代号,类别名称。(如

001,同事则表示同事类),在输入通讯录信息时,只需要输入该类别对应的代号则可(查询类别数组中是否有该代号的记录),将该代号保存在通讯录信息中。显示时,根据代号在类别结构体数组中查询其类别名称显示。

3.酒店房间登记与计费管理

问题描述:

已知在酒店中有10个房间,每个房间的信息包括房间号,每天住宿价格,设计一程序,完成以下功能:

1)从键盘输入客户的入住信息(包括:客户姓名,身份证号,开始入住时间、退房时间(假

设客户入住时就确定什么时候退房)、入住房间号),需要完成以下功能:

●入住房间号是否存在,开始入住时间,退房时间格式是否合法(格式为:YYYY-MM-DD,

如2009-01-02)入住、退房时间必须用自动获取系统时间功能。

●输入入住信息时需要完成以下校验:该房间是否当前已经入住,如果是提示用户不能

入住,检查身份证号是否为15位或18位,如果不是则提示错误

●输入入住信息时,需要根据入住时间和退房时间,自动计算入住天数(假设入住时间

不会跨年),并根据相应房间的住宿价格,计算住宿费用

2)根据房间号,查询住宿情况

3)根据房间号和统计时间段(开始和结束时间,不跨年)统计房间产生的住宿费用

4)所有数据符合实际应用要求

提示:

●酒店中的10个房间,可以采用结构体数组实现,每个数组元素表示一个房间,房间的信息

表示为:房间号,价格

●定义一个日期结构体保存日期,具体信息为:年、月、日

●定义一个链表表示客户的入住信息,结构体信息包括:客户姓名,身份证号,开始入住时

间、退房时间,入住房间号,入住天数,入住价格、住宿费用(入住天数,入住价格、住宿费用的信息在输入入住信息时计算出来)

●判断入住时间和退房时间的格式是否合法时,需要判断长度是否为10,第5位和第8位是

否为’-’,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换

成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月

可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等

于30(建议写成函数)。

●计算入住天数,因为入住时间不会跨年,因此,可以根据月份和日期,计算入住时间到退

房时间之间的天数。

●判断房间是否当前已经入住需要查询入住信息链表,在该链表中是否存在退房时间比入住

时间大的记录,如果有,则表示已经入住

●统计时间段内房间产生的住宿费用时,需要根据开始统计的时间和结束统计时间查询入住

信息链表,会有四种情况:1、查询记录的入住日期大于开始统计时间、退房日期小于结束

统计时间,累加该记录的住宿费用;2、查询记录的入住日期小于开始统计时间,但退房日

期大于开始统计时间,需要计算退房时间到开始统计时间的天数乘以价格再累加;3、查询

记录的入住日期小于结束统计时间,但退房日期大于结束统计时间,需要计算入住时间到

结束统计时间的天数乘以价格再累加;4、开始统计日期大于入住时间,结束统计日期小于

退房时间,需要计算结束统计日期到开始统计日期的天数,乘以价格再累加。其余表示不

在该统计时间段内,不产生入住费用

4.职工信息管理

问题描述:

已知职工信息包括职工号、姓名、性别、出生日期、学历、工资、住址、电话等。设计一程序,完成以下功能:

1)能从键盘输入职工的信息(增加,输入时需要能检查该职工号的职工的记录是否已经存在,

出生日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)))

2)能从指定的文件中读入职工的信息

3)能按职工号查询职工的信息

4)能按学历统计职工数

5)能查询到指定年份需要退休的职工的信息(男:60岁,女55岁)

6)能删除指定职工号的职工信息

7)能将职工信息保存在指定的文件中

8)所有数据符合实际应用要求

提示:

●从文件读入职工信息时,需要先设计好文件的格式,从文件中读取数据后,按照预先设计

的格式分析数据,提取职工的信息,读入程序

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断入出生日期格式是否合法时,需要判断长度是否为10,第5位和第8位是否为’-’,

字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判

断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29

天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建

议写成函数)。

●可以使用一个结构体数组保存学历,学历结构体包含的信息为:学历代号,学历名称。(如

001,本科则表示本科学历),在输入职工信息时,只需要输入该学历对应的代号则可(查

询学历数组中是否有该代号的记录),将该代号保存在职工信息中。显示时,根据代号在类

别结构体数组中查询其学历名称显示。

5.销售管理

问题描述:

已知一公司某公司有4个销售员(编号、姓名、性别),负责销售5种产品(产品代号、产品名称,销售价格)。设计一程序,完成以下功能:

1)从键盘输入销售信息:销售员编号、产品编号、销售日期、销售数量(输入时需要判断销

售员编号是否存在、产品编号是否存在、销售数量是否大于0,销售日期日期格式是否合

法(格式为:YYYY-MM-DD,如2009-01-02)))

2)能输出指定时间段内的销售统计报表,格式如下:

销售统计报表

产品代号销售之和销售员代号 1 2 3 4 5

1

2

3

4

每种产品之和总和

3)根据销售员编号查询销售历史情况

4)能删除指定销售员、产品、销售日期的记录

5)所有数据符合实际应用要求

提示:

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断销售日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为’-’,

字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判

断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29

天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建

议写成函数)。

●定义一个结构体数组保存4个销售员信息,具体信息为:编号、姓名、性别

●定义一个结构体数组保存5种产品信息,具体信息为:产品代号、产品名称,销售价格

●定义一个链表保存销售信息,信息为:销售员编号、产品编号、销售日期、销售数量。每

输入一比销售信息时,在该链表中插入一条记录

●输入销售信息时需要查询销售员数组和产品数组,是否在该销售员和产品

●实现第二个功能(销售统计报表)时,需要定义一个二维数组report(5行6列)来保存报

表信息,遍历销售链表,如果销售日期大于开始统计时间小于结束统计时间,判断其销售

员代号在销售员数组中的下标m,以及产品代号在产品数组中的下标,并将该销售数量累

加在report[m][n]元素中,再输入该二维数组

6.银行账户信息管理

问题描述:

已知一银行有5个客户(客户信息为:编号、客户姓名、客户地址、客户电话、账户总金额(最开始为0))。设计一程序,完成以下功能。存、取款时间必须通过调用系统时间获得。

1)存款:输入客户编号、存款金额、存款日期,完成存款功能,需要判断客户编号是否存在,

存款金额是否大于0,存款日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02))。

2)取款:输入客户编号、存款金额、取款日期,完成取款功能,需要判断客户编号是否存在,

取款金额是否大于0,取款金额是否小于客户的账户总金额,取款日期格式是否合法(格

式为:YYYY-MM-DD,如2009-01-02))。

3)查询指定客户的余额

4)查询指定客户的存款记录

5)查询指定客户的取款记录

6)所有数据符合实际应用要求

提示:

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断存款日期和取款日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是

否为’-’,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等

于30(建议写成函数)。

●定义个长度为5的结构体数组保存客户信息,具体为:编号、客户姓名、客户地址、客户

电话、账户总金额。最开始为账户总金额0。

●定义一个链表保存客户的存、取款记录,具体信息为:编号、日期、操作类别、金额。可

以设计操作类别为1表示存款,-1表示为取款,每次输入存款信息时,将存款金额累加到账户总金额,每次取款时,从账户总金额减去取款金额。

7.商品销售管理

问题描述:

已知一公司有10种产品(产品编号,产品名称,产品价格,产品产地,库存数量(最开始为1000个)),设计一程序,完成以下功能:

1)销售:从键盘输入顾客姓名,销售数量、销售日期,实现销售功能。需要判断产品是否存

在,销售数量是否小于库存数量,销售日期格式是否合法(格式为:YYYY-MM-DD,如

2009-01-02))销售时间必须通过调用系统时间获得。

2)能根据产品编号查询产品的销售历史

3)计算时间段内各个产品的销售总额

4)能根据顾客姓名,查询购买历史

5)能显示所有顾客的姓名

6)所有数据符合实际应用要求

提示:

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断存款日期和取款日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是

否为’-’,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等

于30(建议写成函数)。

●定义一个结构体数组保存10种产品信息,具体信息为:产品编号,产品名称,产品价格,

产品产地,库存数量(最开始为1000个)

●定义一个链表,保存销售信息,具体为:顾客代码,销售数量、销售日期。

●定义一个链表保存顾客信息,具体为:顾客代码,顾客姓名

●当输入销售信息时查询顾客链表,如果在链表中存在该姓名的顾客记录,则将其代码在该

销售链表中插入一条记录,如果不存在,则在顾客链表中插入一条记录,(顾客代码需要自动生成)。

8.设备管理

问题描述:

已知一公司需要使用10种设备(设备编号、设备名称),4个部门(部门编号、部门名称),该

四个部门需要其他供应商购买使用设备,设计一程序,,完成以下功能:

1)购买:输入设备编号、部门编号(购买),购买日期、设备数量,完成购买的功能:需要判

断设备编号、部门编号是否存在,设备数量是否大于0,购买日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02))购买时间必须通过调用系统时间获得。

2)报废:输入设备编号、部门编号(报废),报废日期、设备数量,完成报废功能:需要判断

设备编号、部门编号是否存在,设备数量是否大于0小于该部门当前正使用设备数量。报

废日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02))

3)查询指定设备编号购买历史

4)指定部门报废设备的历史

5)统计指定日期公司各设备可以使用的数量

6)所有数据符合实际应用要求

提示:

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断购买(报废)日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否

为’-’,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成

整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可

以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于

30(建议写成函数)。

●定义一个结构体数组保存10种设备的信息,具体为:设备编号,设备名称

●定义一个结构体数组保存4个部门的信息,具体为部门编号、部门名称

●定义一个链表保存购买(报废)信息,具体为设备编号、部门编号、购买(报废)日期、

操作类型、设备数量、购买单价、购买金额。其中操作类型为1 表示购买、-1表示报废。

●输入购买信息时,查询设备数组和部门数组,是否设备编号和部门编号存在,如果存在,

根据购买数量和购买单价计算购买金额,找出设备的插入购买(报废)链表(操作类型为

1)。

●输入报废信息时,查询购买(报废)链表,计算在报废日期之前购买的设备数量(操作类

型为1的),计算在报废日期之前报废的设备数量,得到当前在使用的设备数量,如果输入

的报废数量小于当前在使用的设备数量则插入入购买(报废)链表(操作类型为-1)。

●统计在指定日期,查询购买(报废)链表,计算各个部门在统计日期之前购买的设备数量

(操作类型为1的),计算各个部门在统计日期之前报废的设备数量,可以使用一个数组保

存这些数据信息,打印形成报表。

9.飞机订票

问题描述:

某公司每天有10航班(航班号、价格),每个航班的飞机,共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如座位号:10D表示10排D座。设计一程序,完成以下功能:

1)订票:输入乘客的姓名、身份证号、航班号、乘坐日期,座位号,完成订票功能(一次只

能预定一张机票)。需要判断航班号是否存在,身份证号的长度是否为15位或18位,判断

座位号是否为航班上正确的座位号,座位号是否已经被其他顾客预定,乘坐日期格式是否

合法(格式为:YYYY-MM-DD,如2009-01-02)))订票时间必须通过调用系统时间获得。

2)退票:输入乘客的姓名、航班号、日期,完成退票功能。需要判断该乘客是否已经订购了

该日期的该航班)(不考虑航班飞机是否已经起飞,认为任何时候都可以退票)

3)查询指定航班、指定日期的乘客信息

4)查询指定航班的飞机票的销售额

5)查询指定身份证号的顾客的乘坐飞机历史。

6)所有数据符合实际应用要求

提示:

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断乘坐日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为’-’,

字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判

断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29

天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建

议写成函数)。

●定义一个结构体数组保存航班信息,具体为:航班号、价格

●定义一个结构体保存座位号,具体为:排,座

●定义一个订票链表,保存订票信息,具体为:乘客的姓名、身份证号、航班号、乘坐日期,

座位号。输入时,判断排号是否大于0 小于等于20 ,座号是否为A、B、C、D, 同时需要

查询订票链表,是否存在相同乘坐日期、相同航班、相同座位号的记录,如果有则表示已

经预定,如果没有则插入订票链表

●退票时,需要从输入身份证号、航班号、乘坐日期,查询订票链表,如果在该记录,则删

除,

10.仓库管理

问题描述:

已知一工厂有5个仓库(仓库编号、仓库名称、负责人),用于保存公司生产的10个产品(产品编号、产品名称、产品规格),任何一种产品可以保存在该5个仓库中,编写一程序完成以下功能:

1)产品入库:从键盘输入仓库编号、产品编号,入库日期,入库数量。需要判断仓库编号是

否存在、产品编号是否存在、入库日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02),入库数量是否大于0,入库日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02))

2)产品出库:从键盘输入仓库编号、产品编号、出库日期,出库数量,需要判断仓库编号是

否存在、产品编号是否存在、入库日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02),入库数量是否大于0,是否小于当前该仓库的库存量,出库日期格式是否合法(格式为:

YYYY-MM-DD,如2009-01-02))出入库时间必须通过调用系统时间获得。

3)查询指定仓库编号的入库记录

4)查询指定产品编号的入库记录

5)查询指定仓库编号的出库记录

6)查询指定产品编号的出库记录

7)所有数据符合实际应用要求

提示:

●定义一个日期结构体保存日期,具体信息为:年、月、日

●判断入库日期和出库日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是

否为’-’,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换

成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月

可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等

于30(建议写成函数)。

●定义一个结构体数组,保存5个仓库信息,具体为:仓库编号、仓库名称、负责人

●定义一个结构体数组,保存10个产品信息,具体为:产品编号、产品名称、产品规格。

●定义一个产品出库(入库)链表,保存产品的出库(入库)信息。具体为:仓库编号、产

品编号,入库日期,入库数量,操作类型(为1 表示入库,为-1表示出库)

●产品入库时,需要查询仓库数组和产品数组,如果产品编号和仓库编号存在,则插入产品

出库(入库)链表

●产品出库时,需要查询产品出库(入库)链表,查询产品编号、仓库编号的入库记录得到

入库的数量(类型为1),查询产品编号、仓库编号的出库记录得到出库的数量(类型为-1),计算得到该产品在该仓库的库存量,如果出库数量小于库存量,插入产品出库(入库)链

表,类型为-1。

11.学校运动会管理

问题描述:

已知某学校运动会上有5个系部(编号、名称)和10个运动项目,各项目名次取法有如下几种:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;编写一程序,完成以下功能:

1)从键盘输入系部编号、运动员姓名、运动项目编号、获取名次。需要判断系部编号是否存

在、参赛项目是否存在、获取名次是否合法,同一系部的同一个人,不能在同一个项目中

出现两次。

2)按照比赛成绩从高到底输出系部和其比赛成绩

3)查询指定系部编号的获奖记录

4)查询指定运动项目的获奖记录

5)所有数据符合实际应用要求

提示:

●定义一个结构体数组,保存5个系部的信息,具体为:编号、名称,比赛成绩(最开始为

0)

●定义一个结构体数组,保存10个运动项目的信息,具体为:编号、名称

●定义一个获奖链表,保存运动员的获奖信息,具体为:系部编号、运动员姓名、运动项目

编号、获取名次,得分,查询系部数组和运动项目数组,如果存在,查询获奖链表,是否

存在该系部、该姓名、该项目的记录,如果不存在,根据获取的名次,计算获奖的得分,

插入获奖链表,并将得分累加到系部的比赛成绩。

●对系部数组按照比赛成绩排序

12.教师工作量管理

问题描述:

已知一学校有4们课程(课程编号、课程名称,课时),5个教师(教师号、姓名、性别、职称),在计算教师工作量时,其计算方法如下表:

班级数目单个教学任务总课时

2 1.5*(理论课时+实验课时)

3 2*(理论课时+实验课时)

>=4 2.5*(理论课时+实验课时)

编写一程序,完成以下功能:

1)输入教师的授课信息:教师号、班级数量,任课时间(2010-1表示2010年第一学期),班

级数量。

2)查询指定年份的各个教师的工作量

3)查询指定教师编号、指定年份的工作量

4)查询指定教师编号、指定年份的授课信息

5)查询指定课程编号、指定年份的授课教师信息

6)所有数据符合实际应用要求

提示:

●判断任课时间的格式是否合法时,需要判断长度是否为6,第5位为字符’-’。

●定义一个结构体数组,保存4门课程的信息

●定义一个结构体数组,保存5个教师的信息

●定义一个授课信息链表,保存教师的授课信息,具体为:教师号、班级数量,任课时间(2010-1

表示2010年第一学期),班级数量,工作量

●输入授课信息时,查询课程数组、教师数组,是否课程和教师存在,根据算法计算该课程

的工作量,如果存在则插入授课信息链表。

●查询教师工作量时,输入一个年份,查询授课信息链表中任课时间前4位等于该年份的记

录,累加到教师工作量。

13.学生证管理程序

题目描述

设计一学生证的管理程序。该程序应具有下列功能:

(1)录入某位学生的学生证信息(学生证应该具有的信息请参看自己的学生证);

(2)给定学号,显示某位学生的学生证信息;

(3)给定某个班级的班号,显示该班所有学生的学生证信息;

(4)给定某位学生的学号,可以修改该学生的的学生证信息;

(5)给定某位学生的学号,可以删除该学生的学生证信息;

(6)提供一些针对各类信息的统计功能,如相同地区,相同班号、相同系别、相同性别,相同生日段的学生人数;

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)学生证应该包含的信息请参看自己的学生证。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

(7)所有数据符合实际应用要求

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来保存学生证的内容。

扩展功能

将所有学生证信息存储在一个文件中,并实现文件读写的操作。

14.学分管理程序

题目描述

请设计一个学生的学分管里程序

假定每位学生必须完成基础课50学分、专业课50学分、选修课24学分、人文类课程8学分和实验性课程20学分才能够毕业。因此在管理学分时,要考虑每个学分所属于的课程类别。

该程序应该具有下列功能:

(1)录入某位学生的学分;

(2)给定学号,显示某位学生的学分完成情况;

(3)给定某个班级的班号,显示该班所有学生的学分完成情况;

(4)给定某位学生的学号,修改该学生的学分信息;

(5)按照某类课程的学分高低进行排序;

(6)提供一些统计各类信息的功能,如:按个人、班,按课程类别、统计当前学分完成情况(7)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)学分信息应该包括学号、姓名、课程类别和学分等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来保存学分信息。

扩展功能

将所有学生的学分信息存储在一个文件中,并实现文件读写的操作。

15.图书登记管理程序

题目描述

请设计一个图书登记管理程序。该程序应该具有下列功能:

(1)录入某本图书的信息;

(2)给定图书号,显示某本图书信息;

(3)给定某个关键字,显示所有书名中包含该关键字的图书信息;

(4)给定出版社,显示该出版社的所有图书信息;

(5)删除某本图书的信息;

(6)提供一些统计各类信息的功能;如:按登记日期、出版社、价格、类别统计现有图书情况;题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)图书信息应该包括书号、书名、出版社、类别和价格等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

(7)所有数据符合实际应用要求

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来保存图书信息。

扩展功能

将所有图书信息存储在一个文件中,并实现文件读写的操作。

16.学生作业完成情况管理程序

题目描述

请设计一个学生作业完成情况管理程序。

假设某门课程一学期要留10次作业,每次老师要进行批改,给出分数后还要进行登记。

学期期末要根据每次作业的成绩计算出最终的平时成绩(满分100分)。

该程序应该具有下列功能:

(1)录入某位学生某次作业的分数;

(2)给定学号,显示显示某位学生的作业完成情况;

(3)给定某个班的班号,显示该班所有学生的作业完成情况;

(4)给定某位学生的学号,修改该学生的作业完成情况信息;

(5)给定某位学生的学号,删除该学生的信息;

(6)提供一些针对各类信息的统计功能;如:当前某班的作业完成情况(平均值、前三名、后三名);

(7)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)作业登记信息应该包括学号、姓名和10次作业完成情况等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来保存作业登记信息。

扩展功能

将所有作业登记信息存储在一个文件中,并实现文件读写的操作。

17.停车场管理系统设计:

题目描述

假定学院1号停车场有车位20个,车位满时,能入不能进,要求记录每台车辆的车牌号,出入时间(要求自动获取系统时间),停车收费管理为:0.5小时内免费,以后每1小时收费1元,超过6小时的按2元计费,超过24小时的按3元计费,车辆入场时,告知空闲车位情况,并显示收费标准;车辆出场时统计总费用并显示。

试设计一停车场管理系统,使之能提供以下功能:

(1)系统以菜单方式工作(用键盘输入1~6之间的数来选择功能,其中6为退出)

(2)车辆进入停车场录入功能(车牌号、进入时间(自动获取系统时间)、车位满时不能进入;(3)停车场停车信息总体浏览功能(车位占用情况、空闲车位情况、已在车场内的车辆车牌号,当前已在车场的单台停车费用总计及停车场当前收费总计)

(4)查询功能,按车位空闲情况、停车时时长查询(至少一种查询方式)

(5)车辆出场后信息的删除(按车牌号进行删除,同时删除该车的所有费用)

(6)收费的修改(给定密码,按费用性质修改,如改变收费时长或增加降低时长内费用)

(7)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)停车场信息应该包括车位、车牌号和收费标准等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来存放车场信息。

扩展功能

将所有车场信息存储在一个文件中,并实现文件读写的操作。

18.考勤管理系统

题目描述

假定公司有职工10人,职工有职工号、姓名、以周为记录时长的考勤情况(迟到次数、早退次数、旷工天数)三项记录,一周上班五天,每天上午上班时间为8:00,下班时间为11:30、下午2:00上班,5:30下班。

试设计一考勤管理系统,使之能提供以下功能:

(1)系统以菜单方式工作(用键盘输入1~5之间的数来选择功能,其中6为退出)

(2)职工上班、下班录入功能(职工号、姓名任意给一个即可,上班时间(自动获取系统时间)、下班时间(自动获取系统时间))

(3)职工出勤情况整体浏览功能(职工号、姓名、(迟到、早退、旷工)、无前项则显示全勤)(4)查询功能,按职工号、姓名、迟到、早退、旷工、全勤查询(至少一种查询方式)

(5)职工考勤信息的删除(给定密码后可按职工号、姓名、考勤情况任一项进行删除)

(6)考勤信息的修改(给定密码后可按职工号、姓名、考勤情况任一项进行删除)

(7)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)考勤信息应该包括:职工号、姓名、上班时间、下班时间(迟到、早退、旷工)等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来存放考勤信息。

扩展功能

将所有考勤信息存储在一个文件中,并实现文件读写的操作。

19.图书租借管理系统

题目描述

图书租借信息包括:书号、书名、作者名、存在状态(每本书名有10本书,还剩几本)、借书人姓名、性别、学号等。租借收费管理为:两天内免费,以后每增加1天收费0.5元,超过6天按1元计费,超过30天的按2元计费,借阅登录时,告知该书存在情况,并显示收费标准;还书时统计总费用并显示。

试设计一图书租借管理系统,使之能提供以下功能:

(1)系统以菜单方式工作(用键盘输入1~6之间的数来选择功能,其中6为退出)

(2)图书信息录入功能(含本数,图书信息用文件保存)

(3)图书信息整体浏览功能(包括书号、书名、作者名、存在状态)

(4)查询功能:按书号、书名、按作者名、安存在状况查询(至少一种查询方式)

(5)图书的借阅功能:借书时显示存在状态及收费标准,为0的不能借阅

(6)图书的还书功能:还书时显示费用状况及收费标准,并修改存在状态。

(7)图书信息的删除(按书号或书名进行删除,未还的图书信息不能删除)

(8)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)图书租借信息应该包括:书号、书名、作者名、存在状态、借书人姓名、性别、学号等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来存放租借信息。

扩展功能

将所有租借信息存储在一个文件中,并实现文件读写的操作。

20.图书销售管理系统

题目描述

图书租借信息包括:书号、书名、作者名、书价、存在状态(每个书名有5本书)、销售价格为:总费用在50元以内,95折收费,超过100元按90折收费,超过200元按80折收费,超过300元,按75折收费,超过500元以上,一律按70折收费,售书时,显示该书存在情况,并显示收费标准及总费。

试设计一图书销售管理系统,使之能提供以下功能:

(1)系统以菜单方式工作(用键盘输入1~6之间的数来选择功能,其中6为退出)

(2)图书信息录入功能(图书信息用文件保存)

(3)图书信息整体浏览功能(包括书号、书名、作者名、书价、存在状态)

(4)查询功能:按书号、书名、作者名状况查询(至少一种查询方式)

(5)图书的销售功能:售书时显示存在状态及收费标准,为0的不能销售

(6)图书信息的删除(给定密码,按书号、书名或作者进行删除,未销售完的图书信息不能删除)(7)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)图书销售信息应该包括:书号、书名、作者名、书价、存在状态等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来存放图书信息。

扩展功能

将所有图书信息存储在一个文件中,并实现文件读写的操作。

21.宿舍管理系统

题目描述

现有学生宿舍一栋,共6层,每层有房间12个,每间宿舍可以住6名学生,

每层一半为为含卫生间宿舍,含卫生间的每年收费为1200元,其它为800元。

试设计一宿舍管理系统,使之能提供以下功能:

(1)系统以菜单方式工作(用键盘输入1~6之间的数来选择功能,其中6为退出)

(2)学生住宿信息录入功能(录入信息用文件保存);

(3)宿舍信息整体浏览功能(包括各房间入住学生情况、房间空闲情况)

(4)查询功能:按层、房间、收费标准、入住时间查询(至少2种查询方式)

(5)宿舍入住修改功能:入住时时显示空闲状态及收费标准,为0的不能入住;

(6)学生入住信息的删除功能(给定密码,按学号、姓名、房间、床位进行删除,未未缴清住宿费的不能删除)。

(7)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)住宿信息应该包括:层号、房间号、床位号、学号、姓名、收费标准、缴费状态、入住时间等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来存放入住信息。

扩展功能

将所有入住信息存储在一个文件中,并实现文件读写的操作。

22.车票管理系统

题目描述

一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如

班次发车时间起点站终点站行车时间额定载量已定票人数

1 8:00 十堰丹江 3 45 30

2 6:30 十堰郧县 1 40 40

3 7:00 十堰郧西

4 40 20

4 10:00 十堰竹山 3 40 2

试设计车票管理系统,使之能提供以下功能:

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据

(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询,可按终点站查询

(4)售票和退票功能

A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数;

B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数;

(5)所有数据符合实际应用要求

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)班次信息应该包括:班次、发车时间、起点站、终点站、行车时间、额定载量、已定票人数等。

(3)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来存放班次信息。

扩展功能

将所有班次信息存储在一个文件中,并实现文件读写的操作。

五、课程考核

考核采用教师查验学生编写的程序及课程设计报告文档,以答辩的形式进行,形成答辩记录并存档,考核学生需求分析、总体设计、详细设计、规范化程序设计实训,以及程序测试、分析等方面完成情况,考核比重如下:

1、程序设计内容 25%

2、综合设计报告 25%

3、平时成绩10%

4、答辩 40%

程序设计内容评分细则

C语言程序课程设计任务书

《C语言程序设计》课程设计任务书 对象:17楼宇智能化技术专业 一、课程设计目的 本课程设计主要是为了进一步提高学生掌握利用C语言语言开发程序的能力,熟悉程序开发的一般流程,及自主学习能力和团队协作能力。 1. 掌握C语言语言基本语法及数据类型; 2. 掌握C语言基本程序结构、数组、函数、指针、文件的使用; 3. 掌握结构化程序设计思想和C语言开发程序基本流程; 4. 具备C语言程序调试能力; 5. 能自主进行知识查阅及分析和解决问题; 6. 能具备良好的团队协作能力和沟通能力。 二、课程设计要求 (一)总体要求 学生必须仔细阅读课程设计书,认真主动完成课设的要求。有问题及时、主动通过各种方式与教师联系沟通。 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。 本课程设计主要流程是: 分组->选题->进行课程设计->撰写课程设计报告->课程设计答辩->上交资料。 本课程设计成绩组成: 总成绩(100%)=源程序(60%)+课程设计报告(20%)+课程设计答辩(10%)+小组自评分(10%,包括组长评分和个人自评分)

(二)各部分具体要求 1. 分组要求 (1)小组成员1-2人组成,成员自由组合,小组组长由本小组推荐产生; (2)本课程设计实行小组组长负责制,每个成员具体分工由成员共同协商,组长最后决定; (3)课程设计结束后,组长根据每个成员所负责具体任务及是否积极参加等因素进行打分,每个成员分数不能一样; (4)课程设计小组自评表由组长填写,最后由各成员签名,除签名外表格其它内容可打印(A4纸); (5)本课程设计要体现团队合作精神,每个成员分工合理,要及时、定期沟通,组长充分发挥组织协调作用,每个成员要有合作和团队意识。 2. 选题要求 本课程设计选题必须在6月10日之前完成,每个小组可以从推荐设计项目中进行选题,也可以自己自拟设计题目,自拟设计题目要上报设计详细功能,在得到老师的许可后方可开始进行课程设计。 同一个班级每个小组选题不能重复,学习委员汇总全班各组选题,电子档E-mail给老师。 3. 设计内容要求 (1)每个课程设计项目至少包含5个功能模块; (2)设计界面友好,要有菜单界面,数据存放在文件中,数据使用数组、结构体都可以; (3)书写规范,变量及函数命名体现“见名知意”原则;采用锯齿型书写格式,便于阅读; (4)采取模化程序设计,在设计过程中,按功能定义多个不同的函数,通过函数调用实现各功能模块的作用; (5)要求利用结构化程序设计方法以及C的编程思想来完成系统的设计; (6)整个设计必须上机调试通过。 4. 课程设计报告要求 设计报告内容要体现整个课程设计过程,包括:需求分析、总体设计、详细设计、程序运行测试与分析、设计反思。

c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的 机房机位预定系统 2 任务概述 20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求: (1)系统以菜单方式工作 (2)查询,根据输入时间,输出机位信息。 (3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。 (4)退出预定,根据输入的时间,机器号撤销该事件的预定! (5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。 ......... 3 模块划分 4 主要函数说明及其N-S图 1.主函数: int main() { Menu(); /*当前状态函数*/ } void Menu() /*主界面*/ { int n,w; do { puts("\t\t****************机房机位预约系统*******************\n"); puts("\t\t*************************菜单

***************************\n"); puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2.预定空机位"); /*预定空机位*/ puts("\t\t\t 3.取消预订"); /*取消预订*/ puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/ puts("\t\t\t 5.退出"); /*退出*/ puts("\t\t********************************************************\n"); printf("选择菜单号(1-5):"); scanf("%d",&n); if(n<1||n>5) {w=1;getchar();} else w=0; }while(w==1); switch(n) { case 1:Situation();break; case 2:Book();break; case 3:Cancel();break; case 4:SearchWaiting();break; case 5:exit(0);break; } getch(); } 2.机位查询: void Situation() { int time; printf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();} 3.机位预定:

C语言课程设计任务书(必备)

《C语言程序设计》课程设计任务书及指导书 计算机科学与信息工程学院 2012年

说明:以下题目每名同学可以选择一个作为设计题目,也可以自己自拟一个题目,但工作量要与此相关不大。 C语言课程设计任务书及指导书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括教师的职工号、姓名、职称、性别、3门讲授课程的名称,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 5、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入教师信息并可将文件内容显示出来) 3、完成排序功能。 4、完成查找功能(可按职工号、姓名、讲授课程进行查找) 要求:1、用C语言实现程序设计; 2、利用结构体来实现教师信息的处理; 3、系统的各个功能要求用函数实现; 4、界面友好(良好的人机交互),程序必须有注释。 课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。 C语言课程设计任务书及指导书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 登记入住的信息主要有:客人姓名、房间号、入住时间、计费方式(按天或小时)、单价、押金房间信息:房间号、是否有人入住、房间标准、每天单价、小时单价 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 4、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况等功能。 3、进一步要求:完成计费和费用查询功能; 每次登录时读取保存在磁盘文件中的入住情况。要求:1、用C语言实现系统;

教师信息管理系统(C语言课程设计)

课程设计任务书 计算机科学与技术专业年级班 一、设计题目 教师信息管理系统设计 二、主要容 教师信息包括教师号、、性别、年龄、学历、职称、工资、住址、等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)教师信息录入功能--输入 (3)教师信息删除功能 (4)教师信息浏览功能--输出 (5)查询和排序功能:(至少一种查询方式) --算法 按教师号查询 按职称查询等 三、具体要求 围绕课程设计的目的和意义,基本要求如下: 1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求; 2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;

3、快速熟悉Tuber C 或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。 4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。如果是多人共一题,则要首先完成小组的人员分工及安排,不允许重题现象。 5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。 6.提供可运行的课程设计系统,参加上机面试答辩。 本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。 四、进度安排 依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段: 第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档; 第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试; 第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

c语言课程设计运动会比赛计分系统(含任务书)

一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。 (6)熟练掌握C语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。 二、课程设计名称及内容 课程设计名称:运动会比赛计分系统 设计内容:设计一个运动会比赛计分系统,该系统要求对运动会比赛得分进行管理和维护。 三、任务和要求 要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种: (1)取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1; (2)取前3名:第一名得分5,第二名得分3,第三名得分2; (3)用户自定义:各名次权值由用户指定。 四、设计方案提示

(1)界面 系统以菜单方式工作 (2)输入数据并存入文件 使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。对输入的信息进行合法性判断,直到输入正确为止。都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。 (3)显示所有记录 将文件中的所有记录以表格的形式输出。如果文件未打开会出现“文件打开失败!按任意键返回...”,关闭文件。 (4) 查询 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。 二:算法设计: 信息输入模块、比赛结果录入模块以及查询模题目的总体要求是要建立三个模块:信息输入模块、建立三个模块块。在建立完之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所有学校的比赛成绩,而且也可以生成团体总分表,查看参赛学校信息和比赛项目信息等一切录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。(1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全)局变量,其中包括“参赛学校项目数N;男子项目数M;女子项目数W;参赛学校g_school; 竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。总

C语言课程设计任务书

信息科学与工程学院综合设计报告书课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师:

目录 ( 一) 需求分析..................................... . 2-3 1.设计题目; 2.用户操作流程; 3.数据处理流程; (二)概要设计......................................4-5 1.系统总体设计框架; 2.系统功能模块图; (三)详细设计.....................................5-11 1.主要功能模块的算法设计思路; 2.工作流程图; (四)主要源程序代码...............................12-21 1.完整源程序清单及关键注释; (五)调试分析过程描述.............................21-24 1.测试数据、测试输出结果; 2.对程序调试过程中存在问题的思考; (六)课程设计小结.................................24-25 1.包括课程设计过程中的学习体会与收获; 2.对C语言和本课程设计的认识以及自己的建议等内容。

一、需求分析 1、设计题目: 编程实现以下功能: (1)分别输入一元多项式pn (x)和Q n (x)。 从键盘输入一元多项式中各项的系数和指数,并用单链表 加以表示。 (2)分别对一元多项式pn (x)和Q n (x)进行升幂排序。 将一元多项式中各子项按照指数从小到大的顺序排序。 (3)分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数 和指数。 (4)任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 (5)已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x) 和T n (x), 并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) 2、用户操作流程: (1)进入欢迎及界面。

C语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

C语言课程设计任务书

C语言课程设计任务书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。 3、完成排序(按职工号、姓名、职称等)、查找等功能。 要求:1、用C语言实现程序设计; 2、利用结构体数组实现教师信息的数据结构设计; 3、系统的各个功能模块要求用函数实现; 4、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。 C语言课程设计任务书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。 要求:1、用C语言实现系统; 2、系统的各个功能模块要求用函数实现; 3、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

c语言课程设计报告(日程表)1

上海应用技术学院 课程设计2012-2013学年第二学期 设计题目:日程管理

1.课程设计任务书 上海应用技术学院课程设计任务书

指导教师(签名):教研室主任(签名):2013年7月1日2013年7 月12日

目录: 1.课程设计任务书**************2 2.目的及要求******************6 2.1课程设计目的 课程设计要求 3.课程设计内容说明************7 .程序功能介绍 程序设计整体设计说明 数据结构设计 程序结构设计 程序子程序及功能设计 函数主要调用关系图 各模块流程图 4.运行结果*******************17 5.源程序代码分析*************31 6.课程设计感悟***************42

2.目的及要求 课程设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1)巩固和加深学生对C语言课程的基本知识的理解和掌握; 2)掌握C语言编程和程序调试的基本技能; 3)利用C语言进行基本的软件设计; 4)掌握书写程序设计说明文档的能力 5)提高运用C语言解决实际问题的能力。 课程设计要求 1)分析课程设计题目的要求; 2)写出详细设计说明; 3)编写程序代码,调试程序使其能正确运行; 4)设计完成的软件要便于操作和使用,有整齐、美观的使用界面; 5)设计完成后提交课程设计报告和源代码文件的电子文档。

3.课程设计内容说明 .程序功能介绍 本系统的主要功能是实现日程表的管理,有添加日程,删除日程,查询日程,显示日程,设置日程,修改日程,日程排序,读取日程,保存日程的功能。每个日程的信息包括:日程时间,日程名称,日程详情,日程提醒,日程标记。 程序设计整体设计说明 本系统的主函数是整个程序的核心,子函数之间也是有联系的,对日程的删除,查询,显示,修改,保存,必须是在添加了日程,或者读取了日程的情况下进行的。一些基本操作在子函数中多次重复使用,即可单独设定函数,多次调用即可。 运行程序开始后进入主菜单,用户即可选择选择要进行的操作,例如,1为添加日程,用户需输入相应信息。选择2为删除日程,按照日期或者名称选中相应日程后,可以删除日程或者日程设置。等等功能。当选择不存在时提示用户选择错误并提示重新选择。 题目要求 . 设计要求 基本功能: 添加日程信息; 删除日程信息; 查询管理; 设置管理; 拓展功能: 日程信息的修改; 设置修改; 设置删除; 创新(自拟)功能: 程序实现的其它功能由个人自拟。 . 设计要求具体说明

中国地质大学C语言课程设计题目(附参考代码)

C语言课程设计题目 选题一(起评分100分) 高考招生录取程序 已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。 假定当年该省的招生计划是:一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。 请编写程序,实现以下功能: (1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。 (2)能够统计各批次中男生,女生的录取比例。统计结果可屏幕显示,也可存入文件。 (3)确定每名学生的录取情况及录取批次。 (4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况; 说明: ①系统程序要有界面 ②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。 选题二(起评分85分) 《C语言课程设计与学习指导》第4章题目或第5章题目任选其一 成绩评定方式 平时考勤:20% 考试(即程序考核及检查):40% 实习报告:40% 违规违纪处理 出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格: 1.考勤抽查出现3次(含)不在的情况; 2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况; 3.程序检查被认定为抄袭的情况; 4.实习报告被认定抄袭或雷同的情况; 5.不参加考试(即程序考核及检查)的情况 6.不交实习报告的情况。

C语言课程设计报告撰写要求 1 内容要求 整个报告由六个部分构成: ①课设题目 ②题目分析 ③设计思路 ④实现结果 ⑤课设总结 ⑥附录(源代码) 2 篇幅要求 ①-⑤合计不低于8页,⑥不低于8页。 篇幅没有上限要求,但原则上要求不超过25页。 标题字体字号格式:宋体,三号,加黑,单倍行距。 正文字体字号格式:宋体或Times New Roman,五号,单倍行距。 3 撰写要求 严谨出现抄袭。 严谨出现雷同。 报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。 4 其它 封面格式附后。

C语言课程设计――飞机订票系统源代码

#include//标准输入、输出头文件 #include//包含字符串函数处理头文件 #include//包含access函数的头文件 #define N 99//定义最多的航班数 #define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//宏定义输出格式struct air//定义结构体数组{int num;//定义航班号 char start[20];//航班起始站 char over[20];//终点站 char time[10];//飞行时间 int count;//机票数量 }s[N]; int i,m=0;//定义全局变量 char ii[10]; void add();//函数声明增加航班信息函数 void print();//显示航班信息 void search();//查找航班信息 void dingpiao();//订票业务 void tuipiao();//退票 void read();//读取文件 void save();//保存文件

void output();//输出格式 void paixu();//航班排序 void chushihua();//系统初始化 void build();//建立数据文件 void paixu1();//按航班号从小到大排序 void paixu2();//从大到小 void main()//主函数{int j; chushihua();//系统初始化判断是否存在原始数据文件 printf("欢迎使用飞机订票系统\n");//打印出系统主界面 do{printf("============================================================= =================== "); printf(" 1.增加航班信息\n" "\t 2.浏览航班信息\n" "\t\t 3.查找航班信息(按航班号)\t\t╮(╯_╰)╭\n" "\t\t\t 4.航班排序(按航班号)\n" "\t\t\t\t 5.订票业务\n" "\to(︶︿︶)o\t\t\t

c语言课程设计报告会员卡计费系统源代码

#i n c l u d e//编译预处理指令,引入头文件 #include #include #include #define MAX 10 //自定义符号常量 #define MENU_MAIN_COUNT 7 //主菜单的选项个数 typedef struct member //定义结构体类型member,采用链式存储结构{ char name[MAX]; //姓名 char id[MAX]; //卡号 char sex[2]; //性别 int age; //年龄 float money; //余额 char tel[12]; //电话 struct member *next; //定义一个指针指向下一个会员信息 float cost; //消费金额 }mem; //定义结构体变量mem /*声明函数*/ void menu(); /*声明函数,声明菜单函数*/ void save(mem *p); //声明保存函数 mem *head=NULL; //头指针为NULL mem* get_last(mem *p) //取得链表最后一个元素的节点指针并返回该指针 { if(p->next == NULL) { return p; } else { get_last(p->next); } } void creat_member(mem *pNew) //输入信息操作,会员登记函数 { //创建一个新的会员 char s; printf("卡号:"); scanf("%s",pNew->id); //运用指针输

C语言课程设计任务书

信息科学与工程学院综合设计报告书 课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师:

目录 (一) 需求分析......................................2-3 1.设计题目; 2.用户操作流程; 3.数据处理流程; (二)概要设计......................................4-5 1.系统总体设计框架; 2.系统功能模块图; (三)详细设计.....................................5-11 1.主要功能模块的算法设计思路; 2.工作流程图; (四)主要源程序代码...............................12-21 1.完整源程序清单及关键注释; (五)调试分析过程描述.............................21-24 1.测试数据、测试输出结果; 2.对程序调试过程中存在问题的思考; (六)课程设计小结.................................24-25 1.包括课程设计过程中的学习体会与收获; 2.对C语言和本课程设计的认识以及自己的建议等内容。

一、需求分析 1、设计题目: 编程实现以下功能: (1)分别输入一元多项式pn (x)和Q n (x)。 从键盘输入一元多项式中各项的系数和指数,并用单链表加以表示。 (2)分别对一元多项式pn (x)和Q n (x)进行升幂排序。 将一元多项式中各子项按照指数从小到大的顺序排序。(3)分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数 和指数。 (4)任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 (5)已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x)和T n (x), 并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) 2、用户操作流程: (1)进入欢迎及界面。

c语言课程设计源代码

c语言课程设计源代码标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

学校运动会管理系统问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include<> #include<> #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"};

char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing); iming,n_number[0])==0) iming); iming,n_number[h])==0) for(int s=0;s

教师信息管理系统(C语言课程设计)

课程设计任务书 计算机科学与技术专业 2010 年级一班陈金利 一、设计题目 教师信息管理系统设计 二、主要内容 教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)教师信息录入功能--输入 (3)教师信息删除功能 (4)教师信息浏览功能--输出 (5)查询和排序功能:(至少一种查询方式) --算法 按教师号查询 按职称查询等 三、具体要求 围绕课程设计的目的和意义,基本要求如下: 1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求; 2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;

3、快速熟悉Tuber C 或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。 4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。 5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。 6.提供可运行的课程设计系统,参加上机面试答辩。 本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。 四、进度安排 依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段: 第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档; 第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试; 第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。

C语言日历显示课程设计报告(含源代码)

高级语言程序设计课程设计题目: 专业计算机类 班级计算机类1102 学生 学号 指导教师_______________ 起止时间2012.2.13——2012.2.17 2012年2月

目录 实验报告 (3) 必做题: (3) 选做题: (8) 题目10 写一个日历显示程序 (8) 流程图:(如下) (14) 工程代码: (19) 心得体会 (24)

实验报告 必做题: (1)编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2。具体比较方法是随机生成一组(≥300个)的100以内的整数数据,用选定的2种排序方法进行排序。纪录排序过程中数据比较和交换的次数,输出比较结果。 #include #include int main(void) { int a[300],b[300]; int i,j,temp,t; int s=0,p=0,s1=0,p1=0; for(i=0;i<300;i++) { a[i]=rand()%100; b[i ]=a[i]; } for(i=0;i<299;i++){ for(j=i+1;j<300;j++) { if(a[i]

{ t=i; for(j=i+1;j<300;j++) { if(b[t]

相关文档
相关文档 最新文档