1 项目描述
学校有一百个普通学生,每个学生有一个饭卡,可以给刷卡和充值
有10个研究生,研究生比普通学生增加了新的变量:工资wage
每个学生都可以到饭堂点菜
饭堂有10个员工,员工也持有一个饭卡,可以点菜,但是在原有的菜价的基础上优惠10%
员工和学生的饭卡中的余额初始化为随机数50-200元之间
2 系统逻辑
用户(普通学生,研究生或者员工)通过终端输入姓名,登录成功后显示该用户的对应信息
登录成功后列出菜单等待点菜,点菜成功后显示余额。
3 要求
使用面向对象方法来编程
学生学号和姓名使用const成员
使用vector容器来存储菜单
4 分析
[饭卡]
属性: 余额
方法: 刷卡 充值 显示余额
[普通学生] 继承 [饭卡]
属性: 学号 姓名
方法: 点菜 login 显示信息
[研究生] 继承 普通学生
属性:工资wage
方法:显示信息
[员工] 继承 [饭卡]
属性: 姓名
方法:点菜 login 显示信息
[饭堂]
属性: 菜单(菜名, 菜价)
方法: 列出菜单 获取菜价
5 系统时序
-
登录
-
显示该用户的对应信息
-
列出菜单
-
点菜
-
显示余额。
6 系统框架

7 类的编写
根据框架图,整理类之间的关系,实现每个类中的属性和方法,再实例化,代码如下:
typedef struct _MENU
{
string name;//菜名
float price;//菜价
}Menu;
//饭堂
class cateen
{
private:
static Menu menu[5];//菜单
public:
//罗列显示菜单
static void list()
{
cout<<"菜单名\t价格"<<endl;

最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



