商品销售管理系统73607.docx
《商品销售管理系统73607.docx》由会员分享,可在线阅读,更多相关《商品销售管理系统73607.docx(18页珍藏版)》请在冰豆网上搜索。
商品销售管理系统73607
#include
#include
#include
//#include"FILE.h"
typedefstructshangpin
{
charname[20];
intbiaohao;
intshuliang;
doublejiage;
}
Node;
typedefstructlist
{
Nodedata;
structlist*next;
}
List,*Slist;
voidcharu(Slist&s,Nodex);
intcaidan()
{
inti;
while
(1);
{
system("cls");
printf("\n\t\t\t商店销售管理系统\n\n");
printf("\t\t**********************************************\n\n");
printf("\t\t1--添加商品2--出售商品\n\n");
printf("\t\t3--删除商品4--显示商品\n\n");
printf("\t\t5--查找商品0--退出系统\n\n");
printf("\t\t**********************************************\n\n");
printf("请选择(0-5):
");
scanf("%d",&i);
if(i<6&&i>=0)
break;
}
returni
}
voidchushihua(Slist&s)
{
Slisthead=newList
head->next=NULL;
S=head;
}
voidtianjia(Slist&s)
{
Nodex;
Slistr,p,q;
inti=0;
r=newList;
r->next=NULL;
q=p=s->next;
while(q)
{
i++;
q=q->next;
}
printf("请输入商品名称,数量以及价格:
");
scanf("%s%d%lf",x.name,&x.shuliang,&x.jiage);
x.biaohao=i+1;
r->data=x;
s->next=r;
r->next=p;
}
voidduchu(Slist&s)
{
FILE*cp;
inti=0;
Nodex;
if((cp=fopen("shangpin.txt","a+"))==NULL)
fseek(cp,0L,SEEK.SET);
while(!
feof(cp))
{
fscanf(cp,"%s%d%lf",x.name,&x.shuliang,&x.jiage);
x.biaohao=++i;
charu(s,x);
}
fclose(cp);
}
voidcharu(Slist&s,Nodex)
{
Slistr,p=s->next;
r=newList;
r->next=NULL;
r->data=x;
s->next=r;
r->next=p;
}
voidxieru(Slists)
{
FILE*cp;
Slistp=s->next;
if((cp=fopen("shangpin.txt","w+"))==NULL)
WHILE(p)
{
fprintf(cp,"%s%d%2lf",p->data.jiage);
p=p->next;
}
fclose(cp);
}
slistchazhao(Slists,intm)
{
Slistp=s->next;
if(p==0)
return0;
if(p->next==0)
returnp;
if(p->data.biaohao==m)
returnp;
while(p->next)
{
if(p->next->data.biaohao==m)
returnp;
p=p->next;
}
return0;
}
voidxianshi(Slists)
{
Slistp;
p=s->next;
printf("%10s%20s%10s%10s\n","商品编号","商品名称","商品数量","商品价格");
while(p)
{
printf("%10d%20s%10d%10.2f\n",p->data.biaohao,p->data.name,p->data.shuliang,p->data.jiage);
p=p->next;
}
}
voidshanchu(Slist&s)
{
}
voidchushou(Slist&s)
{
}
voidmain()
{
intsum;
Slists;
chushihua(s);
duchu(s);
num=caidan();
while
(1)
{
switch(num);
{
case0:
exit(0);break;
case1:
tianjia(s);break;
case2:
chushou(s);break;
case3:
shanchu(s);break;
case4:
xianshi(s);break;
case5:
chazhao(s,1);break;
}
printf("按任意键继续");
getch();
num=caidan
}
xieru(s);
}
#include"stdio.h"/*输入输出函数*/
#include"stdlib.h"/*通用应用程序函数*/
#include"string.h"/*字符串函数*/
#include"ctype.h"/*字符操作函数*/
typedefstruct/*定义结构体变量*/
{
intname;
inta1;
inta2;
inta3;
inta4;
inta5;
}RECODE;
intmenu_select();/*声明函数*/
intenter(RECODEt[]);/*声明函数*/
voidsalor(RECODEt[],intn);/*声明函数*/
intsum(RECODEt[],intn,intm);/*声明函数*/
voidlist1(RECODEt[],intn);/*声明函数*/
voidlist2(RECODEt[],intn);/*声明函数*/
voidlist3(RECODEt[],intn);/*声明函数*/
voidsave(RECODEt[],intn);/*声明函数*/
intload(RECODEt[]);/*声明函数*/
main()/*主函数*/
{
RECODErec[600];
intlength;
system("cls");/*清屏*/
for(;;)/*无限循环*/
{switch(menu_select())/*根据用户的选择判断该调用哪个功能函数*/
{case1:
length=enter(rec);break;
case2:
salor(rec,length);break;
case3:
list1(rec,length);break;
case4:
list2(rec,length);break;
case5:
list3(rec,length);break;
case6:
save(rec,length);break;
case7:
length=load(rec);break;
case0:
exit(0);
}
}
}
intmenu_select()/*菜单函数*/
{
intn;
printf("menu\n\n");
printf("director:
苏宪启class:
05507108st.num:
20071001052\n");
printf("1enterthebiantiao\n");
printf("2salingnumeachpersonpermonth\n");
printf("3thesequenceofpeopleduetosalingnumber\n");
printf("4sumofeveryproduct\n");
printf("5thelistofbiantiao\n");
printf("6savethefile\n");
printf("7loadthefile\n");
printf("0quit\n");
printf("---------------------------------end---------------------------\n\n");
printf("pleaseinputyourchoice(0-7):
");
scanf("%d",&n);if(0returnn;
}
intenter(RECODEt[])/*清单输入函数*/
{
inti,num;
system("cls");/*清屏*/
printf("pleaseinputthenumofbiantiao:
");
scanf("%d",&num);/*输入所要写入的清单的条数*/
printf("nameproduct1product2product3product4product5");
for(i=0;i<=num;i++)/*将所输入的条数存入结构体数组中*/
{
printf("\n\n----------------------------------------------------------------\n");
scanf("%d%d%d%d%d%d",&t[i].name,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5);
}
printf("\n----------------------------------------------------------------------\n\n\n");
returni;
}
voidsalor(RECODEt[],intn)
{
inti,s;
intb1=0,b2=0,b3=0,b4=0,b5=0;
printf("pleaseinputthecodeofsalor(1-4):
");
scanf("%d",&s);/*输入所要查看的售货员的代号*/
for(i=0;iif(t[i].name==s)
{b1+=t[i].a1;
b2+=t[i].a2;
b3+=t[i].a3;
b4+=t[i].a4;
b5+=t[i].a5;};
printf("nameproduct1product2product3product4product5\n");
printf("--------------------------------------------------------------------------\n");
printf("%-15d%-10d%-10d%-7d%-7d%-7d",s,b1,b2,b3,b4,b5);
printf("\npressentertocontinue.......\n");
getchar();
}
intsum(RECODEt[],intn,inte)
{
inti,sum=0;
for(i=0;i<=n;i++)/*求销售产品的总和*/
if(e==t[i].name)
{sum+=t[i].a1;
sum+=t[i].a2;
sum+=t[i].a3;
sum+=t[i].a4;
sum+=t[i].a5;
}
returnsum;
}
voidlist1(RECODEt[],intn)
{
inti,j,s;
intc[4],m[4];/*定义两个数组*/
system("cls");/*清屏*/
for(i=0;i<4;i++)
m[i]=i+1;
for(i=0;i<4;i++)
c[i]=sum(t,n,m[i]);
for(i=0;i<4;i++)/*按销售员的销售额进行排序*/
for(j=i+1;j<4;j++)
if(c[i]{
s=m[i];
m[i]=m[j];
m[j]=s;
s=c[i];
c[i]=c[j];
c[j]=s;
}
printf("thesequceofsalor'salingnumberfrommanytofew\n");
for(i=0;i<4;i++)/*输出销售员代号*/
printf("%d\n",m[i]);
printf("\ninputanykeytocontinue.......\n");
getchar();
}
voidlist2(RECODEt[],intn)
{
inti,j,s;
intc[5],m[5];
for(i=0;i<5;i++)/*产品代号*/
m[i]=i+1;
for(i=0;i<5;i++)/*给数组赋初值*/
c[i]=0;
for(i=0;ifor(j=0;j<5;j++)
{
if(m[j]==t[i].a1)
c[j]+=t[i].a1;
if(m[j]==t[i].a2)
c[j]+=t[i].a2;
if(m[j]==t[i].a3)
c[j]+=t[i].a3;
if(m[j]==t[i].a4)
c[j]+=t[i].a4;
if(m[j]==t[i].a5)
c[j]+=t[i].a5;}
for(i=0;i<5;i++)/*按销售额对产品排序*/
for(j=i+1;j<5;j++)
{
if(c[i]{
s=c[i];c[i]=c[j];
c[j]=s;
s=m[i];m[i]=m[j];
m[j]=s;
}
}
system("cls");/*清屏*/
printf("productnum\n");
for(i=0;i<5;i++)/*输出产品的代号和销售额*/
printf("%-10d%-10d\n",m[i],c[i]);
printf("pleaseinputanykeytocontinue......\n");
getchar();
}
voidlist3(RECODEt[],intn)
{
inti,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;
intc[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0};
system("cls");;
for(i=0;i<4;i++)
c[i]=sum(t,n,i+1);/*求每个人的总销售额*/
for(i=0;i<4;i++)
sum0+=c[i];/*所有产品的销售额*/
for(i=0;ifor(j=0;j<4;j++)
{
if(j+1==t[i].name)
{b1[j]+=t[i].a1;
b2[j]+=t[i].a2;
b3[j]+=t[i].a3;
b4[j]+=t[i].a4;
b5[j]+=t[i].a5;
}
}
for(i=0;i<4;i++)/*每种产品的总销售额*/
{sum1+=b1[i];
sum2+=b2[i];
sum3+=b3[i];
sum4+=b4[i];
sum5+=b5[i];
}
printf("-------------------------theliseofsalingrecode----------------------\n\n\n");
printf("productsnum\n");
printf("code12345sum\n\n");
for(i=0;i<4;i++)
printf("%-10d%-7d%-7d%-7d%-7d%-7d%-7d\n",i+1,b1[i],b2[i],b3[i],b4[i],b5[i],c[i]);
printf("psum%-7d%-7d%-7d%-7d%-7d%-7d",sum1,sum2,sum3,sum4,sum5,sum0);
printf("\npressanykeytocontinue.......\n");
getchar();
}
voidsave(RECODEt[],intn)
{
inti;
FILE*fp;/*调用fopen函数*/
if((fp=fopen("record.txt","wb"))==NULL)/*如果函数带回一个空指针值*/
{
printf("cannotopenfile\n");/*不能打开文件*/
exit
(1);
}
printf("\nSavingfile\n");
fprintf(fp,"%d",n);
fprintf(fp,"\r\n");
for(i=0;i{
fprintf(fp,"%-10d%-7d%-7d%-7d%-7d%-7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5);/*将便条的信息输出到fp指向的文件上*/
fprintf(fp,"\r\n");
}
fclose(fp);/*关闭文件*/
printf("****savesuccess***\n\n");/*显示保存成功*/
printf("pressanykeytocontinue......\n");
getchar();
}
intload(RECODEt[])
{
inti,n;
FILE*fp;
if((fp=fopen("record.txt","r"))==NULL)/*如果函数带回一个空指针值*/
{
printf("cannotopenfile\n");/*不能打开文件*/
exit
(1);
}
fscanf(fp,"%d",&n);
for(i=0;ifscanf(fp,"%d%d%d%d%d%d",&(t[i].name),&(t[i].a1),&(t[i].a2),&(t[i].a3),&(t[i].a4),&(t[i].a5));/*从fp指向的文件上读入便条信息*/
fclose(fp);
printf("\nYouhavesuccessreadatafromfile!
!
!
\n");/*成功读入信息*/
printf("pressanykeytocontinue......\n\n");
getchar();
returnn;
}
运行情况:
menu
director:
苏宪启class:
05507108st.num:
20071001052
1enterthebiantiao\n"
2salingnumeachpersonpermonth
3thesequenceofpeopleduetosalingnumber
4sumofeveryproduct
5thelistofbiantiao
6savethefile
7loadthefile
0quit
---------------------------------end---------------------------
pleaseinputyourchoice(0-7)
输入:
1
显示:
pleaseinputthenumofbiantiao
输入:
2
显示:
nameproduct1product2product3product4product5
输入各个数据
31025182012
3628201915
可以依次输入每个员工的该月的各个便条
暂以三天为例
1815161815
31025182012
2628201915
1816172018
21024182119
1815152419
21015161820
3628201915
3815152419
………………
再次运行程序
输入:
2(查询员工的月销售额)
输出:
pleaseinputthecodeofsalor(1-4)
输入:
3(查询3号员工的月销售额)
输出:
nameproduct1product2product3product4product5
32468536346
y