#include "StdAfx.h"
#include "Mainpanel.h"
#include "DoBuydetail.h"
Mainpanel::Mainpanel(void)
{
mainwindow();
}
Mainpanel::~Mainpanel(void)
{
}
void Mainpanel::mainwindow()
{
welcome();
while (1) {
cout << "请输入您的用户名:";
cin >> username;
cout << "请输入您的密码:";
cin >> password;
if (mydouser.checkuser(username, password))
{
cout << "尊敬的" << username << ",欢迎使用本软件。" << endl;
usergrade = mydouser.thistimeusergrade;
break;
}
else {
cout << "您输入的信息有误,请重新输入。" << endl;
}
}
if (usergrade == 0) {
adminwindow();
}
else {
userwindow();
}
}
void Mainpanel::welcome() {
cout << "\t\t***************************************************" << endl;
cout << "\t\t* *" << endl;
cout << "\t\t* 欢迎使用书店管理系统1.0 *" << endl;
cout << "\t\t* 作者:吕志海 *" << endl;
cout << "\t\t* 2020.5.27 *" << endl;
cout << "\t\t* *" << endl;
cout << "\t\t***************************************************" << endl;
}
void Mainpanel::adminwindow() {
int flag;
while (1) {
cout << "\t\t***************************************************" << endl;
cout << "\t\t* 1:查看个人信息请按1 *" << endl;
cout << "\t\t* 2:修改个人信息请按2 *" << endl;
cout << "\t\t* 3:维护用户资料请按3 *" << endl;
cout << "\t\t* 4:维护图书资料请按4 *" << endl;
cout << "\t\t* 5:维护书商资料请按5 *" << endl;
cout << "\t\t* 6:维护采购单资料请按6 *" << endl;
cout << "\t\t* 7:维护采购单详情资料请按7 *" << endl;
cout << "\t\t* 8:维护订单资料请按8 *" << endl;
cout << "\t\t* 9:维护订单详情资料请按9 *" << endl;
cout << "\t\t* 0:退出请按0 *" << endl;
cout << "\t\t***************************************************" << endl;
cout << "请输入数字选择对应的操作:";
cin >> flag;
if (flag == 0)
break;
else {
switch (flag) {
case 1:mydouser.displayoneself(); break;
case 2:mydouser.modifypassword(); break;
case 3:handlewindow(3); break;
case 4:handlewindow(4); break;
case 5:handlewindow(5); break;
case 6:handlewindow(6); break;
case 7:handlewindow(7); break;
case 8:handlewindow(8); break;
case 9:handlewindow(9); break;
default:cout << "输入有误,请重试!"; break;
}
}
}
cout << endl;
}
void Mainpanel::userwindow()
{
int flag;
while (1)
{
cout << "\t\t***************************************************" << endl;
cout << "\t\t* 1:查看个人信息请按1 *" << endl;
cout << "\t\t* 2:修改密码请按2 *" << endl;
cout << "\t\t* 3:查看图书信息请按3 *" << endl;
cout << "\t\t* 4:查看个人购书记录请按4 *" << endl;
cout << "\t\t* 0:退出请按0 *" << endl;
cout << "\t\t***************************************************" << endl;
cout << "请输入数字选择对应的操作:";
cin >> flag;
if (flag == 0)
break;
else {
switch (flag)
{
case 1:mydouser.displayoneself(); break;
case 2:mydouser.modifypassword(); break;
case 3:cout << "查看图书信息" << endl; break;
case 4:cout << "按照用户名查找订单详情中的个人购书记录" << endl; break;
default:cout << "输入有误,请重试!" << endl; break;
}
}
}
cout << endl;
}
void Mainpanel::handlewindow(int kind)
{
string s;
switch (kind)
{
case 3:s = "用户"; break;
case 4:s = "图书"; break;
case 5:s = "书商"; break;
case 6:s = "采购单"; break;
case 7:s = "采购单详情"; break;
case 8:s = "订单"; break;
case 9:s = "订单详情"; break;
}
int flag;
while (1)
{
cout << "\t\t***************************************************" << endl;
cout << "\t\t* 1:查看所有" << s << "信息请按1 *" << endl;
cout << "\t\t* 2:修改一条" << s << "信息请按2 *" << endl;
cout << "\t\t* 3:插入一条新" << s << "信息请按3 *" << endl;
cout << "\t\t* 4:删除一条" << s << "信息请按4 *" << endl;
cout << "\t\t* 5:查找并显示一条" << s << "信息请按5 *" << endl;
cout << "\t\t* 0:返回上级菜单请按0 *" << endl;
cout << "\t\t***************************************************" << endl;
cout << "请输入数字选择对应的操作:";
cin >> flag;
if (flag == 0)
break;
else
{
switch (flag)
{
switch (kind)
{
case 1:mydouser.displayalluser(); break;
case 2:mydouser.modifyoneuser(); break;
case 3:mydouser.insertoneuser(); break;
case 4:mydouser.deleteoneuser(); break;
case 5:mydouser.selectoneuser(); break;
default:cout << "输入有误,请重试!"; break;
}
}
}
}
cout << endl;
}
参考GPT和自己的思路:
该代码段是一个图书管理系统的主界面代码,包含了管理员界面和普通用户界面的选择。在管理员界面中可以进行用户、图书、书商、采购单、采购单详情、订单和订单详情的维护,包括查看、修改、插入、删除和查找等操作;在普通用户界面中可以查看个人信息、修改密码、查看图书信息和查看个人购书记录。代码逻辑比较清晰,但部分代码比较冗长,可以优化。要实现所有功能都能使用,则需要完善细节,确保代码能够正确执行。