模拟实现超市管理系统实验报告.docx
《模拟实现超市管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《模拟实现超市管理系统实验报告.docx(65页珍藏版)》请在冰点文库上搜索。
一、问题描述
1.题目描述
利用线性表模拟实现简单的超市管理系统
简单地实现会员的两项基本功能:
商品信息浏览,我的购物车。
简单地实现管理员地四项基本功能:
会员信息管理,商品信息管理,销售信息管理,库存管理。
2.基本要求
①用链式存储结构的线性表储存会员信息,商品信息,销售信息
②利用文件保存数据,并用文件实现线性表初始化
③对线性表进行添加、查找、删除、修改等基本操作
3.设计内容
会员商品浏览实现:
ü商品的信息浏览
ü商品加入购物车
会员购物车功能实现:
ü查看购物车
ü购买购物车商品
会员信息管理实现:
ü会员信息添加
ü会员信息删除
ü会员信息查询
ü会员信息修改
商品信息管理实现:
ü商品信息添加
ü商品信息删除
ü商品信息查询
ü商品信息
商品销售管理实现:
ü显示所有销售信息:
商品基本信息
购买者信息
销售数量
销售时间
销售总量
销售总利润
库存管理:
ü显示库存商品信息:
商品入库数
商品出库数
商品剩余量
商品周转率
商品入库时间
商品最近出库
二、需求分析
简单的超市管理系统是实现市场上存在的超市进销存管理系统的部分简单操作,故进行简单的需求分析。
该系统设计面向会员用户,以及系统管理员。
面向会员用户的部分主要是通过会员姓名和密码的方式,登入系统,使会员用户完成商品信息浏览,商品加入购物车,以及购物车内商品购买的简单操作。
面向管理员部分是输入管理员密码,进入管理员界面。
进行会员信息管理:
会员信息的添加,删除,查询,修改等操作。
商品信息管理:
商品信息的添加,删除,查询(按编号查、按名称查),商品显示,商品信息修改等操作。
通过查看销售记录了解商品的销售情况,及时补货,通过查看库存管理,了解商品的存储状态,从而合理安排进、销、存每个环节。
对于小型超市管理需求而言,需要上述简单的基本功能实现。
三、单元设计
1.商品记录定义:
typedefstructGood
{
intID;//商品编号
charname[20];//商品名称
charkind;//商品种类
intnum;//商品数量
intbuynum;//购买的数量
intsellnum;//售出量
intallnum;//入库总量
floatinprice;//商品进价
floatoutprice;//商品售价
charproducedate[15];//生产日期
charprotectdate[15];//保质期
charintime[128];//入库时间
charouttime[128];//出库时间
structGood*next;
}Good;//商品记录
2.销售记录定义:
typedefstructSale
{
intID;//商品编号
charname[20];//商品名称
floatinprice;//商品进价
floatoutprice;//商品售价
intnum;//商品销量
charbuyer[20];//商品购买者
chartime[128];//销售时间
structSale*next;
}Sale;//销售记录
3.会员信息记录:
typedefstructVip
{
intID;//会员编号
charvipname[20];//会员姓名
charpassward[10];//账户密码
structVip*next;
}Vip;//会员信息记录
4.进行登录操作函数:
intUserCheck();//用户登录
voidAdministratorCheck();//管理员登录
5.用户操作:
voidUserMenu();//用户菜单
voidUserWindow();//用户主程序
voidUserScanMenu();//用户商品浏览菜单
voidUserScanWindow();//用户浏览程序
voidGoodAddToCart();//商品加入购物车
voidUserCartMenu();//购物车菜单
voidUserCartWindow();//购物车程序
intCartGoodShow();//购物车中商品信息
intUserPay(Sale*shopoping_cart,Good*address[]);//用户支付
6.管理员操作:
管理员界面
voidAdministratorWindow();//管理员主程序
voidAdministratorMenu();//管理员菜单
会员信息管理
voidVipAdd();//会员添加
Vip*VipFind(intID);//会员查找
voidVipdelete();//会员删除
voidVipMenu();//会员信息菜单
intVipWindow();//会员程序
voidVipChange();//会员信息修改
voidVipShow();//显示会员信息
商品信息管理
intGoodmanageWindow();//商品管理程序
voidGoodManageMenu();//商品管理菜单
voidGoodAdd();//商品添加入库
voidGoodFindMenu();//商品查询菜单
Good*GoodDetail(Good*goods);//商品详细信息
Good*GoodFindWindow();//商品查找程序
Good*GoodIdFind(intID);//商品编号查找
Good*GoodNameFind(char*name);//商品名称查找
voidGoodChange();//商品信息修改
voidGoodDelete();//商品信息删除
voidGoodTypeShow();//商品按类显示
voidDeleteOperation(Good*good);//删除操作
voidChangeOperation(Good*exit);//更改操作
库存信息
voidManage();//库存信息
销售信息
voidSaleManage();//销售信息
四、源代码
#include
#include
#include
#include
#include
#include
#include
#include
#defineShoppingCartMax100
#definePASSWARD
usingnamespacestd;
typedefstructGood
{
intID;//商品编号
charname[20];//商品名称
charkind;//商品种类
intnum;//商品数量
intbuynum;//购买的数量
intsellnum;//售出量
intallnum;//入库总量
floatinprice;//商品进价
floatoutprice;//商品售价
charproducedate[15];//生产日期
charprotectdate[15];//保质期
charintime[128];//入库时间
charouttime[128];//出库时间
structGood*next;
}Good;//商品记录
Good*GOOD;
Good*address[ShoppingCartMax]={0};
typedefstructSale
{
intID;//商品编号
charname[20];//商品名称
floatinprice;//商品进价
floatoutprice;//商品售价
intnum;//商品销量
charbuyer[20];//商品购买者
chartime[128];//销售时间
structSale*next;
}Sale;//销售记录
Sale*SALE;
typedefstructVip
{
intID;//会员编号
charvipname[20];//会员姓名
charpassward[10];//账户密码
structVip*next;
}Vip;//会员信息记录
Vip*VIP;
voidInitialization();//初始化操作
voidMainMenu();//主程序菜单
intUserCheck();//用户登录
voidAdministratorCheck();//管理员登录
voidVipAdd();//会员添加
Vip*VipFind(intID);//会员查找
voidVipdelete();//会员删除
voidVipMenu();//会员信息菜单
intVipWindow();//会员程序
voidVipChange();//会员信息修改
voidVipShow();//显示会员信息
voidUserMenu();//用户菜单
voidUserWindow();//用户主程序
voidUserScanMenu();//用户商品浏览菜单
voidUserScanWindow();//用户浏览程序
voidGoodAddToCart();//商品加入购物车
voidUserCartMenu();//购物车菜单
voidUserCartWindow();//购物车程序
intCartGoodShow();//购物车中商品信息
intUserPay(Sale*shopoping_cart,Good*address[]);//用户支付
voidAdministratorWindow();//管理员主程序
voidAdministratorMenu();//管理员菜单
intGoodmanageWindow();//商品管理程序
voidGoodManageMenu();//商品管理菜单
voidGoodAdd();//商品添加入库
voidGoodFindMenu();//商品查询菜单
Good*GoodDetail(Good*goods);//商品详细信息
Good*GoodFindWindow();//商品查找程序
Good*GoodIdFind(intID);//商品编号查找
Good*GoodNameFind(char*name);//商品名称查找
voidGoodChange();//商品信息修改
voidGoodDelete();//商品信息删除
voidGoodTypeShow();//库中所有商品
voidManage();//库存信息
voidSaleManage();//销售信息
voidDeleteOperation(Good*good);//删除操作
voidChangeOperation(Good*exit);//更改操作
voidSaveAndExit();//保存并退出
intVipSaveInFile();//会员信息存入文件
intGoodSaveInFile();//商品信息存入文件
intSaleSaveInFile();//销售信息存入文件
intVipReadFromFile();//文件中读取会员信息
intGoodReadFromFile();//文件中读取商品信息
intSaleReadFromFile();//文件中读取销售信息
intmain()//主程序
{
Initialization();
while
(1)
{
MainMenu();
fflush(stdin);
charchoose=getchar();
if(choose=='1')
{
UserCheck();
break;
}
elseif(choose=='2')
{
AdministratorCheck();
break;
}
}
return0;
}
voidInitialization()//初始化
{
cout<<"\n\n\n"
<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t*欢迎使用*\n"
<<"\t\t**\n"
<<"\t\t*CCNU超市管理系统*\n"
<<"\t\t**\n"
<<"\t\t*(^_^)*\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
<GOOD=(Good*)malloc(sizeof(Good));
SALE=(Sale*)malloc(sizeof(Sale));
VIP=(Vip*)malloc(sizeof(Vip));
GOOD->next=NULL;
SALE->next=NULL;
VIP->next=NULL;
GoodReadFromFile();
SaleReadFromFile();
VipReadFromFile();
_sleep(2000);
}
voidMainMenu()//主程序菜单
{
system("cls");
cout<<"\n\n\n"
<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
<<"\t\t**\n"
<<"\t\t*CCNU超市管理系统*\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t*【1】用户入口*\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t*【2】管理员入口*\n"
<<"\t\t**\n"
<<"\t\t**\n"
<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
<}
intUserCheck()//用户登录
{
while
(1)
{
system("cls");
charname[20];
charpassward[10];
cout<<"\n\n\n\n";
cout<<"\t\t_______________\n";
cout<<"\t\t||\n";
cout<<"\t\t