C语言《程序设计课程设计》[2022-12]
程序设计课程设计说明书
一、设计任务与要求
《程序设计课程设计》是在完成《C语言程序设计》课程学习后进行的一门专业实践课程,是培养学生综合运用所学知识解决专业相关问题的重要环节,是对学生实际工作能力的具体训练和考察过程。本次课程设计的题目使用C语言来开发。要求每个学生可以独立完成C语言程序设计设计题目,同时可以通过同学间的讨论,共同编写比较复杂的综合课程设计题目。希望同学能避免抄袭,努力实践,提高实际动手能力。要求每个学生必须参加,并完成如下各项课程设计任务:
- 要求每个学生认真阅读本程序设计课程设计说明书,理解课程设计的目的和任务。
- 要求学生通过自学理解和掌握本说明书附录2中给出的程序实例,读懂其中程序的设计功能,设计思想,设计结构,设计技巧,设计的不足等情况,提高阅读较大并且较为复杂程序源代码的能力,也可以通过实例理解本次课程设计要求的设计任务的规模和难度。
- 要求每个学生根据自己的实际情况选择一个题目,实际动手完成这个题目,编写出程序代码,并调试通过。
4 每个同学选择一个题目,复杂问题的选题可以多人一组来实现,但是每人要有独立完成的部分,原则上不允许多组同学选择同一个题目。多组同学选择同样题目时,独立完成,程序代码不可相同。 - 要求每个学生完成课程设计后撰写《课程设计报告》,可以按照任务书后面附带的课程设计报告模版的格式实际撰写。
- 要求每位学生必须在上机前做好充分准备,每次上机必须目的明确,必须事先编写好程序代码,然后在规定的时间和地点上机调试。
二、学生选题原则
1.学生根据自身情况选择其中一道题目,作为课程设计选题,最终确定题目,选择的题目需要提交给指导教师并得到确认。
2.允许学生在给出可供选择题目之外自己选择题目,但要经指导教师同意。
3.允许两至三名学生共同选择较复杂的题目,并共同完成。
三、课程设计实施过程
1.在课程设计开始时,公布此课程设计说明书。
2.教师根据需要安排合适的时间、地点进行答疑。
3.教师要认真检查学生完成的程序进展情况。
4 教师要指导学生撰写符合规范的《程序设计课程设计报告书》。
5.每个学生必须参加课程设计答辩,针对课程设计的内容回答提问。
四、检查考核办法
首先检查完成后的程序能否正常运行和得出希望的结果,程序检查通过后再检查所撰写的《课程设计报告书》, 最后参加课程设计答辩,根据报告的质量及面试的结果给出学生课程设计的成绩。
五、考核评分标准:
1.评阅教师可根据学生选择题目的难度、完成功能的多少、以及完成质量的优劣进行综合评分。完成质量较好,即可评定为优秀;完成质量尚可但有明显不足,可以评为良好;完成质量一般,成绩为中等;完成质量较差,成绩为及格;没有完成,成绩为不及格。
2. 成绩评定由指导教师根据学生面试和对设计报告的评审得出;成绩评为优秀和不及格的,要参加由系组织的统一答辩,答辩组给出最后成绩。优秀的比例为15%以内。
3. 如果发现两名或更多同学的课程设计相同部分过多,特别是程序的源代码相同部分达到或超过90%,则认定为抄袭,成绩评定为不及格。如果发现与现有技术书籍或网上资料相同部分过多,特别是程序的源代码相同部分达到或超过80%,也认定为抄袭,成绩评定为不及格。允许参考同学的工作,允许参考现有技术书籍或网上的资料,但要有自己的不同或改进之处,可以利用已有程序的代码,但要自己重新组织,调试通过并对程序理解正确。
附录1 《程序设计课程设计》题目与要求
序号 题目名称 姓名1 姓名2 姓名3
1 职工信息管理系统设计
2 图书信息管理系统设计
3 学生信息管理系统设计
4 学生选修课程系统设计
5 学生成绩管理系统设计
6 小学数学学习系统
7 车票管理系统
8 销售管理系统
9 企业员工全年销售额统计及奖金发放系统
10 简单的同学通讯录程序设计
11 学生综合测评系统
12 学校运动会管理系统
13 教师工资管理系统
14 教师工作量管理系统
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
一、选题内容及要求
1、职工信息管理系统设计
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等。试设计一职工信息管理系统,使之能提供以下功能:
系统以菜单方式工作:(用键盘输入1~6之间的数来选择功能)
(1)职工信息录入功能(职工信息用文件保存)
(2)职工信息浏览功能
(3)查询功能:按工号和按学历查询
(4)信息删除功能:按职工姓名删除
(5)信息修改功能:把研究生学历的职工工资增加500元。
(6)退出。
2、图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格、存在状态(已借和已还)、借书人姓名、性别、学号等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作(用键盘输入1~6之间的数来选择功能)
(1)图书信息录入功能(图书信息用文件保存)——输入
(2)图书信息浏览功能--输出
(3)查询功能:按书名查询和按作者名查询
(4)图书信息的删除:按照存在状态删除,把已还的图书信息删除
(5) 图书信息的修改:按照存在状态修改,把已借的图书信息改为已还的状态。
(6)退出。
3、学生信息管理系统设计
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作(用键盘输入1~6之间的数来选择功能)
(1)学生信息录入功能(学生信息用文件保存)
(2)学生信息浏览功能
(3)查询功能:按学号查询和按姓名查询
(4)学生信息的删除:(按学号进行删除)
(5)学生信息的修改:(按学号进行修改某学生的姓名)
(6)退出。
4、学生选修课程系统设计
假定有15门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于30)自由选课。试设计一选修课程系统,使之能提供以下功能:系统以菜单方式工作(用键盘输入1~6之间的数来选择功能)
(1)课程信息录入功能(课程信息用文件保存)
(2)课程信息浏览功能
(3)查询功能:按学分查询和按课程性质查询
(4) 课程信息的删除:(按课程性质进行删除)
(5)课程信息的修改:(按课程性质修改,把必修课的学分都加1个学分)
(6)退出。
5、学生成绩管理系统设计
学生成绩信息包括:学号、姓名、C语言等课程成绩。试设计一选修课程系统,使
之能提供以下功能:系统以菜单方式工作(用键盘输入1~6之间的数来选择功能)
(1)成绩信息录入功能(成绩信息用文件保存)
(2)成绩信息浏览功能
(3)查询功能:按学号查询和按成绩段查询
(4)成绩信息的删除:按学号进行删除某学生的成绩
(5)成绩信息的修改:按成绩修改,把55~59分之间的成绩都加上5分
(6)退出。
6、小学数学学习系统
[问题描述]
具有随机出题、自动评分、查看正确答案、错题重做等功能的测试系统。
[设计要求]
(1) 设计程序运行界面
(2) 用户登录功能
(3) 能用菜单选择测试系统的各功能
7、车票管理系统
一车站每天有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
…
(一)功能要求:用c设计一系统,能提供下列服务:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:可按班次号查询 ,可按终点站查询
(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
8、销售管理系统
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额
每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
4)输出统计报表
销售统计报表
销售员代号 1 2 3 4 5 销售之和
产品代号
1
2
3
4
每种产品之和 总和
9、企业员工全年销售额统计及奖金发放系统
程序设计功能及要求:
⑴ 总人数不定,开始先输入员工的人数及工号进行初始化。
⑵ 根据员工的工号及季度提示输入对应的销售额,。
⑶ 奖金计算功能,根据以下要求编写出奖金的计算系统并计算员工的应得奖金并保存在文件中。
1
企业总销售额 员工奖金提成比例(占其自己销售额的比例)
100万及以下 10%
100万到150万 11%
150万到200万 12%
200万到250万 13%
250万到300万 14%
300万以上 15%
2
年度销售业绩最高者,额外获得1万元。
⑷ 统计功能,统计全年企业的销售额和个人销售额及员工的奖金,并评选出销售总额最高的员工为销售之星及每季度销售最高的为季度之星。
⑸修改功能,输入要修改的员工号及季度修改该季度的销售额,并且对应的统计数据也随之改变。
⑹ 在开始画面加入简单的菜单便于选择功能。
例
1系统初始化
2 员工销售额输入
3数据更改
4统计
5奖金发放
10、简单的同学通讯录程序设计
[问题描述]
具有数据插入、修改、删除、显示、查询和统计功能的电话簿管理程序。
[程序设计功能及要求]
⑴人数不定,。
⑵记录每位同学的学号、姓名、性别、工作单位、电话号码和E-mail地址建立单独的条目,存入数据文件。
⑶可对记录中的姓名和电话号码等进行修改。
⑷可增加或删除记录
⑸可显示所有保存的记录
⑹加入统计功能,可以统计男女同学或总人数。
⑺加入查询功能,通过姓名、学号或电话号码查询到同学的条目。
⑻在开始画面加入简单的菜单便于选择功能。
⑼储存数据格式
学号 姓名 性别 工作单位 电话号码 E-mail
1 李四 …. …. ….
本程序建议采用结构体类型实现。
11、学生综合测评系统
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学生信息处理
(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存放。
提示:学生信息可先输入到数组中。
(2) 插入(修改)同学信息:
提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,
(3) 删除同学信息:
提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
(4) 浏览学生信息:
提示:打开文件,显示该文件的学生信息。
B、学生数据处理:
(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入存放。
(2) 学生测评数据输入并计算综合测评总分及名次。
提示:综合测评总分=(考试成绩)0.6+(同学互评分)0.1+品德成绩0.1+任课老师评分0.2。
(3) 学生数据管理
提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息保存。
(4) 学生数据查询:
提示:输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出
提示:输出学生信息到屏幕。
12、学校运动会管理系统
问题描述:
(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;
(2) 各项目名次取法有如下几种:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;
(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
13、教师工资管理系统
每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资 - 合计扣款。
A、教师信息处理
(1) 输入教师信息
(2) 插入(修改)教师信息:
(3) 删除教师信息:
(4) 浏览教师信息:
B、教师数据处理:
(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。
(2) 教师实发工资、应发工资、合计扣款计算。
提示:计算规则如题目。
(3) 教师数据管理
提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息保存。
(4) 教师数据查询:
提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
(5) 教师综合信息输出
提示:输出教师信息到屏幕。
14、教师工作量管理系统
计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)
A、教师信息处理
(1) 输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。
(2) 插入(修改)教师授课教学信息:
(3) 删除教师授课教学信息:
(4) 浏览教师授课教学信息:
B、教师工作量数据处理:
(1) 计算单个教学任务总课时。计算原则如下表:
班级数目 单个教学任务总课时
2 1.5*(理论课时+实验课时)
3 2*(理论课时+实验课时)
>=4 2.5*(理论课时+实验课时)
(2) 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。
(3)教师数据查询:
提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
C、教师综合信息输出
提示:输出教师信息到屏幕。
二、课程设计的步骤
课程设计步骤的规范可以培养学生严谨而科学的工作作风和工作方法,能有效的提高工作效率,因此必须严格执行良好的设计步骤规范。本课程设计的基本步骤是:
1、问题的提出与分析
同一小组成员在选定项目题目之后,要充分了解、分析并确定项目的要求,弄清楚所选题目要求做什么。
2、解决方案框架的确定
根据题目要求实现的功能,确定解决方案的框架,将要求实现的功能根据结构清晰、合理、简单的原则划分成一个个功能模块,每一个功能模块用一个子函数来实现,分析每个子函数的功能以及函数之间的调用关系。
3、详细设计和编码
根据划分的功能模块,确定实现功能的算法的流程,在此基础上进行代码设计,每个明确的功能模块程序代码行原则上不超过60行,若超过,应划分为两个模块或多个模块。在程序中要有适当的注释语言,方便读程序和出错时查错。
4、程序调试与测试
每个功能模块所对应的函数编写出来后,应进行调试,排除程序中的语法错误,可以同一组学生一起边调试边分析程序的错误。程序运行无误后,进行测试,分析是否能完成预设的功能。
5、完成课程设计报告
设计报告的主要内容应包括以下几点:
(1)问题描述:详细描述选题要解决的问题是什么,能够实现的功能有哪些。
(2)功能描述:本项目根据功能可以划分为哪些模块,每个模块实现说明功能,流程图等;
(3)调试过程:调试过程中遇到的主要问题,是如何解决的,对设计和编码的回顾讨论和分析、改进设想、经验预体会等;
(4)附录:源程序清单和结果。
三、考核标准
答辩中具体考核内容:
1、 程序的界面、提示、用户引导与便利性方面的设计;
2、 程序功能实现是否能够满足题目的基本要求;
3、 程序的逻辑性是否严谨?有没有明显的逻辑性错误;
4、 程序代码的美观性与可读性,包括注释的使用与变量命名法则;
5、 程序的扩展功能,创新性。