定制魏:QTWZPW ,获取更多源码等
目录
题目
学校拟开发一套食堂菜品管理系统,以便对菜品和同学们的评价进行管理,其中包含如下信息:
商户:商户名称、柜面位置、电话……
菜品:菜品编号、菜品名称、价格、所属商户……
学生:注册账号、昵称、电话……
食堂里的商户均不同名,一个商户可以提供多样菜品;食堂对所有商户的菜品进行编号,每样菜品由其唯一的商户提供;学生可对菜品进行评价,系统要存储学生对菜品的评分、评价内容和评价时间。
基本要求包括:
提供用户操作的菜单和界面,用户至少可分为学生和商户两种类型。
设计相应的信息表,用于记录信息,如学生信息表、商户信息表、菜品信息表、评价信息表等,要求以文件的形式存储,格式可以自行设计。
商户可进行如下操作:
本商户信息的新增、查看、修改、删除等。
发布和更新菜品信息。
查询本商户菜品评价信息。
学生可进行如下操作:
个人信息的新增、查看、修改、删除等。
对各菜品信息、评价信息、统计信息(评分高低排序)的浏览。
对各菜品的评分和评价。
系统退出时,更新相应文件中的信息;当下次运行程序时,从文件读取所有信息。
功能模块设计
商户模块功能设计
- 商户信息管理:
- 商户信息增加:商户可以添加新的商户信息,包括商户名称、柜面位置和联系电话。
- 商户信息查看:商户可以查看已注册商户的详细信息。
- 商户信息修改:商户可以修改已注册商户的柜面位置和联系电话信息。
- 商户信息删除:商户可以删除已注册商户的信息。
- 菜品管理:
- 发布菜品:商户可以发布新的菜品信息,包括菜品编号、名称、价格等。
- 更新菜品信息:商户可以更新已发布菜品的信息,如修改菜品名称或价格。
- 删除菜品:商户可以删除已发布的菜品信息。
- 评价管理:
- 查看商户拥有菜品的评价:商户可以查看自己发布的菜品的评价信息,包括评价内容、评分和评价时间。
学生模块功能设计
- 学生信息管理:
- 学生信息增加:学生可以注册新的账号,包括用户名、昵称和联系电话。
- 学生信息查看:学生可以查看已注册的学生账号的详细信息。
- 学生信息修改:学生可以修改已注册的学生账号的昵称和联系电话信息。
- 学生信息删除:学生可以注销已注册的学生账号。
- 菜品浏览与评价:
- 查询菜品信息:学生可以浏览所有已发布的菜品信息,包括菜品编号、名称、价格等。
- 查询菜品评价信息:学生可以查看特定菜品的评价信息,包括评价内容、评分和评价时间。
- 查询菜品评分高到低排序:学生可以查看所有菜品按评分从高到低排序的列表。
- 对菜品评分和评价:学生可以对菜品进行评分和评价,包括输入评价内容和选择评分等级。
结构体设计
商户(Merchant)结构体设计
struct Merchant {
string name; // 商户名称
string location; // 柜面位置
string phone; // 联系电话
// 构造函数
Merchant(const string& n, const string& loc, const string& ph)
: name(n), location(loc), phone(ph) {}
};
菜品(Dish)结构体设计
struct Dish {
int id; // 菜品编号
string name; // 菜品名称
double price; // 价格
Merchant merchant; // 所属商户
// 构造函数
Dish(int i, const string& n, double p, const Merchant& m)
: id(i), name(n), price(p), merchant(m) {}
};
评价(Comment)结构体设计
struct Comment {
string content; // 评价内容
int rating; // 评分
string time; // 评价时间
// 构造函数
Comment(const string& cont, int rate, const string& t)
: content(cont), rating(rate), time(t) {}
};
学生(Student)结构体设计
struct Student {
string username; // 注册账号
string nickname; // 昵称
string phone; // 电话
// 构造函数
Student(const string& user, const string& nick, const string& ph)
: username(user), nickname(nick), phone(ph) {}
};
函数设计
商户信息管理函数设计
void addMerchant(); // 添加商户信息
void viewMerchant(); // 查看商户信息
void modifyMerchant(); // 修改商户信息
void deleteMerchant(); // 删除商户信息
addMerchant()
: 用于添加新的商户信息,根据用户输入创建新的商户对象并将其添加到商户信息列表中。viewMerchant()
: 用于查看已注册商户的详细信息,遍历商户信息列表并打印每个商户的名称、柜面位置和联系电话等信息。modifyMerchant()
: 用于修改已注册商户的柜面位置和联系电话信息,根据用户输入的商户名称查找对应的商户对象并更新其信息。deleteMerchant()
: 用于删除已注册商户的信息,根据用户输入的商户名称查找对应的商户对象并将其从商户信息列表中删除。
菜品管理函数设计
void publishDish(); // 发布菜品
void updateDish(); // 更新菜品信息
void deleteDish(); // 删除菜品
void viewMerchantComments(); // 查看商户拥有菜品的评价
publishDish()
: 用于发布新的菜品信息,根据用户输入创建新的菜品对象并将其添加到菜品信息列表中。updateDish()
: 用于更新已发布菜品的信息,根据用户输入的菜品编号查找对应的菜品对象并更新其名称和价格等信息。deleteDish()
: 用于删除已发布的菜品信息,根据用户输入的菜品编号查找对应的菜品对象并将其从菜品信息列表中删除。viewMerchantComments()
: 用于查看商户拥有菜品的评价信息,根据用户输入的商户名称查找该商户所拥有的菜品并