主意 本文本只是由于记录我的c++实训的项目情况,后面在暑假更新本次的实训代码
软件学院实训任务书
一、实训名称
实践环节 C++综合实训
项目名称 快捷店会员管理系统
二、授课对象
数媒技术20-01班。
三、实训目的
通过本课程综合实训,让学生独立完成一个具有一定规模的C++程序,使学生巩固C++程序设计的基本知识,掌握C++面向过程的基本方法和思想,培养学生利用C++进行程序设计的基本能力。
(1)能够通过文献查阅、进行需求分析,借助算法研讨理解工程问题解决方案的多样性,从现有文献寻求解决实际工程问题的方法。
(2)能够根据项目需求分析,进行模块/子系统设计与实现,并有意识地尝试新技术、新方法。
(3)能够用精练简洁规范的文字、清晰的图表表达自己的设计思想和实现结果,正确绘制图表,分析测试结果,并给出最终结论。
四、实训内容
- 项目描述
利用类的继承、成员函数、函数调用以及相关算法建立链表,设计快捷店会员的简单管理系统;系统的各个功能模块要求用函数的形式实现;提供一个界面来调用各个功能;调用界面和各个功能的操作界面应尽可能清晰美观。 - 系统设计说明
设计快捷店会员的简单管理系统。基本要求如下:
(1)定义人民币RMB类(数据成员包括元,角,分三个整型变量),实现人民币的基本运算(对操作符+和-运算进行重载)和显示(显示元,角,分)。
(2)定义会员member类,表示会员的基本信息,包括:编号(按建立会员的顺序自动生成),姓名,密码,电话。提供输入、输出信息等功能。
(3)由RMB类和member类共同派生一个会员卡memberCar类(含有memberCar类型next指针变量),提供新建会员、充值、消费和查询余额等功能。
(4)main函数定义一个memberCar类链表,保存会员卡,模拟一个快捷店的会员卡管理功能,主要包括:
(1) 新建会员(检查输入的会员电话号码是否已经存在;若存在,则表示已经有该会员,需要重新输入会员信息),则为该会员建立会员卡,将该会员卡所表示的对象插入memberCar类链表表尾;
(2) 已有会员充值(需要对充值进行非负性检查);
(3) 已有会员消费(凭密码,不能透支);
(4) 输出快捷店当前会员数,当前所有会员的消费总额,所有会员卡剩余的额度总数;
(5) 遍历链表,输出所有会员卡的信息(不能输出会员个人密码);
(6) 建立一个文本文件“member.txt”,将所有会员信息存入该文件中;
(7) 建立一个二进制文件“member.dat” ,将所有会员信息存入该文件中;
(8) 设计一个函数,用以打开(6)中已建立的文件,读取所有会员信息,并在屏幕上输出所有会员信息。
任选项
(9) 建立指针数组,初始化指针数组,存储链表中每个会员对象的地址;对链表中的每个会员按照消费额度按照从小到大进行排序(要求不能改变链表的逻辑结构),并将排序后的会员对象的地址存在指针数组中;
(10) 利用(9)中的指针数组,在屏幕上输出会员的排序结果。
五、实训要求 - 用Visual C++ 6.0或DEV C++开发。
- 需求分析分组完成。其余任务个人真实地、独立地完成。
- 需求分析:根据题目进行需求分析,分析项目的可行性,包括功能分析、技术可行性、安全可行性以及经济可行性。
- 系统设计:依据需求分析结果,设计系统方案。分析比较几种可行方案,选择最优方案,完成系统设计。
- 系统实现:
(1)用C++语言设计系统界面,界面要简洁易懂。
(2)功能实现:根据实际需求对系统进行改进或者进行模拟。
(3)鼓励需求创新,实现更多功能。
(4)规范编码:变量名、函数名、类名应规范,语句嵌套采用缩进格式;利用面向对象的设计方法,清楚注释程序中每个类的说明、变量说明、成员函数的功能说明、函数返回值的含义,以及程序中功能语句块的具体含义。 - 系统测试:对系统进行简单测试,并根据结果进行分析完善系统。
- 撰写规范的实训报告:应包含软件需求分析;软件规格说明和设计要求;对数据的管理方案;设计思路和整体框架;各功能或者模块实现的思路(或者用带注释的程序代替)并交待模块之间的接口关系;系统设计的结果(可以用一些屏幕拷贝的图来补充说明)。
- 性能需求:
应用程序具备健壮性、稳定性和好的移植性。 - 设计的系统能够运行,提交源程序、实训日志和实训报告。
六、进度安排
天/日期 任务描述 通过标准
第1天 包括功能需求和非功能需求的分析、定义、评审,以及可能出现的需求变更与控制;
软件规格说明和设计要求。 能够通过查阅和利用文献,能够参与讨论,总结系统需求。需求分析文档规范、合理。
构思思路和整体框架;
给出各种类的命名和定义(即数据成员定义,成员函数或友元函数声明),给出类的继承路径图示,设计普通函数的框架(命名,考虑参数的类型和个数,即考虑数据之间的传递关系);
设计被系统调用的main函数;
设计界面函数。 能够根据项目需求分析,提出项目设计方案,完成系统设计、代码设计。
设计方案,设计思路、实验(论证)方法无原则性错误。
第2-5天 对所有类的成员函数或友元函数进行具体的定义,实现所要求的相关功能模块。 函数调试通过,其相关子功能能够实现。
第6-9天 对主函数需要直接调用的所有普通函数进行具体的定义,实现所要求的相关功能模块。 函数调试通过,其相关子功能能够实现。
第10-11天 设计数据录入会员卡中,从键盘读数据到链表中。 数据录入正确,各个功能模块相互协调,并能正确实现;
界面简洁实用。
各功能模块的功能优化。
第12-13天 实训报告包括系统分析、系统设计、系统实现、系统测试和实训感想等。 论述基本完整,条理基本清晰,有一定逻辑性。图、表、文字表述较规范。成果形式基本规范,内容完整。实训报告字数不少于5000字。
第14天 验收程序、讨论、成果提交。 汇报基本简明扼要,思路不够清晰;关键技术表达准确。
基本问题回答准确,基本概念清楚。
七、考核评价方式
本课程采用“目标+环节+报告”的考核方式,围绕课程目标达成情况,从实训过程、项目代码和实训文档质量等几个方面进行考核,成绩评定依据实训日志成绩(10%)、实训验收成绩(60%)和实训报告成绩(30%)进行核定。最终成绩采用优秀、良好、中等、及格、不及格五级制。
完 成 期 限: 2021年06月06日
指导教师签名:
专业负责人签章:
2021年 05月 18日
软件学院实训任务书
一、实训名称
实践环节 C++综合实训
项目名称 快捷店会员管理系统
二、授课对象
数媒技术20-01班。
三、实训目的
通过本课程综合实训,让学生独立完成一个具有一定规模的C++程序,使学生巩固C++程序设计的基本知识,掌握C++面向过程的基本方法和思想,培养学生利用C++进行程序设计的基本能力。
(1)能够通过文献查阅、进行需求分析,借助算法研讨理解工程问题解决方案的多样性,从现有文献寻求解决实际工程问题的方法。
(2)能够根据项目需求分析,进行模块/子系统设计与实现,并有意识地尝试新技术、新方法。
(3)能够用精练简洁规范的文字、清晰的图表表达自己的设计思想和实现结果,正确绘制图表,分析测试结果,并给出最终结论。
四、实训内容
- 项目描述
利用类的继承、成员函数、函数调用以及相关算法建立链表,设计快捷店会员的简单管理系统;系统的各个功能模块要求用函数的形式实现;提供一个界面来调用各个功能;调用界面和各个功能的操作界面应尽可能清晰美观。 - 系统设计说明
设计快捷店会员的简单管理系统。基本要求如下:
(1)定义人民币RMB类(数据成员包括元,角,分三个整型变量),实现人民币的基本运算(对操作符+和-运算进行重载)和显示(显示元,角,分)。
(2)定义会员member类,表示会员的基本信息,包括:编号(按建立会员的顺序自动生成),姓名,密码,电话。提供输入、输出信息等功能。
(3)由RMB类和member类共同派生一个会员卡memberCar类(含有memberCar类型next指针变量),提供新建会员、充值、消费和查询余额等功能。
(4)main函数定义一个memberCar类链表,保存会员卡,模拟一个快捷店的会员卡管理功能,主要包括:
(1) 新建会员(检查输入的会员电话号码是否已经存在;若存在,则表示已经有该会员,需要重新输入会员信息),则为该会员建立会员卡,将该会员卡所表示的对象插入memberCar类链表表尾;
(2) 已有会员充值(需要对充值进行非负性检查);
(3) 已有会员消费(凭密码,不能透支);
(4) 输出快捷店当前会员数,当前所有会员的消费总额,所有会员卡剩余的额度总数;
(5) 遍历链表,输出所有会员卡的信息(不能输出会员个人密码);
(6) 建立一个文本文件“member.txt”,将所有会员信息存入该文件中;
(7) 建立一个二进制文件“member.dat” ,将所有会员信息存入该文件中;
(8) 设计一个函数,用以打开(6)中已建立的文件,读取所有会员信息,并在屏幕上输出所有会员信息。
任选项
(9) 建立指针数组,初始化指针数组,存储链表中每个会员对象的地址;对链表中的每个会员按照消费额度按照从小到大进行排序(要求不能改变链表的逻辑结构),并将排序后的会员对象的地址存在指针数组中;
(10) 利用(9)中的指针数组,在屏幕上输出会员的排序结果。
五、实训要求 - 用Visual C++ 6.0或DEV C++开发。
- 需求分析分组完成。其余任务个人真实地、独立地完成。
- 需求分析:根据题目进行需求分析,分析项目的可行性,包括功能分析、技术可行性、安全可行性以及经济可行性。
- 系统设计:依据需求分析结果,设计系统方案。分析比较几种可行方案,选择最优方案,完成系统设计。
- 系统实现:
(1)用C++语言设计系统界面,界面要简洁易懂。
(2)功能实现:根据实际需求对系统进行改进或者进行模拟。
(3)鼓励需求创新,实现更多功能。
(4)规范编码:变量名、函数名、类名应规范,语句嵌套采用缩进格式;利用面向对象的设计方法,清楚注释程序中每个类的说明、变量说明、成员函数的功能说明、函数返回值的含义,以及程序中功能语句块的具体含义。 - 系统测试:对系统进行简单测试,并根据结果进行分析完善系统。
- 撰写规范的实训报告:应包含软件需求分析;软件规格说明和设计要求;对数据的管理方案;设计思路和整体框架;各功能或者模块实现的思路(或者用带注释的程序代替)并交待模块之间的接口关系;系统设计的结果(可以用一些屏幕拷贝的图来补充说明)。
- 性能需求:
应用程序具备健壮性、稳定性和好的移植性。 - 设计的系统能够运行,提交源程序、实训日志和实训报告。
六、进度安排
天/日期 任务描述 通过标准
第1天 包括功能需求和非功能需求的分析、定义、评审,以及可能出现的需求变更与控制;
软件规格说明和设计要求。 能够通过查阅和利用文献,能够参与讨论,总结系统需求。需求分析文档规范、合理。
构思思路和整体框架;
给出各种类的命名和定义(即数据成员定义,成员函数或友元函数声明),给出类的继承路径图示,设计普通函数的框架(命名,考虑参数的类型和个数,即考虑数据之间的传递关系);
设计被系统调用的main函数;
设计界面函数。 能够根据项目需求分析,提出项目设计方案,完成系统设计、代码设计。
设计方案,设计思路、实验(论证)方法无原则性错误。
第2-5天 对所有类的成员函数或友元函数进行具体的定义,实现所要求的相关功能模块。 函数调试通过,其相关子功能能够实现。
第6-9天 对主函数需要直接调用的所有普通函数进行具体的定义,实现所要求的相关功能模块。 函数调试通过,其相关子功能能够实现。
第10-11天 设计数据录入会员卡中,从键盘读数据到链表中。 数据录入正确,各个功能模块相互协调,并能正确实现;
界面简洁实用。
各功能模块的功能优化。
第12-13天 实训报告包括系统分析、系统设计、系统实现、系统测试和实训感想等。 论述基本完整,条理基本清晰,有一定逻辑性。图、表、文字表述较规范。成果形式基本规范,内容完整。实训报告字数不少于5000字。
第14天 验收程序、讨论、成果提交。 汇报基本简明扼要,思路不够清晰;关键技术表达准确。
基本问题回答准确,基本概念清楚。
七、考核评价方式
本课程采用“目标+环节+报告”的考核方式,围绕课程目标达成情况,从实训过程、项目代码和实训文档质量等几个方面进行考核,成绩评定依据实训日志成绩(10%)、实训验收成绩(60%)和实训报告成绩(30%)进行核定。最终成绩采用优秀、良好、中等、及格、不及格五级制。
完 成 期 限: 2021年06月06日
指导教师签名:
专业负责人签章:
2021年 05月 18日