C/C++《程序设计基础实践》任务书(3题)[2024-07-11]

C/C++《程序设计基础实践》任务书(3题)[2024-07-11]

《程序设计基础实践》任务书

《程序设计基础实践》是学生在学习完《程序设计基础》课程之后的一个综合性、设计性实践教学课程。要求学生在教师的指导下,综合运用已学过的程序设计知识和技能,完成一项较为完整、并具有一定难度的课程设计任务。通过实践,使学生掌握应用软件开发的基本方法和基本步骤,培养学生的程序设计综合能力,为培养学生结合专业进行应用软件开发的能力打下良好的基础。

一、时间及地点
时间:2022-2023学年度第2学期,机房安排:待定

二、实践任务和要求
课程实践是在完成“自主实验”基础上,运用“结构化程序设计”方法,从所给定的题目中选择其中一题,完成一个适当规模的应用程序的设计与开发,并撰写报告文档。具体要求:
1–小组方式,原则上每组两人,若特殊情况经老师同意最多三人,自由分组,班长协调。
2–每组提交电子作品压缩文件(包括:源程序文件、数据文件、实践报告),压缩文件命名为“班级组号”,例如“2020软卓1班01组”。
2–提交时间:在规定时间(17周前),由班长统一收集后递交老师批改。

三、可选题目

源码联系UP主 -> https://space.bilibili.com/329101171

题目1 员工工资管理系统
(一)公司现状分析
1、公司主要有经理、技术员、销售员、销售经理4类岗位人员,他们都有基本信息:职工号、姓名、性别、部门、岗位、工龄、当月工资等。一个部门最多只能有一个销售经理,一个部门可以有多个销售员,一个部门可以有若干个经理和若干技术员。
2、员工数据包括基本资料数据和工资数据两部分,员工基本资料数据包括职工号、姓名、性别、部门、岗位、工龄;员工工资数据包括工作时间、小时工资、销售额、底薪、当月工资。
3、员工当月工资的计算办法。
A.经理:底薪(8000)+工龄×35;
B.技术员:工作时间×小时工资(100元每小时)+工龄×35;
C.销售员:销售额×4%提成+工龄×35;
D.销售经理:底薪(8000)+所辖部门销售额总额×0.5%+工龄×35。
现在需要开发一个公司员工工资管理系统对员工工资进行有效管理。
(二)系统的功能要求

  1. 数据维护管理:要求对员工的基本资料数据和工资数据分开管理。基本资料数据的维护管理功能包括添加(批量、单个)、修改、删除、查询等;工资数据的维护管理功能包括输入(批量、单个)、修改、删除、查询等。
    A. 基本资料数据的维护管理
    (1).添加:(批量、单个)添加员工基本资料数据。基本资料数据包括职工号、姓名、性别、部门、岗位、工龄。
    (2).修改:根据职工号来修改任意员工的除职工号外的其他基本资料数据。
    (3).删除:根据职工号删除一个员工。
    (4).查询:根据职工号查询一个员工的基本资料数据。
    B. 工资数据的维护管理
    (1).输入:(批量、单个)输入员工工资数据。工资数据根据员工类型的不同而有区别,输入的相关数据也应不同。注意:当月工资是计算项,不能输 入。
    (2).修改:根据职工号来修改任意员工的相关工资数据(注意:不同类别员工相关数据不同)。
    (3).删除:根据职工号删除一个员工(不能删除,只需将相关数据项设置成-1)。
    (4).查询:根据职工号查询一个员工的工资数据。
    (5).计算:批量计算所有技术员、销售员和销售经理的当月工资额。注意,① 销售经理所辖部门销售额总额为本部门所有销售员当月销售额之和。② 只有各项数据都为有效数据时(-1为无效数据),才能计算。
  2. 查询数据
  1. 分页显示全部员工的信息。分页功能:每页显示10条员工的信息,有上一页、下一页、首页和最后一页的功能。
  2. 按部门显示本部门全部员工信息。注意:无需分页显示。
  3. 分类显示4种岗位的员工信息。注意:无需分页显示。
  4. 根据工号或者姓名查询员工信息。
  1. 排序:
  1. 所有员工信息按当月工资从高到低排序并显示。注意:无需分页显示。
  2. 某个岗位的员工信息按当月工资从高到低排序并显示。注意:无需分页显示。
  1. 统计:
  1. 统计并显示某个部门的平均工资、最低工资、最高工资。
  2. 统计并显示某个部门超出平均工资的人数与员工信息。注意:无需分页显示。
  3. 统计并显示所有员工中的最低工资和最高工资员工的信息。
  4. 统计并显示所有员工超出平均工资的人数与员工信息。注意:无需分页显示。
    (三)系统的实现技术要求
  1. 员工用结构体表示,全体员工用一个链表来表示。某一岗位的员工,可以只使用员工结构体的部分成员,比如:经理只使用基本信息成员,而不使用销售额成员、工作时间成员。
  2. 必须用文件来存储员工信息:开始运行程序时从文件中读取员工信息到链表,退出程序时将员工信息保存到文件中。
  3. 主菜单有一个菜单项能够将员工信息保存到文件。
  4. 数据约束:
  1. 职工号:整型、不能重复、从1开始依次递增、由软件自动计算产生,不能修改。
  2. 岗位:枚举类型,分别表示经理、技术员、销售员、销售经理。
  3. 员工的其他信息不能为空。
  4. 其他:至少有两层菜单。

题目2 学生成绩管理系统
(一)学校现状分析
1、某学校有本科生和研究生两类学生,学生信息包括基本资料数据和成绩数据两部分。
A.本科生:基本资料数据包括学号、姓名、性别、专业、班级,学号自动生成,其他全部是输入项;成绩数据包括高数成绩、英语成绩、C语言成绩、总成绩、班级排名、校级排名,其中:高数成绩、英语成绩、C语言成绩为输入项,总成绩、班级排名、校级排名是计算项,班级排名是总成绩在班内的名次,校级排名是总成绩在校内的名次。
B.研究生:基本资料数据包括学号、姓名、性别、专业、班级、研究方向、导师,学号自动生成,其他全部是输入项;成绩数据包括课程综合成绩、论文成绩、总成绩、班级排名、校级排名,其中:课程综合成绩、论文成绩为输入项,总成绩、班级排名、校级排名是计算项,班级排名是总成绩在班内的名次,校级排名是总成绩在校内的名次。
2、现在需要开发一个学生成绩管理系统对学生成绩进行有效管理。
(二)系统的功能要求

  1. 数据维护管理:要求对学生的基本资料数据和成绩数据分开管理。基本资料数据的维护管理功能包括添加(批量、单个)、修改、删除、查询等;成绩数据的维护管理功能包括输入(批量、单个)、修改、删除、查询等。
    A. 基本资料数据的维护管理
    (1).添加:(批量、单个)添加学生基本资料数据。本科生的基本资料数据包括学号、姓名、性别、专业、班级,学号自动生成,其他全部是输入项。研究生的基本资料数据包括学号、姓名、性别、专业、班级、研究方向、导师,学号自动生成,其他全部是输入项
    (2).修改:根据学号来修改任意学生的除学号外的其他基本资料数据。
    (3).删除:根据学号删除一个学生。
    (4).查询:根据学号查询一个学生的基本资料数据。
    B. 成绩数据的维护管理
    (1).输入:(批量、单个)输入学生成绩数据。成绩数据根据学生类型的不同而有区别,输入的相关数据也应不同。注意:总成绩、班级排名、校级排名是计算项,不能输入。
    (2).修改:根据学号来修改任意学生的相关成绩数据(注意:不同类别学生相关数据不同)。
    (3).删除:根据学号删除一个学生(不能删除,只需将相关数据项设置成-1)。
    (4).查询:根据学号查询一个学生的成绩数据。
    (5).计算:批量计算所有学生的总成绩、班级排名、校级排名。注意,只有各项数据都为有效数据时(-1为无效数据),才能计算。
  2. 排名功能
    A:班级排名:分本科生和研究生两类学生,计算每个学生总成绩在班级中的名次。
    B:校级排名:分本科生和研究生两类学生,计算每个学生总成绩在全校中的名次。
    说明:排名规则按体育竞赛规则,若出现两个并列第1名,下个名次为第3名,依此类推。
  3. 排序功能:分本科生和研究生两类人员,实现下列排序功能。
  1. 所有学生信息按总成绩从高到低排序并显示。
  2. 某个班学生信息按总成绩从高到低排序并显示。
  1. 查询功能:分本科生和研究生两类人员,实现下列查询功能。
  1. 分页显示全部学生的信息。分页功能:每页显示10条学生的信息,有上一页、下一页、首页和最后一页的功能。
  2. 能够按班级显示本班全部学生信息。注意:无需分页显示。
  3. 能够根据学号或者姓名查询学生信息。
  4. 能够在某个班级中查询某门课成绩不及格学生信息。注意:无需分页显示。
  1. 统计功能:分本科生和研究生两类人员,实现下列统计功能。
  1. 统计并显示某门课每个班的平均成绩。如果学生该门课没有成绩,则统计时忽略该生。
  2. 在某个班中统计并显示某门课程不同等级的学生人数。等级标准:优—成绩大于等于90;良—成绩大于等于80且小于90;中:成绩大于等于70且小于80;及格:成绩大于等于60且小于70;不及格:成绩小于60。
    (三)系统的实现技术要求
  1. 学生用结构体表示,本科生和研究生分别用两个链表来存储表示。
  2. 必须用文件来存储学生信息。
    A.建立本科生和研究生两个文件,分别存放两类学生的信息。
    B. 开始运行程序时,从文件中读取学生信息链入到两个不同的链表。
    C. 退出程序时将学生信息保存到不同的文件。
    D. 主菜单有一个菜单项能够将学生信息保存到文件。
  3. 数据约束:
  1. 学号:整型、不能重复、从1开始依次递增、由软件自动计算产生,不能修改。
  2. 性别:男和女,必须使用枚举类型。
  3. 各种成绩:整型,取值范围为0-100。-1表示未有此项成绩。
  4. 其他:至少有两层菜单。

题目3 网吧收费管理系统
(一)系统的功能构成图

(二)系统的功能说明

序号 模块 功能 说明
1 卡管理 添加卡 输入卡号、密码、开卡金额等卡信息,将卡信息保存到data文件夹的card.txt文件中
2 查询卡 根据输入的卡号,查询卡号相同的卡信息,并以表格形式显示在控制台中
3 注销卡 根据输入的卡号、密码,将对应卡的状态改为注销,注销卡不能进行上机
4 计费标准管理 新增计费标准 输入计费标准的信息,将输入的计费标准保存到data文件夹的rate.txt文件中
5 查询计费标准 根据上机时间,查询对应的计费标准
6 删除计费标准 从计费标准文件data文件夹的rate.txt文件中,删除一条计费标准
7 修改计费标准 修改一条计费标准
8 计费管理 上机 根据输入的卡号、密码,判断该卡能否上机,如果能上机,则保存计费信息
9 下机 根据输入下机卡的卡号,进行下机结算操作
10 费用管理 充值 给一条已经存在的卡进行充值。
11 退费 将卡中余额返回给用户
12 查询统计 查询消费记录 查询一张卡在一段时间内的消费记录
13 统计总营业额 统计一段时间内,总营业额
14 统计月营业额 统计一年中,每个月上机次数、总营业额,将统计结果保存到文本文件中,并以列表形式显示在控制台中。
15 权限管理 添加管理员 超级管理员添加一个管理员信息
16 删除管理员 超级管理员删除一个管理员信息
17 配置权限 添加管理员时,配置管理员的权限
18 系统 登录 超级管理员和管理员登录系统
19 退出 超级管理员和管理员退出系统
(三)系统的实现技术要求

  1. 必须使用链表描述系统的数据结构,使用文件保存数据。
  2. 要求每一项功能的实现必须以函数调用的形式完成。

四、考核办法以及评分标准
成绩评定表
观测点 评分标准
A(90-100) B(80-89) C(60-79) D(0-59)
集成开发环境IDE与Office工具的使用情况
(权重0.20) 熟练使用集成开发环境IDE和Office工具开发程序、撰写报告,效果好。 较好使用集成开发环境IDE和Office工具开发程序、撰写报告,效果较好。 能使用集成开发环境IDE和Office工具开发程序、撰写报告,效果一般。 不能使用集成开发环境IDE和Office工具开发程序、撰写报告,效果较差。
解决方案、模块设计与结构化编程的完成情况
(权重0.60) 解决方案合理,模块设计正确,结构化编程质量高。 解决方案合理,模块设计正确,结构化编程质量较高。 解决方案基本合理,模块设计正确性一般,结构化编程质量一般。 解决方案不合理,模块设计正确性不高,结构化编程质量较差。
团队组织、配合与协作情况
(权重0.20) 团队组织合理,配合度好,协作完成质量高。 团队组织合理,配合度较好,协作完成质量较高。 团队组织基本合理,配合度一般,协作完成质量一般。 团队组织不合理,配合度较差,协作完成质量较差。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值