C/C++《程序设计课程设计》[2023-06-14]
《程序设计课程设计》
指导书
程序设计课程设计说明书
一、设计任务与要求
《程序设计课程设计》是在完成《程序设计基础》课程学习后进行的一门专业实践课程,是培养学生综合运用所学知识解决专业相关问题的重要环节,是对学生实际工作能力的具体训练和考察过程。本次课程设计的题目使用C语言来开发。要求每个学生可以独立完成C语言程序设计设计题目,同时可以通过同学间的讨论,共同编写比较复杂的综合课程设计题目。希望同学能避免抄袭,努力实践,提高实际动手能力。要求每个学生必须参加,并完成如下各项课程设计任务:
- 要求每个学生认真阅读本程序设计课程设计说明书,理解课程设计的目的和任务。
- 要求学生通过自学理解和掌握本说明书附录2中给出的程序实例,读懂其中程序的设计功能,设计思想,设计结构,设计技巧,设计的不足等情况,提高阅读较大并且较为复杂程序源代码的能力,也可以通过实例理解本次课程设计要求的设计任务的规模和难度。
- 要求每个学生根据自己的实际情况选择一个题目,实际动手完成这个题目,编写出程序代码,并调试通过。
4 每个同学选择一个题目,复杂问题的选题可以多人一组来实现,但是每人要有独立完成的部分,原则上不允许多组同学选择同一个题目。多组同学选择同样题目时,独立完成,程序代码不可相同。 - 要求每个学生完成课程设计后撰写《课程设计报告》,可以按照任务书后面附带的课程设计报告模版的格式实际撰写。
- 要求每位学生必须在上机前做好充分准备,每次上机必须目的明确,必须事先编写好程序代码,然后在规定的时间和地点上机调试。
二、学生选题原则
1.学生根据自身情况选择其中一道题目,作为课程设计选题,最终确定题目,选择的题目需要提交给指导教师并得到确认。 - 允许学生在给出可供选择题目之外自己选择题目,但要经指导教师同意。
3.允许两至三名学生共同选择较复杂的题目,并共同完成。
三、课程设计实施过程
1.在课程设计开始时,公布此课程设计说明书。
2.教师根据需要安排合适的时间、地点进行答疑。
3.教师要认真检查学生完成的程序进展情况。
4 教师要指导学生撰写符合规范的《程序设计课程设计报告书》。
5.每个学生必须参加课程设计答辩,针对课程设计的内容回答提问。
四、检查考核办法
首先检查完成后的程序能否正常运行和得出希望的结果,程序检查通过后再检查所撰写的《课程设计报告书》, 最后参加课程设计答辩,根据报告的质量及面试的结果给出学生课程设计的成绩。
五、考核评分标准:
1.评阅教师可根据学生选择题目的难度、完成功能的多少、以及完成质量的优劣进行综合评分。完成质量较好,即可评定为优秀;完成质量尚可但有明显不足,可以评为良好;完成质量一般,成绩为中等;完成质量较差,成绩为及格;没有完成,成绩为不及格。
2. 成绩评定由指导教师根据学生面试和对设计报告的评审得出;成绩评为优秀和不及格的,要参加由系组织的统一答辩,答辩组给出最后成绩。优秀的比例为15%以内。
3. 如果发现两名或更多同学的课程设计相同部分过多,特别是程序的源代码相同部分达到或超过90%,则认定为抄袭,成绩评定为不及格。如果发现与现有技术书籍或网上资料相同部分过多,特别是程序的源代码相同部分达到或超过80%,也认定为抄袭,成绩评定为不及格。允许参考同学的工作,允许参考现有技术书籍或网上的资料,但要有自己的不同或改进之处,可以利用已有程序的代码,但要自己重新组织,调试通过并对程序理解正确。
附录1 《C语言程序设计课程设计》题目与要求
序号题目名称1组2组3组
1职工信息管理系统设计
2图书信息管理系统设计
3学生信息管理系统设计
4学生选修课程系统设计
5学生成绩管理系统设计
6酒店管理系统
7订票管理系统
8销售管理系统
9企业员工全年销售额统计及奖金发放系统
10学生综合测评系统
11学校运动会管理系统
12教师工资管理系统
13教师工作量管理系统
14会议室管理系统
15密码保险箱
16共享单车管理系统
17菜鸟驿站快递管理系统
18美容店会员管理系统
19租车门店管理系统
20点歌台
21停车场管理系统
一、选题内容及要求
1、职工信息管理系统设计
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等。试设计一职工信息管理系统,使之能提供以下功能:
系统以菜单方式工作
(1)职工信息录入功能(职工信息用文件保存)
(2)职工信息浏览功能
(3)查询功能:按工号和按学历查询
(4)信息删除功能:按职工姓名删除
(5)信息修改功能:把研究生学历的职工工资增加500元。
(6)可以以职工姓名拼音首字母或当月出勤率进行排序。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
2、图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格、存在状态(已借和已还)、借书人姓名、性别、学号等。试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作
(1)图书信息录入功能(图书信息用文件保存)——输入
(2)图书信息浏览功能--输出
(3)查询功能:按书名查询和按作者名查询
(4)图书信息的删除:按照存在状态删除,把已还的图书信息删除
(5) 图书信息的修改:按照存在状态修改,把已借的图书信息改为已还的状态。
(6)记录图书的上架日期,借阅以及还书日期,
(7)可以根据图书的分类进行统计,统计当月借阅图书的热门分类
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
3、学生信息管理系统设计
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话等。试设计一学生信息管理系统,使之能提供以下功能:
(1)学生信息录入功能(学生信息用文件保存)
(2)学生信息浏览功能,显示学生的相关信息,可以按学生姓名,拼音,年龄等排序,也可以按班级,年级等方式进行排序
(3)查询功能:按学号查询和按姓名查询
(4)学生信息的删除:(按学号进行删除)
(5)学生信息的修改:(按学号进行修改某学生的姓名)
(6)可以录入学生的期末成绩,总分,根据分数进行班级排名。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
4、学生选修课程系统设计
假定有15门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于30)自由选课。试设计一选修课程系统,使之能提供以下功能:
(1)课程信息录入功能(课程信息用文件保存),包含课程代号,授课教师姓名,手机号,课时数,学分等信息
(2)课程信息浏览功能,显示已选修该课程的学生人数及学生名单,通过选课系统录入,学生名单可以进行修改和删除
(3)查询功能:按学分查询和按课程性质查询,可以按照学分或者课程拼音进行排序
(4) 课程信息的删除:(按课程名称,代号,性质等进行删除)
(5)课程信息的修改:(按课程性质修改,把必修课的学分都加1个学分)
(6)可以统计每个课程的选修学生人数,可以根据人数进行查询排序。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
5、学生成绩管理系统设计
学生成绩信息包括:学号、姓名、C语言,高数,等课程成绩。试设计一成绩管理系统系统,使之能提供以下功能:
(1)成绩信息录入功能(成绩信息用文件保存)
(2)成绩信息浏览功能 ,按学生显示每门课程的成绩,或者按课程显示每位学生的成绩
(3)查询功能:按学号查询和按成绩段查询
(4)成绩信息的删除:按学号进行删除某学生的成绩
(5)成绩信息的修改:按成绩修改,把55~59分之间的成绩都加上5分
(6)可以根据学生的分数高低进行排序
(7)当指定查看某位学生的每门课程成绩时,可以按课程的分数进行排名。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
6、酒店管理系统
有一酒店,之前一直使用传统的纸质化方法来管理酒店的客房以及服务员等信息,现转型数字化,需要设计一套基于C语言的酒店管理系统,系统使用控制台的方式提供相关功能,包含但不限于如下功能:
1.管理酒店客房的租住信息,如房间的使用状态,是否已预定,是否已入住,以及预计退房时间.
2.管理酒店的服务人员,包括餐厅厨师,清洁工,前台等各种提供服务的相关人员信息
3.老板(或经理)有权利管理所有的房间以及为客户办理入住等手续,同时具备工作人员的管理权利如员工的入职,离职,奖惩情况
4.该酒店管理系统需要实现数据持久化,可采用文件存储相关数据,同时酒店工作人员登录需要输入对应的密码及工号,以防止数据泄漏.
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
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:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
8、销售管理系统
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额
每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
4) 每种产品都有库存剩余量,可以通过程序补充库存,修改剩余数量
5)输出统计报表
销售统计报表
销售员代号 1 2 3 4 5 销售之和
产品代号
1
2
3
4
每种产品之和 总和
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
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奖金发放
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
10、学生综合测评系统
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学生信息处理
(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存放。
提示:学生信息可先输入到数组中。
(2) 插入(修改)同学信息:
提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,
(3) 删除同学信息:
提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
(4) 浏览学生信息:
提示:打开文件,显示该文件的学生信息。
B、学生数据处理:
(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入存放。
(2) 学生测评数据输入并计算综合测评总分及名次。
提示:综合测评总分=(考试成绩)0.6+(同学互评分)0.1+品德成绩0.1+任课老师评分0.2。
(3) 学生数据管理
提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息保存。
(4) 学生数据查询:
提示:输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出
提示:输出学生信息到屏幕。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
11、学校运动会管理系统
问题描述:
- 运动会管理系统需要支持运动项目创建,包括但不限于:乒乓球,跳远,跳高,短跑,接力赛
- 运动项目分为:男子组,女子组
- 运动员需要通过系统进行报名,选择相应的项目和组别
- 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;
- 各项目名次取法有如下几种:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; - 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
- 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
12、教师工资管理系统
每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资 - 合计扣款。
A、教师信息处理
(1) 输入教师信息
(2) 插入(修改)教师信息:
(3) 删除教师信息:
(4) 浏览教师信息:
B、教师数据处理:
(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。
(2) 教师实发工资、应发工资、合计扣款计算。
提示:计算规则如题目。
(3) 教师数据管理
提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息保存。
(4) 教师数据查询:
提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
(5) 教师综合信息输出
提示:输出教师信息到屏幕。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
13、教师工作量管理系统
计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)
A、教师信息处理
(1) 输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。
(2) 插入(修改)教师授课教学信息:
(3) 删除教师授课教学信息:
(4) 浏览教师授课教学信息:
B、教师工作量数据处理:
(1) 计算单个教学任务总课时。计算原则如下表:
班级数目单个教学任务总课时
21.5*(理论课时+实验课时)
32*(理论课时+实验课时)
>=42.5*(理论课时+实验课时)
(2) 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。
(3)教师数据查询:
提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
C、教师综合信息输出
提示:输出教师信息到屏幕。
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
14、会议室管理系统
在学校中,经常需要召开会议,会议预定者需要根据自己会议的规模人数预定会议室以满足开会需求,需要使用C语言开发一套会议室管理及预定系统,包括但不限于以下几种功能:
1.管理员可以登记新的会议室,填写会议室的编号,楼层,容纳人数,也可以删除不再使用的会议室
2.查找所有会议室,可按楼层查找,也可按大小查找,亦可以通过空闲状态过滤已被预定的会议室
3.预定会议室,填入使用的起止时间以及预定人的电话,需要填写使用会议室的事由
4.会议室的预定结果需要管理员进行审核
5.管理员有权取消普通员工预定的会议室
6.预定者可以取消自己预定的会议室,但是不能取消别人预定的会议室
7.所有的数据都需要持久化保存,可通过文件存储
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
15、密码保管箱
在网上冲浪或使用各种软件的时候,经常需要输入密码,如果都使用同样的密码,那么当密码泄漏的时候,就会引发灾难性后果,所以大家都要有一个密码保管箱来保存自己各网站的密码,现使用C语言开发一款密码保管箱工具,用来保存自己在网站或者app上注册的账号和密码,功能如下:
- 使用密码保管箱必须登陆,验证使用者的身份才可继续,否则,软件退出
- 密码保管箱每条记录需提供网站名称(或app名称),网址,用户名,密码,手机号码,邮箱等相关信息,同时对于重要的数据需要进行加密存储,以防其他人直接通过打开存储文件的方式读取到所有密码
- 提供添加,修改,删除,按分类(网站或app)的方式管理密码保管箱内的密码
- 为了保障密码的安全性,密码保险箱存储密码的文件需要与程序放在不同的位置
- 可以根据网站名称,网址等进行查询,也可根据密码分类(网站或app)进行显示
- 查询,显示,删除等操作应进行二次验证才允许展示,
- 可以记录密码的查询时间以及查询次数以供后续备查
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
16、共享单车管理系统
当今社会共享单车极大的便利了人们的日常生活,现有一公司准备开展共享单车相关的业务,分为电动车与自行车,电动车与自行车具有不同的管理模式,具体如下:
- 自行车与电动车分开管理,都可以新增,查询,修改和删除,每辆车都有唯一的编号,可根据编号查询,也可以根据区域查询
- 共享电车因为需要电力,所以需要管理相关的电量,包含需按电量百分比查询
- 电车由于成本较高,所以计费模式与单价与单车不同,并且当客户想要使用电车时可以提示剩余电量以方便客户判断是否能够顺利到达目的地
- 自行车与电车都具有:使用中,空闲,维修中等集中基础状态,电动车会有充电中的状态
- 该系统可以使用管理员或客户进行登录,管理员具有管理车辆的功能,客户只有查询和使用车辆的功能,使用车辆完毕后必须归还才能将车辆状态进行重置
- 所有的相关数据都应使用文件进行持久化保存
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
17、菜鸟驿站管理系统
当今社会菜鸟驿站极大便利了人们的日常生活,现有一公司准备开设几个门店以扩大经营,需要使用C语言开发一款菜鸟驿站的管理软件协助公司进行相关的管理工作,功能包括但不限于如下:
- 可以注册新门店,查询,修改门店信息,设置门店的状态如:正常,休息,停业等
- 可以进入相关门店查询快递的收寄情况,快递包裹信息,统计每天,每月的订单量.
- 快递具有状态:待取,已取,可以查询每个快递的到店时间,已取走的快递显示离店时间
- 可以根据快递单号,货架号,收件人姓名,手机号等方式查询相关快递,设置对应的快递已取件,同时记录取件时间
- 新收快递可以自动生成或手动填写货架号,可以统计每个货架的快递数量,空闲位置数量
- 所有的相关数据都应使用文件进行持久化保存
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
18、美容店会员管理系统
当今社会美容店,理发店满足人们对于美的追求,现有一门店改造升级,将原来纸质方式的会员管理机制替换成数字化方式,需要使用C语言开发一款会员管理系统,功能包括但不限于如下:
- 该系统需要登录对应账号才能使用,登录之后可以新增,删除,查找,修改会员的信息.
- 该系统可以设置服务项目或套餐,每种服务都有对应的收费标准,可以新增,删除,修改对应的服务项目的金额,名称等.
- 会员消费的时候提供会员姓名或手机号,再填写对应项目,对应到会员等级进行相应折扣并进行会员余额扣费,当会员余额不足时可以充值或改用现金收费
- 会员可以进行升级,或注销,可以查询会员的消费记录,以及充值记录
- 美容院会进行营收相关的统计,统计新增会员的数量,新增的会员会费,当天,当月营业额等信息
- 所有的相关数据都应使用文件进行持久化保存
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
19、租车门店管理系统
当今社会生活节奏快,有的人为了加快效率选择租车,现有一租车公司需要将原来纸质的租车管理系统升级替换成数字化方案,需要使用C语言开发一款管理系统,功能包括但不限于如下:
- 该系统需要登录对应账号才能使用,登录之后可以新增,删除,查找,修改车辆的信息.
- 该系统可以设置车辆的收费标准,可以分为日租,周租等收费模式
- 可以查询到所有门店车辆的相应状态,如空闲,出租中,洗车中,维修中,报废等情况,同时可设置相应的状态
- 每辆车可以查询到租用信息,包含租用的起止时间,客户的姓名,电话,消费金额等信息
- 门店会进行相应的营收统计,比如当天,当月收入信息,车辆维修,洗车等成本,进行利润计算
- 所有的相关数据都应使用文件进行持久化保存
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
20、点歌台管理系统
当今社会生活节奏快,压力大,需要唱唱歌来放松,现有一ktv点歌设备公司拟使用C语言开发一款ktv点歌管理系统,功能包括但不限于如下:
- 该系统可以有管理员,管理员登录之后可以新增,删除,查找,修改歌曲的信息.
- 该系统可以由管理员启动点歌模式,可以设置本次消费时长,可以延长本次消费时间
- 客户可根据歌曲的风格,拼音首字母,歌手名字等相关信息进行点歌
- 已点歌曲列表可以进行歌曲置顶,删除等操作
- 可以提供热歌榜,新歌榜等相关内容方便客户进行点歌
- 所有的相关数据都应使用文件进行持久化保存
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
21、停车场管理系统
当今社会,小汽车越来越多,导致停车越来越难,某公司准备新开几个停车场扩大经营,需要一款基于C语言的停车场管理系统进行停车场和车位的管理,功能包括但不限于如下:
- 该系统可以有管理员,管理员登录之后可以新增,删除,查找,修改门店的信息.
- 该系统可以由管理员设置每个门店的车位数量以及收费标准,并可随时查询停车场的车位信息,如空闲数量,正在使用中数量等
- 当有客户停车时,查询剩余车位,当车位数量满足时登记车辆的车牌,车主姓名,手机号等信息,开始计费
- 客户出停车场时根据已停市场和收费标准计算停车费用
- 可以进行门店统计,如车位的平均使用率,统计当天,当月营收等情况
- 所有的相关数据都应使用文件进行持久化保存
源码
https://pan.baidu.com/s/1J--MYtUyPilpJKTD15-SgA?pwd=1111
二、课程设计的步骤
课程设计步骤的规范可以培养学生严谨而科学的工作作风和工作方法,能有效的提高工作效率,因此必须严格执行良好的设计步骤规范。本课程设计的基本步骤是:
1、问题的提出与分析
同一小组成员在选定项目题目之后,要充分了解、分析并确定项目的要求,弄清楚所选题目要求做什么。
2、解决方案框架的确定
根据题目要求实现的功能,确定解决方案的框架,将要求实现的功能根据结构清晰、合理、简单的原则划分成一个个功能模块,每一个功能模块用一个子函数来实现,分析每个子函数的功能以及函数之间的调用关系。
3、详细设计和编码
根据划分的功能模块,确定实现功能的算法的流程,在此基础上进行代码设计,每个明确的功能模块程序代码行原则上不超过60行,若超过,应划分为两个模块或多个模块。在程序中要有适当的注释语言,方便读程序和出错时查错。
4、程序调试与测试
每个功能模块所对应的函数编写出来后,应进行调试,排除程序中的语法错误,可以同一组学生一起边调试边分析程序的错误。程序运行无误后,进行测试,分析是否能完成预设的功能。
5、完成课程设计报告
设计报告的主要内容应包括以下几点:
(1)问题描述:详细描述选题要解决的问题是什么,能够实现的功能有哪些。
(2)功能描述:本项目根据功能可以划分为哪些模块,每个模块实现说明功能,流程图等;
(3)调试过程:调试过程中遇到的主要问题,是如何解决的,对设计和编码的回顾讨论和分析、改进设想、经验预体会等;
(4)附录:源程序清单和结果。
三、考核标准
答辩中具体考核内容:
1、程序的界面、提示、用户引导与便利性方面的设计;
2、程序功能实现是否能够满足题目的基本要求;
3、程序的逻辑性是否严谨?有没有明显的逻辑性错误;
4、程序代码的美观性与可读性,包括注释的使用与变量命名法则;
5、程序的扩展功能,创新性。
具体参见附录3。
四、课程设计报告(见附录2)
课 程 设 计 报 告
课程名称 程序设计课程设计
选题名称
班级 姓名 学号
实验组别 同组实验者
完成时间 至
指导教师
目 录
1、课程设计任务1
1.1、题目1
1.2、要求1
2、总体设计1
2.1、功能模块设计1
2.2、所有功能模块的流程图1
3、详细设计2
3.1、程序中各变量、常量及函数说明2
3.2、子模块的设计与实现2
4、调试与测试3
5、源程序清单4
6、课程设计总结5
7、致谢5
8、参考文献5
1、课程设计任务
1.1、题目
【示例】用三元组实现稀疏矩阵的转置、相加、相乘
1.2、要求
【示例】
(1)用creat函数创建三元组;
(2)用print函数打印计算结果;
(3)用add函数实现稀疏矩阵的相加运算;
(4)用mult 函数实现稀疏矩阵的相乘运算;
(5)用 Transm函数实现稀疏矩阵的转置运算;
(6)用menu函数创建一个菜单
2、总体设计
2.1、功能模块设计
根据课程设计题目的功能要求,各个功能模块的组成框图如下:
【示例】
图2-1 ****功能组成框图
2.2、所有功能模块的流程图
【示例1】自行添加
3、详细设计
模块功能说明:如函数功能、入口及出口参数说明,函数调用关系描述等;【示例1】
3.1、程序中各变量、常量及函数说明
以顺序存储结构来表示三元组表,则可得到稀疏矩阵的一种压缩存储方式——三元组顺序表。
//-----------稀疏矩阵的三元组顺序存储表示-------------
#define MAXSIZE 100 /*假设非零元个数的最大值为20*/
typedef struct
{
int i,j; /*该非零元的行下标和列下标*/ int v; }Triple;
typedef struct {
Triple data[MAXSIZE+1]; /*非零元三元组表,data[0]未用*/
int mu,nu,tu; /*矩阵的行数,列数和非零元个数*/
}TSMastrix;
在此,data域中表示非零元得三元组是以行序为主序顺序排列的,这样有利于进行某些矩阵运算。
3.2、子模块的设计与实现
a) 相加运算 对于两个稀疏矩阵相加,即行与行,列与列相加
b)相乘运算 若设Q=MN 其中M是m1n1矩阵,N是m2n2矩阵,只有当n1=m2时才可以相乘。 乘积矩阵Q中元素
Q(i,j)=∑M(i,k)N(k,j) 1≤i≤m1,1≤j≤n2
在算法中,不论M(i,k)和 N(k,j)的值是否为零,都要进行一次乘法运算,而实际上,这两者有一个值为零时,其乘积也为零。因此,在对稀疏矩阵进行运算时,应免去这种无效操作,只需在M.data和N.data中找到相应的各对元素(即M.data中的j值和 N.data中的i值相等的各对元素)相乘即可。
c) 转置运算 对于一个mn的矩阵M,它的转置矩阵T是一个nm的矩阵,且T(i,j)=M(j,i), 1≤i≤n,1≤j≤m。完成一个稀疏矩阵的转置分为三步:
(1)将矩阵的行列值相互交换;
(2)将每个三元组中的i和j相互调换;
(3)重排三元组之间的次序便可实现矩阵的转置;
4、调试与测试
4.1、调试方法与步骤
【示例1】简述测试步骤
第一步:测试矩阵加法: 过程
第二步:测试矩阵乘法: 过程
第三步:测试矩阵转置: 过程
4.2、测试结果的分析与讨论
(测试要写出测试用例及每个用例结果的的截图)
图4-1 ****图
图4-2 ****图
4.3、测试过程中遇到的主要问题及采取的解决措施
(自行添加)
5、源程序清单
(清单中应有足够的注释)【示例1】
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<malloc.h>
#define MAXSIZE 100 /*假设非零元个数的最大值为20*/ typedef struct
{int i,j; /*该非零元的行下标和列下标*/ int v; }Triple;
typedef struct
{Triple data[MAXSIZE+1]; /*非零元三元组表,data[0]未用*/
int mu,nu,tu; /*矩阵的行数,列数和非零元个数*/ }juzheng;
void creat(juzheng &T)/*创建三元组*/ { int k,i,j;
printf("\n 请输入矩阵\n"); do{
printf("\n请输入矩阵的行数,列数,非零元素个数\n");
……(略)
6、课程设计总结
【示例1】
本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过不能运行、不能产生十以内随机数字、不能随机出现加减、不会正确输出结果、不能进行循环练习等等问题。经过我的努力及同学的帮助,这些问题得到克服[1],并且使程序的功能也得到了一定的完善。现在它能对出错的题目发出报警声,并且给出正确答案。最后还能分别输出对错的题数及所得分数。
在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。…
7、致谢
【示例1】能够完成这次课程设计必须感谢数据结构课程设计指导老师×××.......,另外还要感谢×××同学(帮我修改了几处重要错误,同时启发我完善了该程序的功能)。
8、参考文献
【示例1】(参考文献一般为5—10篇,近五年的文献资料,下面给出的是各类参考文献的模板,可结合自己的设计题目和实际参考资料列出相应的文献,添加好参考文献后,请将下方的内容删除。)
学术期刊格式:
【序号】【第一作者,第二作者,第三作者等】.【篇名[J]】.【学术期刊刊名】,【出版年份】, 【卷号(期号)】:【起止页码】.
例:
[1] 高景德,王祥珩.交流电机的多回路理论[J].清华大学学报,1987,21(1):56-58.
[2] Heider,E.R.& D.C.Oliver.The structure of color space in naming and memory of two languages [J].Foreign Language Teaching and Research,1999,(3):62-67.
2.学术著作格式
【序号】【作者】.【学术著作书名[M]】.【出版地:出版社,出版年】:【起止页码】.
例:
[1] 竺可桢.物理学[M].北京:科学出版社,1973.
[2] Gill,R.Mastering English Literature [M].London:Macmillan,1985:56-58
3.会议论文集格式
【序号】【作者】.【篇名[C]】.【出版地:出版社,出版年份】:【起止页码】.
例:
[1] 伍蠡甫.西方文论选[C].上海:上海译文出版社,1979:12-17.
[2] Spivak,G. “Can the Subaltern Speak?”[A].In C.Nelson & L.Grossberg(eds.). Victory in Limbo:Imigism [C]. Urbana: University of Illinois Press, 1988, pp.271-313.
4.学位论文格式
【序号】【作者】.【篇名[D]】.【保存地】:【保存者】,【出版年份】:【起止页码】.
例:
[1] 张筑生.微分半动力系统的不变集[D].北京:北京大学,1983: 56-58.
5.专利文献格式
【序号】【专利所有者】.【专利题名[P]】.【专利国别】:【专利号】,【发布日期】.
例:
[1] 姜锡洲.一种温热外敷药制备方法[P].中国专利:881056073,1989-07-26.
6.报纸类
【序号】【作者】.【篇名[N]】.【报纸名】,【出版日期(版次)】.
例:
[6] 李大伦.经济全球化的重要性[N]. 光明日报,1998-12-27(3).
[7] French,W.Between Silences: A Voice from China[N]. Atlantic Weekly, 1987-8-15(33).
7.研究报告
【序号】【作者】.【篇名[R]】.【出版地】:【出版者】,【出版年份】:【起止页码】.
例:
[1] 冯西桥.核反应堆压力管道与压力容器的LBB分析[R].北京:清华大学核能技术设计研究院,1997:9-10.
8.国际、国家标准
【序号】【标准代号】.【标准名称[S]】.【出版地】:【出版者】,【出版年】.
例:
[1] GB/T 16159—1996.汉语拼音正词法基本规则[S].北京:中国标准出版社,1996.
9.条例
【序号】【颁布单位】.【条例名称[Z]】.【发布日期】:【起止页码】.
例:
[1] 中华人民共和国科学技术委员会.科学技术期刊管理办法[Z].1991-06-05: 56-58.
10.译著
【序号】【原著作者】.【书名(版本) [M]】.【译者】,【出版地】:【出版社】,【出版年份】:【起止页码】.
例:
[1] RK 霍斯尼.谷物科学与工艺学原理(第2版)[M].李庆龙译,北京:中国食品出版社,1989: 56-58.
著录格式可参考中华人民共和国国家标准GB7714-87《文后参考文献著录规则》。
说明:
1.参考文献中标点符号均为“半角”;
2.参考文献内容另起空一行用小4号仿宋排列,序号用“ [1]、[2]……”的形式编排,引用著作和引用文章时的注文顺序同注释。行距1.5倍。
3.参考文献(即引文出处)的类型以单字母方式标识:M——专著,C——论文集,N——报纸文章,J——期刊文章,D——学位论文,R——报告,S——标准,P——专利;对于不属于上述的文献类型,采用字母“Z”标识。
样式:
[1] 高景德,王祥珩.交流电机的多回路理论[J].清华大学学报,1987,21(1):56-58.
[2] Heider,E.R.& D.C.Oliver.The structure of color space in naming and memory of two languages [J].Foreign Language Teaching and Research,1999,(3):62-67.
[3] 竺可桢.物理学[M].北京:科学出版社,1973:56-58.
[4] Gill,R.Mastering English Literature [M].London:Macmillan,1985: 56-58.
[5] 伍蠡甫.西方文论选[C].上海:上海译文出版社,1979:12-17.
[6] Spivak,G. “Can the Subaltern Speak?”[A].In C.Nelson & L.Grossberg(eds.). Victory in Limbo:Imigism [C]. Urbana: University of Illinois Press, 1988:271-313.
[7] 张筑生.微分半动力系统的不变集[D].北京:北京大学,1983:56-58.
[8] 姜锡洲.一种温热外敷药制备方法[P].中国专利:881056073,1989-07-26.
[9] 李大伦.经济全球化的重要性[N].光明日报,1998-12-27(3).
[10] French,W.Between Silences: A Voice from China[N]. Atlantic Weekly, 987-8-15(33):56-58.
附录三
课程设计成绩评定表
课程名称程序设计课程设计
选题名称
学生姓名班级学号
课设工作简介绍和自我评价
质量评价指标(在相应栏目打分,由指导教师填写))
评 价 项 目评 价 质 量
满分得分评价标准
工作态度10按时上课,遵守各项纪律,刻苦努力,具有良好的工作态度。
程序运行质量30能独立进行编程调试工作,程序运行正确、可靠。
答辩质量20对程序内容熟悉,能正确回答老师提出的问题。
报告质量40能独立查阅相关文献;报告内容完整,篇幅合乎要求;论述充分, 结论严谨合理。
评定成绩(百分制)
指导教师签名
2020年6月 26日