C/C++《程序设计基础(C语言)课程设计》[-04-20]
《程序设计基础(C语言)课程设计》
课程说明及动员
《程序设计基础(C语言)课程设计》指导教师组
目录
课程目的 >>课程要求 >>团队题目 >>实施方案 >>课程设计报告 >>考核与成绩评定方法 >>本学期实施安排 >>其他说明
课程目的
程序设计基础(C语言)课程设计是本科生
重要教学环节之一。通过本课程设计,强
化学生用程序设计语言分析问题和解决实
际问题的能力,提升C语言编程能力,使学
生验证、巩固和充实所学的理论知识,加
深对相关内容的理解,拓宽知识面,培养
学生的创新精神和实践能力
课程要求
自由组队,每组2-4人,1人担任组长。
每组选择一个题目,每班各组间题目不能
重复。
组长带领成员共同完成程序设计和开发任
务,要求每人都应独立设计和开发若干个
模块,每人编写的有效源代码应在200行以
上。同时读懂其他组员完成的内容。
课程要求
可对照“第10章 对文件的输入输出.ppt”
自学教材第10章“对文件的输入输出”内
容,并在课程设计中进行应用
进一步掌握C语言的数据类型、基本结构、
结构体、文件、链表、结构化、模块化设
计等知识点。
从书上或网上查阅相关资料,自学具体编
程过程中涉及的相关知识。
课程要求
以结构体设计数据的结构,采用动态链表、
文件存储方式,结构化、模块化程序设计
方法,设计一个功能完善的系统 ,要有功
能菜单。
课程要求
具体要求——功能要求
·所有实现的程序应具有以下功能:
1 数据维护
数据的增加、修改、删除
2 数据查询
简单查询:也称精确查询,按单一条件进行精确查询,例
如查询姓名为“张三”的学生
组合查询:按照多个属性进行查询,例如查询学号为
“226001”并且课程名为“高数”的成绩
模糊查询:也称包含查询,例如查询姓名中带有“超”的
学生
课程要求
具体要求——功能要求
·所有实现的程序应具有以下功能:
3 排序(包括升序、降序)
按单一属性排序:
如按照学号进行升序或者降序排序
按照成绩进行升序或者降序排序
按多属性排序:
如按照班级、学号进行排序,结果示例如下:
1班 李四 男 河北
1班 王五 女 辽宁
1班 张三 男 江苏
2班 刘七 男 黑龙江
2班 赵六 男 山东
课程要求
具体要求——功能要求
·所有实现的程序应具有以下功能:
4 统计
统计指根据用户输入的条件对数据进行汇总
按单一属性统计:如按性别统计人数;
统计不及格学生数
按多属性统计:如按班级、性别统计人数;
统计1班、高数不及格学生数
课程要求
具体要求——功能要求
·所有实现的程序应具有以下功能:
5 系统维护
密码维护:密码修改、密码找回等
数据备份:将存储数据的文件作为备份文件,
拷贝到指定文件夹
数据恢复:将备份文件再重新拷贝回原文件夹
6 帮助、退出系统
课程要求
具体要求——技术要求
·以文件存储数据
·程序由多个源程序文件和至少1个自编的头文件
(即 .h 文件)组成
·每位同学都应在自己编写的代码中用到以下技术:
文件的读写
采用结构体和动态链表进行数据操作
课程要求
具体要求——其他要求
·所作系统要符合实际应用场景
·所作系统有通用性、界面美观、操作方便
·要考虑系统安全,例如要使用账户、密码登录后
才能使用等。
课设题目
说明
·为方便各组同学更好完成课程设计任务,提供了
15个题目供大家选择
·各组可以从这15个题目当中选择题目,也可以自
行选择题目,但自选题目须经指导教师同意
·每班各小组题目应各不相同
·对于所要完成的题目,请各组同学在进行调查研
究基础上,根据实际工作生活需求进行程序编写,
如遇不清楚问题,可以上网查询、找相关人员咨询、
或与指导教师咨询
课设题目
>>题目1:学生成绩管理系统
·针对大学进行学生成绩进行管理,结合大学实际
情况进行开发,不能仅有几门固定的课程、几个固
定的老师。
·本系统应具有: 数据维护(添加、修改、删除)、
数据查询(可按学号、姓名、性别、民族、年龄、
地址、各门课程成绩等进行查询,也可组合查询)
排序、统计、输出、系统维护(数据备份、数据恢
复、密码维护)、帮助、退出等功能。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目2:通信管理系统
·针对通讯录以及通信情况进行管理。
·本系统应具有:联系人管理(建立、追加、删除、修改
等)、分组管理(新建分组、修改分组名称、删除分组
等)、通信管理(记录通信时间、通信事项等)、查询
(例如按姓名查询联系人等)、统计(例如统计某分组
下联系人的数量等)、排序、 系统维护、帮助、退出等
·注意:一个联系人可能有多个电话号码、多个地址、并
可能属于多个分组
·可以对通信情况进行维护,记录通信时间、通信事项等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目3:图书馆管理系统
·针对图书馆实际情况进行开发。
·各种数据的的维护(包括添加、修改、删除),
包括可以设置每类读者借书数量、借书时长等,例
如普通读者借书数量不超过5本,借期不超过30天;
银卡读者借书数量不超过10本,借期不超过60天等。
·各种数据的查询(例如按作者名、专业领域检索,
找出某读者的借阅信息、某本书的流通情况等)。
·办理借书、还书手续。
·每个图书的数量应有多册,不能只有一册。
·排序、统计、系统维护、帮助、退出等
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目4:订餐管理系统
·开发一个饭店订餐管理系统,实现对订餐信息的管理和统计功能。
·实现菜品的创建、分类、特价折扣、促销等管理功能。
·实现顾客管理,包括可以设置每类顾客的优惠程度等,例如一星
顾客95折、二星顾客9折、三星顾客85折等。
·实现订餐管理功能,一个订单中可包含多个菜品,一个菜品可订
多份。
·实现对当前的订单选择配送员配送、退单等常规操作管理,记录
配送时间。
·对订餐信息进行各种查询,如查询菜品名称、查询某价格区间菜
品等。
·对订餐信息进行各种统计,如统计销量最多的菜品(可按用户指
定的时间区间统计)等。
·排序、系统维护、帮助、退出等
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目5:工资管理系统
·选择一个企业,开发一个工资管理系统。
·可以对企业的部门、岗位、员工等信息进行数据维护,
(添加、修改、删除),企业可能会增减部门、岗位,
员工也可能调整部门和岗位。
·各种数据的查询(例如可按员工编号、姓名、基本工
资、岗位工资、绩效工资 、房改补助、奖励、应发工
资、公积金、扣税、实发工资等进行查询,也可进行
组合查询)
·排序、统计(例如统计某部门、某岗位员工的平均工
作等)、系统维护、帮助、退出等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目6:小型超市商品管理系统
·对一个小型超市的商品管理作一个简单的模拟。
·可以对商品类型、商品、顾客类型、顾客等信息进行
维护(包括添加、修改、删除),包括可以设置每类
顾客的优惠程度等,例如一星顾客95折、二星顾客9折、
三星顾客85折等;可以设置特价商品、促销等。
·各种数据的查询(例如对商品信息进行各种查询,如
查询商品名称、查询某价格区间商品等)。
·实现商品的进货、修改价格、销售等(注意:同一个
商品不同进货时间其进货价格可能是不同的)。
·排序、统计(例如统计指定的时间区间内销量最多的
商品等)、系统维护、帮助、退出等
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目7:学校运动会管理系统
·针对大学学校运动会比赛成绩进行管理。
·可对历届参加运动会的学院、男子竞赛项目、女子竞赛项
目、项目名次等信息进行维护(增加、删除、修改)。
(注:每届运动会参加学院及项目都可能有所不同)。
·各种数据查询,例如查询某届运动会某个项目的成绩等
·学院团体总分计算(教工团体、学生团体、学院总分等),
各项目名次取法有如下几种:取前5名,分别得分
7,5,3,2,1;取前3名,分别得分5,3,2;用户自定义,各
名次权值由用户指定。
·排序、统计(例如按照时间段统计某学院获得冠军的项目
数等)、系统维护、帮助、退出等
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目8:实验设备管理系统
·开发一个对实验设备进行管理的系统,实验设备信息
包括:设备编号、设备种类(如:微机、打印机、扫
描仪等),设备名称、设备价格、设备购入日期、是
否报废、报废日期等。每种设备可能购置多台,使用
设备编号进行区分。
·各种数据的维护(添加、修改、删除)。
·各种数据的查询(如查询设备基本信息,何时、多少
价格购置的设备等)。
·设备的破损耗费、遗失、损坏、报废等处理。
·排序、统计(如统计某种类型设备的数量、统计用户
指定的时间区间内新购买或者报废的各种类型的设备
数量等)、系统维护、帮助、退出等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目9:会员卡计费系统
·开发一个会员卡计费管理系统。
·新会员登记(将会员个人信息及会员卡信息进行录入);
·会员信息维护、会员等级、不同等级享受折扣信息的维护;
·会员续费。(会员出示会员卡后,管理人员根据卡号查找到该
会员的信息并显示,此时可以进行续费,续费后,提示成功,
并显示更新后的信息,根据续费金额,决定是否升级会员等级
以及升级到哪一级);
·会员使用会员卡消费、会员退卡、会员卡挂失;
·查询功能:查询会员信息、会员卡充值及消费记录(可按用户
指定的时间区间查询)等;
·排序、统计(统计会员缴费排序、消费排序(可按用户指定的
时间区间统计;统计某会员在指定的时间区间内消费总额等情
况)、系统维护、帮助、退出等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目10:银行存款管理系统
·对银行存款管理进行简单模拟。
·利率信息管理(活期利率、定期利率),利率是
变化的,不同时间利率是不同的。
·储户信息管理(一个储户可能有多笔不同类型存
款)
·利息计算
·储户存款方式更改提醒(如活期改定期、定期到
期提醒、利率变动时更改存款方式提醒)
·查询、统计、排序、系统维护、帮助、退出等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目11:酒店预订管理系统
·对酒店预订进行简单模拟。
·客房信息维护,包括客房价格修改,注意:客
房可能增减、客房的价格也会随时发生变动。
·客人预订及入住信息管理。
·各种查询(例如查询某客房某时间段是否空)、
排序、统计(例如统计某客人在酒店入住总天
数等)、系统维护、帮助、退出等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目12:租房管理系统
·对通过中介租房进行模拟。
·房源信息管理,注意:房源可能增减、房源的
价格也会随时发生变动。
·租户及租户入住信息管理。
·各种查询(例如查询某房源某时间段是否空)、
排序、统计(例如统计某租户总的租房情况
等)、系统维护、帮助、退出等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目13:旅游管理系统
·对旅游管理进行简单模拟。
·旅游线路管理:包括线路名称、线路简介、旅游日期、
人数、价格。注意:同一线路不同日期价格可能不同
·游客信息管理:包括游客姓名、性别、年龄、联系方
式等信息。
·游客参加旅游线路管理:游客可以选择参加某个旅游
线路。
·各种查询(如查询某线路尚余名额)、排序、统计
(例如统计某游客总花费等)、系统维护、帮助、退
出等功能。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目14:运动场馆预订管理系统
·对旅游管理进行简单模拟。
·运动场地管理:包括场地名称(如羽毛球场A、乒乓球
场B等)、开放时间、计费时长、价格。注意:场地可
能增减、同一场地的租金在不同时间段可能不同。
·用户信息管理:包括用户姓名、联系方式等信息。
·场地租用管理:用户可以租用某段时间的一块或多块
运动场地。
·各种查询(如某块场地某个时间段是否空余等)排序、
统计(如统计某场地某段时间内出租的时间)、系统
维护、帮助、退出等功能。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
课设题目
>>题目15:飞机航班预订管理系统
·对航班预订进行简单模拟。
·飞机航班管理:包括飞机航班编号、起飞地、目的地、
起飞时间、到达时间、人数、价格等(可以假设每个航
班每天都执行飞行)。注意:同一航班同一日期的价格
也可能随时发生变化
·旅客信息管理:包括旅客姓名、身份证号码、联系方式
等信息。
·航班预订管理:旅客可以预订某天某个航班的一张或多
张机票。
·各种查询(如某天某个航班是否有空余座位等)、排序、
统计(如统计某旅客乘坐飞机的次数)、系统维护、帮
助、退出等。
·可增加其他有用的功能。
源码
/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
项目开发说明
选题
注意事项
实施过程
实施方法
1.注意事项
必修实践课 32学时
(1)珍惜机会,多掌握处理问题途径与方法
(2)遇到问题,查资料,独立分析解决
(3)按时保质保量完成任务
(4)团结互助
实施方法
2.选择课题
(1)教师规定题目
(2)自拟题目
实施方法
实施方法
功能要完整齐全
·增加、修改、删除、查询、统计、排序、系统维护等
要考虑操作方便性
·如学生成绩管理系统,之前有学生提交的项目中,每
次录入一门课程的成绩,都要把所有学生的学号、姓
名重新输入一遍,非常不方便,而且容易出错
要注意非法数据录入问题
·如学生成绩管理系统,如果学生成绩录入-50和120分,
是否能够录入成功。
3.项目开发说明 重要!
实施方法
尽量与现实相符
·如通讯管理中,一个联系人是可以存储多个电话的
·如银行存款管理中,银行利率是不断变化的
·如成绩管理中,成绩是按课程以班为单位进行录入的,
录入时仅录入成绩即可,不需要再录入一遍学生信息
·如工资管理中,有些项是计算生成的,如公积金、扣
税等;有些是固定的,不用每次录入,如职务工资、
岗位津贴等,只有少数项需要录入
·如图书馆管理中,每个书是有多册的
3.项目开发说明 重要!
4.实施过程
分组及题目确定(第1次课程结束前)
学生自主进行分组及确定题目,
由学委统计后报给指导老师
实施方法
4.实施过程
分组确定(第1次课程结束前)
总体设计
分析课题应完成的功能、性
能和约束条件,画出软件总
体模块结构图,进行数据结
构的设计,并进行任务分工。
实施方法
4.实施过程
分组确定(第1次课程结束前)
总体设计
详细设计
对自己分得的任务或模块进
行详细的算法设计,画出每
个模块的流程图。
实施方法
4.实施过程
分组确定(第1次课程结束前)
总体设计
编写程序
根据每个模块的流程图设计出对应的程
序,并进行上机调试。每个学生编写的
程序应存放在一个单独的文件中,并进
行单独编译和调试。
详细设计
实施方法
4.实施过程
分组确定(第1次课程结束前)
总体设计
编写程序
小组组装调试
建立一个项目文件,将每个组员编写的
文件添加到该项目文件中,然后录入足
够的数据进行调试和测试。
详细设计
实施方法
4.实施过程
分组确定(第1次课程结束前)
总体设计
小组组装调试
教师验收
学生以开发小组为单位,通过教
师验收,并逐个进行答辩。
详细设计
编写程序
实施方法
4.实施过程
分组确定(第1次课程结束前)
总体设计
上交报告
详细设计
编写程序
小组组装调试
教师验收
课程设计结束后2周内,以小组为单
位提交课程设计报告,同时提交程
序文件、项目文件、其他相关文件。
实施方法
课程设计报告
课程设计报告是课程设计过程的总结,是
评定课程设计成绩的重要依据。课程设计
报告应包含如下内容:课程设计目的、意
义、课程设计内容、课程设计体会、程序
开发文档、遇到的问题及解决方案。要求
上交课程设计报告。
课程设计报告是对课程设计过程的总结及升华。
包括如下内容:
1.概述
1)课程设计题目
2)课程设计目的
更深入地理解和掌握课程教学中的
有关基本概念,应用基本技术解决
实际问题从而进一步提高分析问题
和解决问题的能力。
课程设计报告
课程设计报告是对课程设计过程的总结及升华。
包括如下内容:
1.概述
1)课程设计题目
2)课程设计目的
3)课程设计具体要求
本次课程设计所需要的软、硬件环境,需要
灵活运用哪些基本知识与技能,弄清哪些知
识点尚未掌握,需要查阅相关资料。
课程设计报告
2.软件需求分析
依据所选的设计题目的具体要求和自己的经验
应达到哪些性能的要求(即性能需求)和约束条件
(比如,软硬件环境的限制、内存大小的限制等)。
参考类似的软件系统
分析该软件系统应实现哪些功能,即功能需求
课程设计报告
3.总体设计
又称为概要
设计
根据需求分析结果,阐述本软件系统整体设计思路
进行总体数据结构的设计的叙述
画出该软件系统总体模块结构图
说明该软件系统主要有哪些特点,具备哪几大功能
你在设计过程中主要承担了哪几部分的设计工作,
主要解决了哪些关键性问题。
课程设计报告
4.详细设计
主要详细叙述你自己承担部分的那些模块的算法和
数据结构
这部分每个学生不得雷同,是考查水平的重点。
应画出每个模块的算法流程图
配合界面抓图和文字说明进行描述
课程设计报告
5.程序调试与测试
模块进行编译、以及整个连接时所出现的各种错误、
这些错误是如何解决的
在调试程序时,应记录出现的错误,并对出错场景
进行抓图,以便写报告时使用
课程设计报告
6.总结与体会
总结一下你设计的程序是否达到了设计题目的要
求,功能是否完善,有何特点,有什么不足之处。
在设计过程中你遇到了什么困难,是怎样解决的,
通过本次程序实践你得到了哪些收获,写出你的
心得体会。
课程设计报告
7.结束语
对设计过程中曾给自己以直接帮助的教师,实验
人员表示谢意
这不仅是一种礼貌,也是对他人劳动的尊重,是治
学者应有的思想作风。
课程设计报告
8.程序清单
不必列出整个软件系统的程序清单,程序要具有易读
性,即必须有足够的中文注释,在每个模块的开头,主
要语句的后边,都要加注释
程序应符合结构化程序设计原则,不得使用goto语句。
课程设计报告
参考文献
写出参考资料的[1]作者.名称.出版地:出版
社.出版年.等。
课程设计报告
考核与成绩评定
成绩等级分为5个等级:优秀、良好、中等、
及格和不及格。
从课程设计过程中的表现、程序验收结果和课
程设计报告撰写等方面评定各组成绩,根据完
成课程设计作品的难度、独立性及质量等方面
综合考虑进行成绩评定
程序验收从功能、界面、实用性、健壮性等方
面衡量,并有现场提问和现场程序编写等环节
课程设计报告主要考察内容、逻辑、格式等方
面
考核与成绩评定
注意事项
·必须分组完成,如果自己一个人为一组,则最
高成绩为良
·按照各组成员工作量比例和各自在课程设计过
程中的表现进行各组成员成绩的评定
·不允许抄袭
本学期实施安排
验收安排
·分两步进行验收:提交录屏、线下验收
·提交录屏:每组通过录屏方式展示其所完成的
系统,将系统相关功能的操作过程进行录屏讲
解,并按照要求的时间发给各班指导教师
·线下验收:在最后1-2次上机时间进行线下验
收,每个班级自行协商验收顺序。
其他说明
课程设计课件下载
·到各自班级对应的QQ群或BB平台中下载
课程设计报告提交
·到BB平台中,选择“--2-程序设计基
础(C语言)课程设计”,到“课程设计报告”
中提交。每组仅由组长提交一份即可。