大一下学期C++实训任务书

主意 本文本只是由于记录我的c++实训的项目情况,后面在暑假更新本次的实训代码
软件学院实训任务书

一、实训名称
实践环节 C++综合实训
项目名称 快捷店会员管理系统
二、授课对象
数媒技术20-01班。
三、实训目的
通过本课程综合实训,让学生独立完成一个具有一定规模的C++程序,使学生巩固C++程序设计的基本知识,掌握C++面向过程的基本方法和思想,培养学生利用C++进行程序设计的基本能力。
(1)能够通过文献查阅、进行需求分析,借助算法研讨理解工程问题解决方案的多样性,从现有文献寻求解决实际工程问题的方法。
(2)能够根据项目需求分析,进行模块/子系统设计与实现,并有意识地尝试新技术、新方法。
(3)能够用精练简洁规范的文字、清晰的图表表达自己的设计思想和实现结果,正确绘制图表,分析测试结果,并给出最终结论。
四、实训内容

  1. 项目描述
    利用类的继承、成员函数、函数调用以及相关算法建立链表,设计快捷店会员的简单管理系统;系统的各个功能模块要求用函数的形式实现;提供一个界面来调用各个功能;调用界面和各个功能的操作界面应尽可能清晰美观。
  2. 系统设计说明
    设计快捷店会员的简单管理系统。基本要求如下:
    (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)中的指针数组,在屏幕上输出会员的排序结果。
    五、实训要求
  3. 用Visual C++ 6.0或DEV C++开发。
  4. 需求分析分组完成。其余任务个人真实地、独立地完成。
  5. 需求分析:根据题目进行需求分析,分析项目的可行性,包括功能分析、技术可行性、安全可行性以及经济可行性。
  6. 系统设计:依据需求分析结果,设计系统方案。分析比较几种可行方案,选择最优方案,完成系统设计。
  7. 系统实现:
    (1)用C++语言设计系统界面,界面要简洁易懂。
    (2)功能实现:根据实际需求对系统进行改进或者进行模拟。
    (3)鼓励需求创新,实现更多功能。
    (4)规范编码:变量名、函数名、类名应规范,语句嵌套采用缩进格式;利用面向对象的设计方法,清楚注释程序中每个类的说明、变量说明、成员函数的功能说明、函数返回值的含义,以及程序中功能语句块的具体含义。
  8. 系统测试:对系统进行简单测试,并根据结果进行分析完善系统。
  9. 撰写规范的实训报告:应包含软件需求分析;软件规格说明和设计要求;对数据的管理方案;设计思路和整体框架;各功能或者模块实现的思路(或者用带注释的程序代替)并交待模块之间的接口关系;系统设计的结果(可以用一些屏幕拷贝的图来补充说明)。
  10. 性能需求:
    应用程序具备健壮性、稳定性和好的移植性。
  11. 设计的系统能够运行,提交源程序、实训日志和实训报告。
    六、进度安排
    天/日期 任务描述 通过标准
    第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. 项目描述
    利用类的继承、成员函数、函数调用以及相关算法建立链表,设计快捷店会员的简单管理系统;系统的各个功能模块要求用函数的形式实现;提供一个界面来调用各个功能;调用界面和各个功能的操作界面应尽可能清晰美观。
  2. 系统设计说明
    设计快捷店会员的简单管理系统。基本要求如下:
    (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)中的指针数组,在屏幕上输出会员的排序结果。
    五、实训要求
  3. 用Visual C++ 6.0或DEV C++开发。
  4. 需求分析分组完成。其余任务个人真实地、独立地完成。
  5. 需求分析:根据题目进行需求分析,分析项目的可行性,包括功能分析、技术可行性、安全可行性以及经济可行性。
  6. 系统设计:依据需求分析结果,设计系统方案。分析比较几种可行方案,选择最优方案,完成系统设计。
  7. 系统实现:
    (1)用C++语言设计系统界面,界面要简洁易懂。
    (2)功能实现:根据实际需求对系统进行改进或者进行模拟。
    (3)鼓励需求创新,实现更多功能。
    (4)规范编码:变量名、函数名、类名应规范,语句嵌套采用缩进格式;利用面向对象的设计方法,清楚注释程序中每个类的说明、变量说明、成员函数的功能说明、函数返回值的含义,以及程序中功能语句块的具体含义。
  8. 系统测试:对系统进行简单测试,并根据结果进行分析完善系统。
  9. 撰写规范的实训报告:应包含软件需求分析;软件规格说明和设计要求;对数据的管理方案;设计思路和整体框架;各功能或者模块实现的思路(或者用带注释的程序代替)并交待模块之间的接口关系;系统设计的结果(可以用一些屏幕拷贝的图来补充说明)。
  10. 性能需求:
    应用程序具备健壮性、稳定性和好的移植性。
  11. 设计的系统能够运行,提交源程序、实训日志和实训报告。
    六、进度安排
    天/日期 任务描述 通过标准
    第1天 包括功能需求和非功能需求的分析、定义、评审,以及可能出现的需求变更与控制;
    软件规格说明和设计要求。 能够通过查阅和利用文献,能够参与讨论,总结系统需求。需求分析文档规范、合理。
    构思思路和整体框架;
    给出各种类的命名和定义(即数据成员定义,成员函数或友元函数声明),给出类的继承路径图示,设计普通函数的框架(命名,考虑参数的类型和个数,即考虑数据之间的传递关系);
    设计被系统调用的main函数;
    设计界面函数。 能够根据项目需求分析,提出项目设计方案,完成系统设计、代码设计。
    设计方案,设计思路、实验(论证)方法无原则性错误。
    第2-5天 对所有类的成员函数或友元函数进行具体的定义,实现所要求的相关功能模块。 函数调试通过,其相关子功能能够实现。
    第6-9天 对主函数需要直接调用的所有普通函数进行具体的定义,实现所要求的相关功能模块。 函数调试通过,其相关子功能能够实现。
    第10-11天 设计数据录入会员卡中,从键盘读数据到链表中。 数据录入正确,各个功能模块相互协调,并能正确实现;
    界面简洁实用。
    各功能模块的功能优化。
    第12-13天 实训报告包括系统分析、系统设计、系统实现、系统测试和实训感想等。 论述基本完整,条理基本清晰,有一定逻辑性。图、表、文字表述较规范。成果形式基本规范,内容完整。实训报告字数不少于5000字。
    第14天 验收程序、讨论、成果提交。 汇报基本简明扼要,思路不够清晰;关键技术表达准确。
    基本问题回答准确,基本概念清楚。
    七、考核评价方式
    本课程采用“目标+环节+报告”的考核方式,围绕课程目标达成情况,从实训过程、项目代码和实训文档质量等几个方面进行考核,成绩评定依据实训日志成绩(10%)、实训验收成绩(60%)和实训报告成绩(30%)进行核定。最终成绩采用优秀、良好、中等、及格、不及格五级制。

完 成 期 限: 2021年06月06日
指导教师签名:
专业负责人签章:
2021年 05月 18日

猜你喜欢

转载自blog.csdn.net/blastospore/article/details/118083511