C语言课程设计指导书hdjsnb.docx
- 文档编号:9694694
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:22
- 大小:85.64KB
C语言课程设计指导书hdjsnb.docx
《C语言课程设计指导书hdjsnb.docx》由会员分享,可在线阅读,更多相关《C语言课程设计指导书hdjsnb.docx(22页珍藏版)》请在冰点文库上搜索。
C语言课程设计指导书hdjsnb
HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGY
C语言程序设计
课程设计指导书
张吴波编
史旅华审
电气与信息工程学院计算机系
2014年2月
一、设计目的
1.巩固和加深学生对《C语言程序设计》课程基本知识的理解和掌握。
2.掌握C语言编程和程序调试的基本技能。
3.掌握书写程序设计说明文档的能力。
4.提高学生分析问题和解决问题的能力,培养严谨的工作作风和良好的程序设计习惯,为后续课程的学习打下良好的基础。
二、设计要求
(一)基本要求
1.掌握C语言程序设计的方法,熟悉使用VC6.0作为开发软件开发C语言程序及C程序的调试过程。
2.熟悉C语言中的数据类型,数据结构、语句结构、运算方法、函数,巩固和加深对理论课中知识的理解,提高基本编程能力。
3.综合编程题,每组完成一个课题(一组不能超过2人),每组成员必须明确各自的任务。
4.要求利用结构化程序设计方法以及C的编程思想来完成题目问题描述中所要求的设计任务,功能模块化,设计内容符合题目要求;
5.概要设计模块划分合理,清晰,系统结构图符合功能操作要求;
6.详细设计,主要功能模块有较完善的程序流程图,每个主要功能模块有较完善的入口、功能、出口等的清晰的描述,说明符合结构化程序设计要求;
7.每个模块的程序代码,具有较好的可读性和可靠性;程序书写风格:
锯齿型书写格式,并有详尽的注释。
8.用户界面要求尽可能友好,提示信息充分、完整;对输入内容有较完善的判误处理并方便操作;
9.程序必须上机调试通过,不应出现语法型、功能型错误,并获得满意的结果;
10.所设计的程序,必须在提交验收前,通过测试用例做必要的功能测试,尽可能避免原则性错误的出现。
(二)设计步骤
在进行综合编程时需要遵循以下的步骤:
1.问题分析、确定解决方案框架,充分地分析和理解问题本身,弄清要求做什么。
在确定解决方案框架过程中,仔细考虑如何使用数据,数据结构有哪些?
程序结构清晰、合理、简单和易于调试,并确定每个模块的简单功能,以及模块之间的调用关系。
2.详细设计和编码:
确定程序的主要流程,在此基础上进行代码设计,每个功能模块程序一般不超过60行,否则要进一步划分。
3.上机前编写程序与检查。
4.上机调试程序。
5.每个功能在输入值集范围内,确定好几组测试用例数据,通过尽可能详尽的测试用例,找出程序中存在的或有可能出现的功能错误。
(三)综合报告要求
课程设计报告应包括下列主要内容:
1.课程设计题目与要求
2.系统设计
(1)系统功能模块划分
主要内容:
系统功能模块划分设计说明和系统功能模块图。
(2)数据结构设计
主要内容:
结构体、链表的设计说明。
(3)函数的规划与设计
主要内容:
各功能模块对应的函数规划设计,包括函数功能、入口及出口参数说明,
函数调用关系描述等。
(4)主函数的流程分析与设计
主要内容:
主函数的设计说明、流程分析和主函数的流程图。
(5)主要功能模块的流程分析与设计
主要内容:
功能模块的设计说明、流程分析和功能模块的流程图。
3.程序测试与运行结果
主要内容:
测试用例数据,测试结果,实际运行结果截图,测试中出现的问题、原因与分析。
4.课程设计总结
主要内容:
设计中的难点及其解决方法、独到之处、不足之处、课程设计心得。
5.程序源代码
三、设计题目
1.学生证管理程序
题目描述:
请设计一个学生证管理的程序,以方便辅导员对学生证的管理,该程序应该具有以下功能:
(1)能从键盘输入某位学生的学生证信息(学生证应该包含的信息可以参考自己的学生证)。
(2)给定学号,显示该学生的学生证信息。
(3)给定班号,显示该班所有学生的学生证信息。
(4)给定学号,修改该学生的学生证信息。
(5)给定学号,删除该学生的学生证信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)学生证应该包含的信息参考自己的学生证。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,学生的入学时间必须是一个合法的日期格式,学号是唯一的(一个学号对应一条学生证信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定学号删除学生证信息时,如果该学生不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储学生证信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示学生证信息,一个结点保存一条学生证信息。
扩展功能:
(1)提供一些统计功能。
例如统计每个班学生的人数,统计男女生比例。
(2)学生证信息从文件读入。
(3)将学生证信息保存到文件中。
2.学分管理程序
问题描述:
请设计一个学生的学分管理程序,以方便教务部门对学生已完成学分的管理。
假设每位学生必须完成基础课50学分、专业课50学分、选修课24学分、人文类课程8个学分、实验性课程20学分才能毕业。
因此在管理学分时,要考虑每个学分所属于的课程类别。
其中各类别的课程所完成的学分最多不会超过100分。
该程序应该具有以下功能:
(1)能从键盘输入某位学生的信息(不包含学分)。
(2)给定学号,显示该学生的所完成的学分。
(3)给定学号,能修改该学生所完成的学分。
(4)给定学号,将学生从程序中删除。
(5)能显示已完成学分可以毕业的学生。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)学分信息应该包括学生信息(学号、姓名、班级、入学时间)、基础课学分、专业课学分、选修课学分、人文类课程学分、实验性课程学分。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,学生的学分是[0,100]范围内的数,入学时间必须是合法的日期,学号是唯一的(一个学号对应一个学生的学分信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定学号修改学生学分时,如果该学生不存在,要提示不能修改,如果修改成功要提示修改成功。
实现要求:
(1)在程序中使用链表存储学生的学分信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示学生的学分信息,一个结点保存一条学分信息。
扩展功能:
(1)提供一些统计功能。
例如统计每个班学生已完成学分可以毕业人数。
统计每类别课程的平均学分等。
(2)学生的学分信息从文件读入。
(3)将学生的学分信息保存到文件中。
3.图书登记管理程序
问题描述:
请设计一个图书登记管理程序,以方便图书管理员管理图书馆内的图书,该程序应该具有以下功能:
(1)从键盘输入某本图书的信息
(2)给定图书的国际标准书号(ISBN),显示该图书的信息。
(3)给定图书的作者,显示所有该作者所著的图书。
(4)给定国际标准书号(ISBN),修改该图书的信息。
(5)给定国际标准书号(ISBN),删除该图书的信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)图书信息应该包含国际标准书号、图书名称、图书出版社、图书作者(假设一个作者)、图书价格、出版时间。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,出版时间必须是一个合法的日期格式,国际标准书号是唯一的(一个国际标准书号对应一种图书信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定国际标准书号删除图书信息时,如果该图书不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储图书信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示图书信息,一个结点保存一条图书信息。
扩展功能:
(1)提供一些统计功能。
例如统计每个出版社的图书种类数,统计每个作者的图书种类数。
(2)图书信息从文件读入。
(3)将图书信息保存到文件中。
4.学生作业成绩管理程序
问题描述:
请设计一个学生作业成绩管理程序,以方便教师对学生作业成绩的管理
假设某门课程一学期要留10次作业,每次老师要进行批改,批改后要给出每次作业学生的分数并登记(成绩最高为100)。
学期末要根据每次作业的成绩计算出最终的平均成绩。
该程序应该具有以下功能:
(1)能从键盘输入某个学生的信息(不包含作业成绩)。
(2)给定学号,显示该学生每次作业的分数。
(3)给定班号,显示该班学生每次作业的分数以及平均成绩。
(4)给定学号,修改该学生的作业成绩。
(5)给定学号,删除该学生。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)学生作业信息应该包含学生信息(学号、姓名、班级)、10次作业的成绩。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,成绩只能在[0,100]之间,学号是唯一的(一个学号对应一个学生的作业信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定学号删除学生信息时,如果该学生不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储学生作业信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示学生作业信息,一个结点保存一条作业信息。
扩展功能:
(1)提供一些统计功能。
例如统计每个班作业的平均成绩,统计每次作业的平均成绩。
(2)学生作业信息从文件读入。
(3)将学生作业信息保存到文件中。
5.职工管理程序
问题描述:
请设计一个职工信息管理程序,以方便人事部门对本单位职工的管理,该程序应该具有以下功能:
(1)能从键盘输入职工的信息。
(2)给定职工号,显示职工的信息。
(3)给定工作部门,显示该部门的职工信息。
(4)给定职工号,修改职工的信息。
(5)给定职工号,删除职工信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)职工信息应该包含职工号、姓名、工作部门、职称、入厂时间、工资。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,入厂时间必须是合法的日期格式,职工号是唯一的(一个职工号对应一个职工的职工信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定职工号删除职工信息时,如果该职工不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储职工信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示职工信息,一个结点保存一条职工信息。
扩展功能:
(1)提供一些统计功能。
例如统计每个部门的人数,统计平均工资、统计各职称的人数。
(2)职工信息从文件读入。
(3)将职工信息保存到文件中。
6.设备管理程序
问题描述:
请设计一个设备管理程序,以方便资产科对本单位的设备进行管理,设计一程序完成以下功能:
(1)能从键盘输入设备信息。
(2)指定设备号,显示设备信息。
(3)指定部门名称,显示该部门所使用的设备。
(4)给定设备号,修改设备的信息。
(5)给定设备号,删除设备信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)设备信息包括:
设备号、设备名称、购买日期、价格、生产厂家、使用部门。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,购买日期必须是一个合法的日期格式,设备号是唯一的(一个设备号对应一个设备的设备信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定设备号删除设备信息时,如果该设备不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储设备信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示设备信息,一个结点保存一条设备信息
扩展功能:
(1)提供一些统计功能。
例如统计每种设备的总数(按照设备名称),统计每个部门使用的设备总数。
(2)设备信息从文件读入。
(3)将设备信息保存到文件中。
7.宿舍管理程序
题目描述
现学校要管理宿舍入住的学生,请设计一宿舍管理程序,以方便学校宿舍管理员对学生进行管理,该程序应该具有以下功能:
(1)能从键盘录入床位信息。
(2)指定学号,显示该学生的住宿的信息。
(3)指定宿舍号,显示住宿信息。
(4)给定宿舍号、床位号,修改住宿信息。
(5)给定宿舍号、床位号,删除住宿信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)住宿信息包括:
床位信息(宿舍号、床位号、是否有人入住)、学号、姓名、班级、入住时间。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如:
入住时间必须是一个合法的日期格式;一个学号对应一个床位号,一个床位号对应一个学生。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定宿舍号、床位号删除住宿信息时,如果该床位不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储住宿信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示学生住宿信息,一个结点保存一条住宿信息。
扩展功能:
(1)提供一些统计功能。
例如统计空床数、统计每个班级入住宿舍号。
(2)住宿信息从文件读入。
(3)将住宿信息保存到文件中。
8.汽车零部件采购管理程序
题目描述
已知在汽车生产时,需要向零部件生产厂商采购零部件,设计一个汽车零部件采购管理程序,以方便采购管理部门对采购零部件的管理。
该单位每次采购都有一个采购编号,每次采购一种零部件。
该程序应该具有如下功能
(1)能从键盘输入采购信息。
(2)指定采购编号,显示采购的零部件信息。
(3)指定零部件名称,显示该零部件的所有采购信息。
(4)给定采购编号,修改采购信息。
(5)给定采购编号,删除采购信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)采购信息包括:
采购编号、零部件名称、采购日期、采购员、采购数量、采购单价、供货单位。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,采购日期必须是一个合法的日期格式,采购编号是唯一的(一次采购对应一个采购编号)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定采购编号删除采购信息时,如果该采购编号不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储采购信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示采购信息,一个结点保存一条采购信息
扩展功能:
(1)提供一些统计功能。
例如根据零部件名称统计采购数量,根据采购员统计采购的次数。
(2)采购信息从文件读入。
(3)将采购信息保存到文件中。
9.汽车索赔管理程序
题目描述
已知在汽车销售后,服务站在对故障汽车维修后,可以向汽车生产厂家进行索赔,设计一个汽车索赔管理程序,以方便汽车生产厂家对汽车售后索赔进行管理,该程序完成如下功能:
(1)能从键盘输入索赔信息。
(2)指定索赔编号,显示索赔信息。
(3)指定底盘号,显示索赔历史。
(4)给定索赔编号,修改索赔信息。
(5)给定索赔编号,删除索赔信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)索赔信息包括:
索赔编号、服务站名称、底盘号、审核人、索赔金额、索赔日期。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,维修日期必须是一个合法的日期格式,索赔编号是唯一的(一个索赔编号对应一次索赔的索赔信息)
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定索赔编号删除索赔信息时,如果该索赔不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储索赔信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使用结构体表示索赔信息,一个结点保存一条索赔信息。
扩展功能:
(1)提供一些统计功能。
例如统计每个服务站索赔金额,根据审核人统计审核的索赔次数。
(2)索赔信息从文件读入。
(3)将索赔信息保存到文件中。
10.汽车零部件质检管理程序
题目描述
已知在汽车零部件生产过程中,需要对生产的零部件进行质量检测,保证生产质量,以便对出现生产质量问题的责任人进行考核,设计一个汽车零部件质检管理程序,该程序应该具有完成如下功能:
(1)能从键盘输入质检信息。
(2)指定质检编号,显示质检信息。
(3)指定生产者,显示质检信息。
(4)指定质检编号,修改质检信息。
(5)指定质检编号,删除质检信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)质检信息包括:
质检编号、零部件名称、生产者、生产部门、质检结果(合格/不合格)、质量问题(设计缺陷/装配质量/加工质量)、质检员、质检日期。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,质检日期必须是一个合法的日期格式,质检编号是唯一的(一个质检编号对应一次质检的质检信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定质检编号删除质检信息时,如果该质检信息不存在,要提示没能删除,如果删除成功要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 指导书 hdjsnb