资源描述
.. -
商店销售管理系统
#include <stdio.h>
#include <time.h>
#define N 1000 //N代表货物的最大种类
struct goods
{
char name[10];//商品名称
int amount;//商品数量
int num;//商品编号
float price;//商品价格
}sp[N],sc[N];
//定义全局变量
int flag=1;
FILE *fp;
int i=0;
int k=0;
int b=0;
chakan()//显示目前的库存
{
int zong=0;
fp=fopen("chaoshi.txt","r");
for(i=1;i<=(k+b);i++)
fread(&sp[i],sizeof(struct goods),1,fp);
fclose(fp);
for(i=1;i<=k;i++)
{
zong=zong+sp[i].num;
}
if(zong!=0)
{
printf(" 目前库存情况为:名称数量价格编号\n");
for(i=1;i<=(k+b);i++)
{
printf(" %s %d %f %d\n",sp[i].name,sp[i].amount,sp[i].price,sp[i].num);
}
}
else printf("\n #####目前库存为#####\n");
}
jinhuo()//进货模块
{
do
{
k++;
i++;
printf(" 请输入商品的名称.数量.价格.标号(>0)例如:a 1 2.5 111\n\t\t\t");
scanf("%s %d %f %d%c",sp[i].name,&sp[i].amount,&sp[i].price,&sp[i].num);
printf(" 是否继续,是(1),否(0)\n\t\t\t");
scanf("%d",&flag);
}while(flag!=0);
fp=fopen("chaoshi.txt","w");
for(i=1;i<=k;i++)
fwrite(&sp[i],sizeof(struct goods),1,fp);
fclose(fp);
chakan();
}
xiaoshou()//销售模块
{
float m[100];
int z=1;
int j[100];
int a[100];
int g=0;
int y=0;
int h=0;
float zong=0;
fp=fopen("chaoshi.txt","r");
for(i=1;i<=k;i++)
fread(&sp[i],sizeof(struct goods),1,fp);
fclose(fp);
do
{
g++;
y++;
loop: printf(" 请输入商品编号和数量,例如:(100 20)\n\t\t\t");
scanf("%d %d",&j[y],&a[y]);
for(z=1;z<=k;z++)
{
if(j[y]==sp[z].num)
{
h++;
sp[z].amount=sp[z].amount-a[y];
m[y]=(float)a[y]*sp[z].price;
sc[y]=sp[z];
}
}
if(h==0)
{
printf(" 输入有误,请重新输入\n\t\t\t");
goto loop;
}
fp=fopen("chaoshi.txt","wt");
for(i=1;i<=k;i++)
fwrite(&sp[i],sizeof(struct goods),1,fp);
fclose(fp);
printf(" 是否继续,是(1),否(0)\n\t\t\t");
scanf("%d",&flag);
}while(flag!=0);
printf("\n ############################################\n");
printf(" 编号名称单价数量总计\n");
for(y=1;y<=g;y++)
{
printf(" %4d%10s%8.2f%6d%13.2f\n",sc[y].num,sc[y].name,sc[y].price,a[y],m[y]);
zong=zong+m[y];
}
printf(" 您此次一共消费%f 元,欢送您下次光临\n",zong);
shijian();
}
zengjia()//增加商品数量模块
{
float m;
int z=1;
int j[100],a[100];
int g=0;
int y=0;
int zong=0;
int h=0;
fp=fopen("chaoshi.txt","r");
for(i=1;i<=k;i++)
fread(&sp[i],sizeof(struct goods),1,fp);
fclose(fp);
do
{
g++;
y++;
loop: printf(" 请输入商品编号和数量,例如:(100 20)\n\t\t\t");
scanf("%d %d",&j[y],&a[y]);
for(z=1;z<=k;z++)
{
if(j[y]==sp[z].num)
{
h++;
sp[z].amount=sp[z].amount+a[y];
m=a[y]*sp[z].price;
sc[y]=sp[z];
}
}
if(h==0)
{
printf(" 输入有误,请重新输入\n\t\t\t");
goto loop;
}
fp=fopen("chaoshi.txt","wt");
for(i=1;i<=k;i++)
fwrite(&sp[i],sizeof(struct goods),1,fp);
fclose(fp);
printf(" 是否继续,是(1),否(0)\n\t\t\t");
scanf("%d",&flag);
}while(flag!=0);
chakan();
}
shanchu()//删除商品模块
{
int z;
int j[100],a[100];
int c=0;
int y=0;
int h=0;
do
{
c++;
loop: printf(" 请输入您想删除的商品编号\n\t\t\t");
scanf("%d",&j[y]);
for(z=1;z<=k;z++)
{
h++;
if(j[y]==sp[z].num)
sp[z]=sp[z+1];
}
if(h==0)
{
printf(" 输入有误,请重新输入\n\t\t\t");
goto loop;
}
fp=fopen("chaoshi.txt","wt");
for(i=1;i<=(k-1);i++)
fwrite(&sp[i],sizeof(struct goods),1,fp);
fclose(fp);
printf(" 是否继续,是(1),否(0)\n\t\t\t");
scanf("%d",&flag);
}while(flag!=0);
chakan();
}
shijian()
{
struct tm when;
time_t now;
time(&now);
when=*localtime(&now);
printf(" %s\n",asctime(&when));
}
main()//主函数
{
int choice;
do
{
printf("\n\n\n ********超市管理系统*******\n\n");
printf(" 1.进货\n");
printf(" 2.销售\n");
printf(" 3.增加商品数量\n");
printf(" 4.删除商品\n");
printf(" 5.查看目前库存\n");
printf(" 0.返回主菜单\n");
printf(" 请选择您要进展的操作\n\t\t\t");
scanf("%d",&choice);
switch(choice)
{
case 1:jinhuo();break;
case 2:xiaoshou();break;
case 3:zengjia();break;
case 4:shanchu();break;
case 5:chakan();break;
case 0:break;
default :printf(" 输入有误,请重新输入\n\t\t\t");
}
}while(choice!=0);
}
. . word.zl-
展开阅读全文