超市商品管理系统C语言源代码.docx

上传人:b****6 文档编号:7298005 上传时间:2023-01-22 格式:DOCX 页数:19 大小:17.59KB
下载 相关 举报
超市商品管理系统C语言源代码.docx_第1页
第1页 / 共19页
超市商品管理系统C语言源代码.docx_第2页
第2页 / 共19页
超市商品管理系统C语言源代码.docx_第3页
第3页 / 共19页
超市商品管理系统C语言源代码.docx_第4页
第4页 / 共19页
超市商品管理系统C语言源代码.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

超市商品管理系统C语言源代码.docx

《超市商品管理系统C语言源代码.docx》由会员分享,可在线阅读,更多相关《超市商品管理系统C语言源代码.docx(19页珍藏版)》请在冰豆网上搜索。

超市商品管理系统C语言源代码.docx

超市商品管理系统C语言源代码

#include

#include

#include#include

#include

#include

#defineMAX20

#definePRINT1printf("---------------------------------------------------------\n")

#definePRINT2printf("商品号--商品名称--商品种类--销售价格--生产日期(年-月-日)--保质期\n")

#definePRINT3printf("M%8s%8s崓----M\n",goods[i].num,goods[i].name,goods[i].kind,goods[i].out_price,goods[i].pro_time.year,goods[i].pro_time.month,goods[i].pro_time.day,goods[i].save_day)

intsum;

structdate

{

intyear;

intmonth;

intday;

};

structgoods_type/*定义结构体*/

{

intnum;

charname[10];

charkind[10];

intamount;

intin_price;

intout_price;

structdatepro_time;

intsave_day;

intprofit;

}goods[MAX];

Save_Message(intsum);/*函数声明*/

voidInquire_message(void);

voidInquire_goodskind(void);

voidInquire_goodsname(void);

intRead_Message(void);

voidRenew_Messahe(void);

voidRevise_Message(void);

voidDelete_Message(void);

voidInsert_Message();

voidShow_Message(void);

intInput_Message(void);

voidCount_Message();

longCount_Profit();

longCount_Amount();

voidSort_amount(void);

voidSort_Message(void);

voidSort_Message(void)

{

intchoice;

do

{

clrscr();

printf("\n\n\n*******商品信息排行********\n\n");

printf("1:

按库存量排行\n\n");

printf("0:

返回主菜单\n\n");

printf("请选择(0-1):

");

scanf("%d",&choice);

switch(choice)

{

case1:

Sort_amount();break;

case0:

break;

}

}while(choice!

=0);

}

voidSort_amount(void)/*库存量排序*/

{

structgoods_type*p,*q[MAX];

inti,j,k;

clrscr();

printf("库存排行");

PRINT1;

printf("\n\n排名商品号商品名称商品类别库存量\n\n");

p=goods;

for(i=0;i

q[i]=p;

for(i=0;i

{

k=i;

for(j=i1;j

if(q[k]->amountamount)

k=j;

if(k!

=i)

{

p=q[i];

q[i]=q[k];

q[k]=p;

}

}

for(i=0;i

{

printf("%d",i1);

printf("%d",q[i]->num);

printf("%s",q[i]->name);

printf("%s",q[i]->kind);

printf("%d\n",q[i]->amount);

}

bioskey(0);

}

longCount_Amount()/*统计库存量*/

{

inti,j=0,choice,count_num,Amount;

charinquire_name[10];

clrscr();

printf("\n请输入想要统计的商品号:

");

scanf("%d",&count_num);

for(i=0;i

if(goods[i].num==count_num)

{

Amount=goods[i].amount;

printf("-------------------------");

printf("商品号库存量");

printf("\n崓",goods[i].num,Amount);

}

else

j;

if(j==sum)

printf("该商品信息不存在!

!

!

");

bioskey(0);

}

longCount_Profit()/*统计利润模块*/

{

inti,choice,j=0,count_num,profit;

clrscr();

printf("\n请输入想要统计的商品号:

");

scanf("%d",&count_num);

for(i=0;i

if(goods[i].num==count_num)

{

profit=goods[i].out_price-goods[i].in_price;

printf("\n商品利润");

printf("\n-------------------------------");

printf("\n商品号利润");

printf("\n崓\n",&goods[i].num,&profit);

}

else

j;

if(j==sum)

printf("\n该商品不存在!

!

!

");

printf("\n按任意键返回主菜单!

!

");

bioskey(0);

}

voidCount_Message(void)/*统计模块*/

{

intchoice;

do{

clrscr();

printf("**************统计商品信息*************\n\n\n");

printf("*******1:

统计库存量************\n\n\n");

printf("*******2:

统计利润************\n\n\n");

printf("*******0:

返回主菜单************\n\n\n");

printf("*******请选择(0-2):

************\n\n\n");

scanf("%d",&choice);

switch(choice)

{

case1:

Count_Amount();break;

case2:

Count_Profit();break;

case0:

break;

}

}while(choice!

=0);

}

intInput_Message(void)/*输入模块*/

{

inti=0,s=MAX;

charbd;

clrscr();

printf("开始输入商品信息.\n");

printf("\n\n商品信息:

(最多%d)\n",s);

printf("===============================\n");

do

{

printf("\n第%d商品",i1);

printf("\n商品号:

");

scanf("%d",&goods[i].num);

if(goods[i].num==0)break;

printf("\n商品名称:

");

scanf("%s",goods[i].name);

printf("\n商品种类:

");

scanf("%s",goods[i].kind);

printf("\n商品库存量:

");

scanf("%d",&goods[i].amount);

printf("\n进货价格:

");

scanf("%d",&goods[i].in_price);

printf("\n销售价格:

");

scanf("%d",&goods[i].out_price);

printf("\n生产日期(yyyy-mm-dd):

");

scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time.day);

printf("\n保质期:

");

scanf("%d",&goods[i].save_day);

printf("继续输入信息,yorn?

?

");

fflush(stdin);

scanf("%c",&bd);

if(bd=='y')

i;

else

break;

}while(i

printf("\n--%d所有商品录入完毕!

--\n\n\n",i1);

getch();

printf("按任意键返回主菜单.");

sum=i;

printf("输入回车返回主菜单!

!

!

");

bioskey(0);

}

voidShow_Message(void)/*显示输出模块*/

{

inti=0,j=0,count,page=7;

clrscr();

printf("\n\n--商品信息--在第%d页\n\n",page);

PRINT2;

PRINT1;

do

{

if(goods[i].num!

=0)

{

j;

if(j%page!

=0)

{

PRINT3;

PRINT1;

}

else

{

PRINT3;

PRINT1;

if(goods[i1].num!

=0)

{

printf("按任意键继续!

");

bioskey(0);

clrscr();

printf("\n\n--------商品信息--------在第%d页\n\n",page);

PRINT2;

PRINT1;

}

}

}

i;

}while(goods[i].num!

=0);

printf("按任意键返回主菜单!

!

!

!

!

");

bioskey(0);

}

voidInsert_Message(void)/*添加商品信息模块*/

{

inti=sum,j,flag=0;

charchoice;

clrscr();

printf("\n\n添加一种新商品\n\n");

printf("\n-------------------------------------------------\n");

do

{

goods[i].num=sum;

printf("\n新商品号:

%d",goods[i].num);

printf("\n新商品名:

");

scanf("%s",goods[i].name);

printf("\n新商品种类:

");

scanf("%s",goods[i].kind);

printf("\n新商品数量:

");

scanf("%d",&goods[i].amount);

printf("\n进价:

");

scanf("%d",&goods[i].in_price);

printf("\n售价:

");

scanf("%d",&goods[i].out_price);

printf("\n生产日期(yyyy-mm-dd):

");

scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time.day);

printf("\n保质期:

");

scanf("%d",&goods[i].save_day);

i;

printf("\n\n想继续添加商品吗?

(Y/N)");

fflush(stdin);

choice=getch();

if(choice=='y'||choice=='Y')

{

printf("继续");

flag=1;

}

else

flag=0;

}while(flag==1);

printf("\n\n\n按任意键返回主菜单.........");

bioskey(0);

}

voidDelete_Message(void)/*删除商品信息模块*/

{

inti,j,numberkey,flag=0;

charchoice;

printf("开始删除......\n\n");

do

{

clrscr();

printf("请输入你要删除的商品号:

\n");

scanf("%d",&numberkey);

for(i=0;i

{

if(goods[i].num==numberkey)

{

for(j=i;j

goods[j]=goods[j1];

sum--;

flag=1;

printf("删除成功!

!

\n\n\n");

break;

}

}

if(flag==0)

{

printf("不存在该商品信息!

");

bioskey(0);

}

printf("\n\n是否继续输入(y/n)?

\n");

getchar();

scanf("%c",&choice);

}while(choice=='y'||choice=='Y');

printf("\n按任意键返回");

bioskey(0);

}

voidRevise_Message(void)/*修改商品信息模块*/

{

inti,j,flag,choice,revise_num;

charch;

do

{

clrscr();

printf("\n\n开始修改...");

printf("\n\n请输入你想输入的商品号:

\n");

scanf("%d",&revise_num);

for(i=0;i

{

if(goods[i].num==revise_num)

{

printf("确定修改此商品信息吗?

(y/n)");

PRINT1;

PRINT2;

PRINT3;

getchar();

ch=getchar();

if(ch='y')

{

printf("\n\n\n修改商品信息的哪一项?

");

printf("\n\n1:

商品名称");

printf("\n\n2:

商品类型");

printf("\n\n3:

销售价格");

printf("\n\n4:

生产日期");

printf("\n\n5:

保质期");

printf("\n\n请选择(0-5)\n");

scanf("\n%d",&choice);

switch(choice)

{

case1:

printf("请输入修改后的商品名\n");

scanf("%s",&goods[i].name);break;

case2:

printf("请输入修改后的商品类型\n");

scanf("%s",&goods[i].kind);break;

case3:

printf("请输入修改后的商品销售价格\n");

scanf("%d",&goods[i].out_price);break;

case4:

printf("请输入修改后的商品生产日期\n");

scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time.day);break;

case5:

printf("请输入修改后的商品保质期\n");

scanf("%d",&goods[i].save_day);break;

case0:

break;

}

printf("修改商品信息:

\n");

PRINT2;

PRINT3;

}

else

break;

}

else

j;

if(j==sum)

printf("不存在该商品信息..");

}

printf("\n\n继续修改商品信息吗(y/n)?

");

getchar();

ch=getchar();

if(ch=='y')

{

printf("继续.\n");

flag=1;

}

else

flag=0;

}while(flag==1);

printf("修改完成!

!

\n\n");

getch();

}

voidRenew_Message(void)/*更新商品信息模块*/

{

intchoice;

do

{

clrscr();

printf("\n\n*********更新商品信息*********");

printf("\n\n1:

添加商品信息.\n\n");

printf("\n\n2:

删除商品信息.\n\n");

printf("\n\n3:

修改商品信息.\n\n");

printf("\n\n0:

返回上一级.\n\n");

printf("\n\n请选择(0-3):

");

scanf("%d",&choice);

switch(choice)

{

case1:

Insert_Message();break;

case2:

Delete_Message();break;

case3:

Revise_Message();break;

case0:

break;

}

}while(choice!

=0);

}

intRead_Message(void)/*读取信息模块*/

{

FILE*fp;

inti=0;

if((fp=fopen("999.txt","rb"))==NULL)

{

printf("\n\t现在还没有保存全部信息,按回车键回到主菜单输入商品信息!

");

printf("\n\t按任意键返回!

!

!

!

\n");

getch();

return;

}

while(feof(fp)!

=1)

{

fread(&goods[i],sizeof(structgoods_type),1,fp);

if(goods[i].num==0)

break;

else

i;

}

fclose(fp);

return(i);

}

voidInquire_goodsname(void)/*按商品名称查询*/

{

inti,j,choice;

charnamekey[10];

j=0;

printf("开始查询...");

printf("请输入你要查询的商品号:

\n");

scanf("%s",namekey);

for(i=0;i

if(strcmp(goods[i].name,namekey)==0&&goods[i].num!

=0)

{

printf("---商品信息----");

PRINT1;

PRINT2;

PRINT3;

}

else

j;

if(j==sum)

printf("该商品不存在!

");

printf("按任意键返回主菜单.");

getch();

}

voidInquire_goodskind(void)/*按商品类型查询*/

{

inti,j,choice;

charkindkey[10];

j=0;

printf("开始查询...");

printf("请输入你要查询的商品种类:

\n");

scanf("%s",kindkey);

for(i=0;i

if(strcmp(goods[i].kind,kindkey)==0&&goods[i].num!

=0)

{

printf("---商品信息----");

PRINT1;

PRINT2;

PRINT3;

}

else

j;

if(j==sum)

printf("该商品不存在!

");

printf("按任意键返回主菜单.");

getch();

}

voidInquire_Message(void)/*查询模块*/

{

intchoice;

do

{

printf("\n*****查询商品信息*****\n");

printf("\n*****1:

按商品名称.*****\n");

printf("\n*****2:

按商品种类.*****\n");

printf("\n*****0:

返回上一级.*****\n");

printf("\n请选择(0-2):

*****\n");

scanf("%d",&choice);

switch(choice)

{

case1:

Inquire_goodsname();break;

case2:

Inquire_goodskind();break;

case0:

break;

}

}while(choice!

=0);

}

Save_Message(intsum)/*保存模块*/

{

FILE*fp;

inti;

if((fp=fopen("999.txt","wb"))==NULL)

{

printf("\n\n不能打开文件!

\n\n");

exit();

}

for(i=0;i<=sum;i)

if(fwrite(&goods[i],sizeof(structgoods_type),1,fp)!

=1)

printf("写文件出错!

");

fclose(fp);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1