商品市场营销管理系统2Word下载.docx
《商品市场营销管理系统2Word下载.docx》由会员分享,可在线阅读,更多相关《商品市场营销管理系统2Word下载.docx(42页珍藏版)》请在冰豆网上搜索。
usingnamespacestd;
conio.h>
//getch()
inttotal_in=0;
inttotal_goods=0;
inttotal_user=0;
inttotal_out=0;
intuser_out=0;
doubletotal_pricein=0;
doubleAB_total=0;
classin;
classout;
classgoods//商品类
{
public:
goods*next;
stringno;
//编号
stringgname;
//名称
stringunit;
//单位
stringstandards;
//规格
stringbrand;
//品牌
stringproducetime;
//生产日期
doubleprice;
//价格
stringEXP;
//保质期
voidshow();
//voidshowa(goods*p);
///商品类构造函数
goods(stringno1,stringgname1,stringunit1,stringstandards1,stringbrand1,stringproducetime1,doubleprice1,stringEXP1)
{
no=no1;
gname=gname1;
unit=unit1;
standards=standards1;
brand=brand1;
producetime=producetime1;
price=price1;
EXP=EXP1;
total_goods++;
}
goods(){}
};
classuserr//用户类
userr*next;
stringnumber;
stringcode;
stringcode_1;
stringname;
stringsex;
stringage;
stringdarpt;
stringphotonumber;
stringenter1(charp);
userr(stringnumber1,stringcode1,stringcode2,stringname1,stringsex1,stringdarpt1,stringphotonumber1)
:
number(number1),code(code1),code_1(code2),name(name1),sex(sex1),darpt(darpt1),photonumber(photonumber1){}
userr(){}
classin:
virtualpublicgoods//商品入库类
intcount_in;
//数量
intcount_total;
doubleprice_add;
stringtime_in;
//入库时间
in*next;
//指向自身的指针
/////商品入库类构造函数
in(stringno1,stringgname1,stringunit1,stringstandards1,stringbrand1,stringproducetime1,
doubleprice1,stringEXP1,intcount_in1,stringtime_in1):
goods(no1,gname1,unit1,standards1,brand1,producetime1,price1,EXP1)
count_in=count_in1;
price_add=price*count_in;
time_in=time_in1;
count_total=count_total+count_in;
in():
goods(){};
voidshow_in();
voidshowcount_in();
voidin:
showcount_in()//统计入库商品总数量函数
system("
cls"
);
stringno1;
stringgname1;
doubleprice1;
intcount_total1;
stringtime_in1;
doubleprice_add1;
chara='
y'
;
ifstreamfin("
goods_infile.txt"
if(!
fin){cout<
<
"
此时库存里无商品:
\n"
exit(0);
}
while(a=='
)
cout<
输出所有库存商品基本信息及统计总商品量:
endl;
while(fin>
>
no1>
gname1>
price1>
count_in>
time_in1>
count_total1)
cout<
\t编号:
no1<
||"
<
\t名称:
gname1<
\t价格:
price1<
\t此商品库存总数量:
count_total1<
price_add1=price1*count_total1;
\t此商品库存总价值:
price_add1<
total_pricein=total_pricein+price_add1;
total_in=total_in+count_total1;
fin.close();
\t\t所有库存商品总数量:
total_in<
\t\t所有库存商品总价值:
total_pricein<
返回上一页请输入:
n"
cin>
a;
return;
classout:
virtualpublicgoods//商品出库类
intcount_out;
//数量
doubleprice_out;
doubleprice_addout;
doubleAB;
//staticdoubleAB_total;
out*next;
stringtime_out;
//出库时间
/////商品出库类构造函数
out(stringno1,stringgname1,stringunit1,stringstandards1,stringbrand1,stringproducetime1,
doubleprice1,stringEXP1,intcount_out1,stringtime_out1,doubleprice_out1):
price_out=price_out1;
count_out=count_out1;
time_out=time_out1;
price_addout=count_out*price_out;
AB=price_addout-count_out*price;
//AB_total=AB_total+AB;
out(){}
voidshow_out();
voidshowgood_out();
voidout:
showgood_out()
stringno1,gname1,time_out1,time_in1;
doubleprice1,price_out1,AB1;
intcount_out1;
goods_outfile.txt"
此时无出库记录:
输出所有出库商品基本信息及统计出库商品所获得的总利润:
price_out1>
count_out1>
time_out1)
编号:
名称:
数量:
count_out1<
时间:
time_out1<
成本价格:
出售价格:
price_out1<
AB1=count_out1*(price_out1-price1);
利润:
AB1<
AB_total=AB_total+AB1;
cout<
\t出库商品所获得的总利润:
AB_total<
classmanager:
publicin,publicout,publicuserr
intfirst_face();
//界面
voidchoose_face1();
voidchoose_face2();
//界面
voidchoose_face3();
intadmin_face();
//首页
intcommon_face();
voidgoods_in();
//商品添加函数
voidadd_goodsin();
//添加入库商品函数
voidgoods_in1();
//已有商品入库
voidgoods_out();
//出库函数
stringenter(charp);
voidm_code();
//修改密码函数
voiduser_select();
voidadmin_user();
voidselect_user();
voidselect();
//查询
voidselect_no();
//按编号查询
voidselect_gname();
//按名称查询
voidselect_all();
//查询所有信息
voidselect_out();
//查询出库信息
voidmodify();
//修改页面函数
voidselect_price();
//按价格排序函数
voidadd_price();
//统计库存商品总价格
voidadd_count();
//统计库存商品总量
intpass();
//密码登录函数
intpass1();
voidadd_userr();
voidm_gname();
//修改商品名称
voidm_standards();
//修改商品规格
voidm_unit();
//修改商品单位
voidm_brand();
//修改商品品牌
voidm_producetime();
//修改商品生产日期
voidm_EXP();
//修改商品保质期
voidm_price();
//修改商品价格
voidlist_in();
//商品入库从文件读数据到内存生成链表
voidlist_out();
//商品出库从文件读数据到内存生成链表
voidwrite();
//将链表写入文件
manager(stringno1,stringgname1,stringunit1,stringstandards1,stringbrand1,stringproducetime1,doubleprice1,stringEXP1,intcount_in1,stringtime_in1,intcount_out1,stringtime_out1,doubleprice_out1):
goods(no1,gname1,unit1,standards1,brand1,producetime1,price1,EXP1),in(no1,gname1,unit1,standards1,brand1,producetime1,price1,EXP1,count_in1,time_in1),out(no1,gname1,unit1,standards1,brand1,producetime1,price1,EXP1,count_out1,time_out1,price_out1)
{}
manager(){}
//1.系统运行时的界面函数
intmanager:
first_face()//登陆界面
charchoose[2];
intcn=1;
endl<
\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆"
<
\t\t◆◆"
\t\t◆----欢迎使用商品市场营销登录系统----◆"
\t\t◆1.管理员登陆◆"
\t\t◆2.普通用户登陆◆"
\t\t◆3.新用户注册◆"
\t\t◆4.退出系统◆"
endl<
<
\t\t"
\t\t请选择(1-4):
"
while
(1)
cin>
choose;
cn=atoi(choose);
if(cn<
1||cn>
4)
cout<
输入错误,请重新输入:
(1-4)"
elsebreak;
returncn;
stringmanager:
enter(charpwch='
*'
)//密码
constintlength=18;
//最大密码长度=18
charpass[length]={0};
for(inti=0;
i<
length-1;
i++)
pass[i]=getch();
if(pass[i]=='
\r'
{
pass[i]=0;
returnstring(pass);
}
pwch;
returnstring(pass);
voidmanager:
add_userr()
stringnumber1,code1,code2,name1,sex1,age1,darpt1,photonumber1;
chara='
||a=='
Y'
system("
ofstreamfout_user("
userfile.txt"
ios:
app);
\t\t◆◆◆◆"
\t\t◆----欢迎进入新用户注册系统----◆"
\t\t◆---------请输入用户注册基本信息--------◆"
\t\t◆◆账号:
number1;
\t\t◆◆密码:
code1=enter1();
\t\t◆◆"
\t\t◆◆确认密码:
code2=enter1();
while(code2!
=code1){cout<
请重新输入:
\t\t◆◆姓名:
name1;
\t\t◆◆性别:
sex1;
\t\t◆◆年龄:
age1;
\t\t◆◆工作单位:
darpt1;
\t\t◆◆联系电话:
photonumber1;
fout_user<
setw(10)<
number1<
'
\t'
code1<
name1<
sex1<
age1<
darpt1<
photonumber1<
\t\t◆----恭喜你注册成功-----◆"
fout_user.close();
ifstreamfin("
totalfile.txt"
if(!
fin)
{
ofstreamfout("
fout<
0<
fout.close();
}
out||ios:
fin>
total_user>
total_goods>
total_in>
total_out;
fin.close();
total_user++;
total_user<
total_goods<
total_out<
\t\t是否还要继续注册:
y/n"
admin_face()//管理员界面
intcn=0;
\t\t◆----欢迎使用商品管理系统----◆"
\t\t◆1.商品储存管理◆"
\t\t◆2.商品出售管理◆"
\t\t◆3.查询统计◆"
\t\t◆4.商品信息修改◆"
\t\t◆5.用户管理◆"
\t\t◆6.返回◆"
\t\t请选择(1-6):
6)cout<
\t输入错误,请重新输入:
(1-6)"
return(cn);
choose_face2()//选择界面
switch(admin_face())
case1:
choose_face1();
break;
case2:
goods_out();
case3:
selec