超市商品信息管理系统的设计与实现的设计方案_第1页
超市商品信息管理系统的设计与实现的设计方案_第2页
超市商品信息管理系统的设计与实现的设计方案_第3页
超市商品信息管理系统的设计与实现的设计方案_第4页
超市商品信息管理系统的设计与实现的设计方案_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

超市商品信息管理系统的设计与实现的设计方案

1.题目

《超市商品信息管理系统》的设计与实现

2.功能

(D每一条记录包括一种商品的编号,商品名,生产地,数量,进货价格和卖出价格。

(2)添加功能:每回都是录入一条商品信息,但是会有提示问您是否继续接着进行商品

信息的录入,如果是,您可以继续添加,不是,则返回主菜单。每回添加的信息会自动以二

进制格式写入文件中。

(3)删除功能:每回您可以删除一条您所指定编号的信息。

(4)修改功能:会逐条提示您所要修改的商品信息,修改后的信息会自动以二进制格式

写入文件中。

(5)查询功能:输入您所要查询的商品编号,会显示出您所要查询的商品信息。

(6)浏览功能:会显示出商品的信息。

(7)退出功能:每回回到菜单界面,您可以根据菜单提示退出系统。

(9)输入任意键,可以进入系统菜单。

3.要求

(D利用指针来实现学生成绩的数据结构设计;

(2)系统具有添加,删除,修改,查询,浏览,退出等基本功能;

(3)系统的各个调用函数用函数的形式来实现;

(4)可以将商品信息保存在文件中。

(5)可以将商品信息从文件中读取出来。

4.1主函数voidmain()

任意键进入

4.2系统菜单函数voidmenu()

其中有一个switch循环,利用这个循环实现各个函数的调用,当您输入的数字不在菜单

围时,会要求您重新输入,清屏之后重新返回菜单界面,继续操作。

效果如下:

4.3判断函数intPanduan(intid)

这是一个有返回值的函数,它不是被菜单函数引用,而是被添加函数引用,主要是判断

您新添加的信息是否和之前的信息重复,如果重复,会返回值1,如果不重复则是返回0。

4.4添加函数voidTianjiaO

首先以追加数据的形式打开文件,接着利用判断函数判断所添加的信息是否和先前的

信息重复,如果重复,则会提示您重新输入,如果不重复,则会逐条显示提示,根据提示,

开始添加信息。完毕之后,提示您是否继续,如果输入“Y”或"y”,,表示继续,函数则

会引用自身,又开始新的添加,如果输入“N”或"n”,表示不继续,则会清屏,重新回到

菜单界面。

效果如下:

4.5删除函数voidDelete()

首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统错误,请

您重试”,当有可以执行的操作,函数开始把文件中的数据存放到一个结构体数组中,接着

提示您要删除的商品编号,利用循环,将不要删除的信息重新写入文件,将删除的信息不重

新写入,就是相当于删除了。完毕之后,提示您是否继续,如果输入“Y”或"y”,,表示

继续,函数则会引用自身,又开始新的删除,如果输入“N”或"n”,表示不继续,则会清

屏,重新回到菜单界面。

下过如下:

4.6修改函数voidXiugai()

首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统错误,请

您重试”,当有可以执行的操作,函数开始把文件中的数据存放到一个结构体数组中,关闭

文件。在以只读的方式打开,接着提示您要修改的商品编号,利用循环,将不要修改的信息

重新写入文件,而要修改的信息则在提示下修改完后重新写入文件。修改完毕之后,提示您

是否继续,如果输入“Y”或"y”,,表示继续,函数则会引用自身,又开始新的删除,如

果输入“N”或"n”,表示不继续,则会清屏,重新回到菜单界面。

4.7查询函数voidChaxun()

首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统错误,请

您重试”,当有信息时,则提示您要查询的商品编号,判断是否有这个商品,如果有,则会

显示出该商品信息,完毕之后,提示您是否继续,如果输入“Y”或"y”,,表示继续,函

数则会引用自身,又开始新的查询,如果输入“N”或"n”,表示不继续,则会清屏,重新

回到菜单界面。如果没有,则会提示“输入的编号不存在,请整重新输入”。

4.8浏览函数voidLiulanO

首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统错误,请

您重试”,当有信息时,则会逐条显示出所有商品的信息,完毕之后,提示您是否继续,如

果输入“Y”或"y”,,表示继续,函数则会引用自身,又开始新的浏览,如果输入“N”

或“n”,表示不继续,则会清屏,重新回到菜单界面。

效果如下:

4.9退出函数voidTuichu

选择退出后首先会清屏,接着显示提示“您确定要退出系统吗?如果您想退出请按'y',

其它键将返回主菜单”,如果选择"Y”或"y”,则会退出系统,如果按其他任一键,则重

新回到菜单界面。

5总结:

学习c语言一学期了,只是第一次做这么大的编程.刚刚接到这个任务时,感觉无从下

手,感觉自己无法完成。但是还是抱着试试看的心态去完成了,由于上学期链表掌握的并不

是很好,所以在这次的程序设计中并没有使用链表,这也可以算是此程序的一个缺点,抑或

是自己的一种遗憾。在做这个程序的过程中,总是遇到一些自己无法解决的问题,有时候自

己根本就不知道错在哪里,这也弄得自己心浮气躁的,过了一段时间,静下心来,仔细检查

错误,认真打开以前的C语言书本,对照书上的例题,一个个的排除错误,实在有不会就请

教班上C语言学的好的同学,他们度比较热心的帮我解决了问题,终于所编起来的C程序可

以完整的运行了,虽然其中的过程有些枯燥,但是做好了之后就会有一种成就感,可能这是

自己第一次完成的编程大题目,这就像爬山一样,过程是艰辛的,但是当你登上山顶之后,

就会有种畅快淋漓的感觉,我想这就是做编程的乐趣吧,这是我第一个做的编程,我将会留

下很深的印象,我相信以后我可以做出更好的编程!

程序如下:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

ttinclude<conio.h>

structgoods

(

intid;

charname[20];

charproduce[20];

intnumber;

floatbid;

floatprice;

};

voidmenu();

voidadd();

voidDelete();

voidXiugai();

voidChaxun();

voidLiulanO;

voidTuichuO;

voidmain();

voidmenu();

voidadd();

voidDelete0;

voidXiugai();

voidChaxun();

voidLiulanO;

voidTuichuO;

voidmain();

voidmenu()

(

intchoice;

printf("\n*************超市商品信息管理系统*****************\n");

printf(r,-------------------------------------系统菜单显示如下

printf(n\n\t1.新商品登记\n")

printf(r,\n\t2.商品信息删除\n")

printf(M\n\t3.商品信息修改\n")

printf(M\n\t4.商品信息查询\n")

printf(M\n\t5.商品信息浏览\n")

printf("\n\t6.退出管理系统\n")

printf(”\n\t请输入您要选择的菜单:”);

scanf(M%dM,&choice);

switch(choice)

(

case1:

add();

break;

case2:

Delete();

break;

case3:

Xiugai();

break;

case4:

Chaxun();

break;

case5:

Liulan();

break;

case6:

Tuichu();

break;

default:

printf("\n\t\t\t\t\t输入无效,请您重新输入.!");

getchO;

getchO;

menu();

intPanduan(intid)

(

FILE*fp;

structgoodsi;

fp=fopen("goods,txt","r");

if(fp==NULL)

printf("\t\t\t系统错误,请您重试.......");

exit(0);

)

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

(

if(i.id二二id)

(

fclose(fp);

return1;

break;

I

fread(&i,sizeof(structgoods),1,fp);

)

fclose(fp);

return0;

}

voidadd()

{structgoodsi;

charchoice;

FILE*fp;

fp二fopen("goods,txt"Jab");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试.......");

exit(0);

)

lablD:

printf(ff\n\t请您输入要入库商品的信息...\n");

printf(w\t\t\t\t商品的编号:”);

scanfid);

if(Panduan(i.id)==1)

(

printf("\t\t\t\t此编号已被使用,请您重新输入.....");

gotolablD;

)

printf(w\t\t\t\t商品的名称:”);

scanfi.name);

printf(,r\t\t\t\t商品的生产地:");

scanf(M%s,r,i.produce);

printf(M\t\t\t\t商品的数量:”);

scanf(M%d,r,&i.number);

printf(,r\t\t\t\t商品的进价:”);

scanf(M%fn,&i.bid);

printf(M\t\t\t\t商品的卖价:”);

scanfprice);

fwrite(&i,sizeof(structgoods),1,fp);

fclose(fp);

printf(M\t\t\t\t\t\t商品信息已入库成功!!!\n");

printf(”\n您想继续吗?(y/n)”);

scanf(H%cM,&choice);

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

(

add();

)

else

menu();

}

)

voidDelete()

{structgoodsi[1000];

structgoodstemp;

intdellD;

charchoice;

intindex=0;

intj=0;

FILE*fp;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...");

exit(0);

)

fread(&temp,sizeof(structgoods),1,fp);

while(!feof(fp))

(

i[index]=temp;

index++;

fread(&temp,sizeof(structgoods),1,fp);

)

fclose(fp);

printf(M\n\t请输入要删除的商品的编号:”);

scanf(H%dn,&delID);

fopen("goods,txt","w");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...");

exit(0);

}

for(j=0;j<index;j++)

(

id!=delID)

(

fwrite(&i[j],sizeof(structgoods),1,fp);

}

)

fclose(fp);

printf("\t\t\t\t\t商品信息已清除!!!\n");

printf("\n您想继续吗?(y/n)");

scanf("%c",&choice);

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

(

Delete();

}

else

(

menu();

)

}

voidXiugai()

intindex=0;

intID,j;

charchoice;

structgoodsi[1000];

structgoodstemp;

FILE*fp;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...w);

exit(0);

}

fread(&temp,sizeof(structgoods),1,fp);

while(!feof(fp))

(

i[index]=temp;

index++;

fread(&temp,sizeof(structgoods),1,fp);

)

fclose(fp);

fp=fopen("goods,txt","w");

if(fp=NULL)

(

printf("\\t\t\t系统错误,请您重试...”);

exit(0);

)

printf("\n\t请输入要修改的信息的商品的编号:”);

scanf(,r%dr,,&ID);

for(j=0;j<=index-l;j++)

id!=ID)

fwrite(&i[j],sizeof(structgoods),1,fp);

)

else

I

printf(”\t\t商品名称修改为:”);

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

printf(H\t\t商品生产地修改为:”);

scanfi[j].produce);

printf(”\t\t商品数量修改为:”);

scanf("%d”,&i[j].number);

printf(M\t\t商品进价修改为:*,);

scanf(H%fH,&i[j].bid);

printf(”\t\t商品卖价修改为:”);

scanf("%f”,&i[j].price);

fwrite(&i[j],sizeof(structgoods),1,fp);

)

)

fclose(fp);

printf(M\t\t\t\t商品信息已修改.....”);

printf(w\n您想继续吗?(y/n)”);

scanf(,r%cM,&choice);

if(choice='Y*I|choice==,y')

(

Xiugai();

)

else

menu();

)

}

voidChaxun()

(

FILE*fp;

intfindID;

charchoice;

structgoodsi;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf系统错误,请你重试........w);

exit(0);

)

printf(”\n\t请输入要查询的商品的编号..;

scanf(,r%dn,&findID);

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

(

if(i.id==findID)

{

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

printf(H\n\t商品编号...%20d\nw,i.id);

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

printf(H\n\t商品名称...%20s\nH,i.name);

printf(H\n\t-----------------------------------”);

printfC'\n\t商品产地...%20s\nH,i.produce);

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

printf(H\n\t进口数量...%20d\nM,i.number);

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

printf(H\n\t批发价格..・%20.3f\nH,i.bid);

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

printf(n\n\t卖出价格...%20.3f\n'\i.price);

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

printf(H\n您想继续吗?(y/n)");

scanf(H%c,r,&choice);

if(choice==,Y1||choice==,y,)

ChaxunO;

)

else

(

menu();

}

I

fread(&i,sizeof(structgoods),1,fp);

)

{printf("\t\t\t\t\t输入错误,请重试”);

menu();)

fclose(fp);

}

voidLiulan()

{structgoodsi;

intindex=O;

charchoice;

FILE*fp;

fp二fopen("goods,txt","r");

if(fp=NULL)

(

printf("\t\t\t系统错误,请你重试...");

exit(0);

)

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

(

index++;

printf("\n\n\t****************商品信息%d*****************",index);

printf(M\n\t商品编号...%20d\n",i.id);

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

printf(n\n\t商品名称...%20s\nM,i.name);

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

printf(M\n\t商品产地...%20s\n",i.produce);

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

printf(M\n\t进货数量...%20d\ntt,i.number);

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

printf(w\n\t批发价格...%20.3f\nM,i.bid);

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

printf(M\n\t卖出价格...%20.3f\nM,i.price);

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

getchO;

fread(&i,sizeof(structgoods),1,fp);

)

fclose(fp);

printf(w\n您想继续吗?(y/n)”);

scanf(M%cM,&choice);

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

(

Liulan();

)

else

(

menu();

)

)

voidTuichuO

(charchoice;

printf(tt\n\n\n\n\n\n\n\t\t\t您确定要退出系统吗?\n\n\n\t\t\t如果您想退

出请按'y',其它键将返回主菜单.....”);

scanf(M%cM,&choice);

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

(

printf(M\n\n\n\n\n\n\n\n\n\n\t\t\t\t您的使用!!!'1);

printf(',\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n,');

)

else

menu();

)

voidmain()

{printf("***************欢迎使用超市管理系统******************);

printf("\n**************输入任意键***************************\n");

getchO;

menuO;

}

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

structgoods

(

intid;

charname[20];

charproduce[20];

intnumber;

floatbid;

floatprice;

):

voidmenu();

voidadd();

voidDelete();

voidXiugai();

voidChaxun();

voidLiulanO;

voidTuichuO;

voidmain();

voidmenu();

voidadd();

voidDelete();

voidXiugai();

voidChaxun();

voidLiulanO;

voidTuichuO;

voidmain();

voidmenu()

(

intchoice;

printf("\n*************超市商品信息管理系统*****************\n");

printf(M-----------------------------------系统菜单显示如下

一”);

printf(H\n\t1.新商品登记\n")

printf(H\n\t2.商品信息删除\n")

printf(M\n\t3.商品信息修改\n")

printf(M\n\t4.商品信息查询\n")

printf(n\n\t5.商品信息浏览\n")

printf(H\n\t6.退出管理系统\n")

printf(”\n\t请输入您要选择的菜单:”);

scanf("%d'&choice);

switch(choice)

(

case1:

add();

break;

case2:

Delete();

break;

case3:

Xiugai();

break;

case4:

Chaxun();

break;

case5:

LiuIan();

break;

case6:

Tuichu();

break;

default:

printf("\n\t\t\t\t\t输入无效,请您重新输入.

getch();

)

getchO;

menu();

)

intPanduan(intid)

|

FILE*fp;

structgoodsi;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...");

exit(0);

)

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

(

if(i.id==id)

I

fclose(fp);

return1;

break;

)

fread(&i,sizeof(structgoods),1,fp);

)

fclose(fp);

return0;

}

voidadd()

{structgoodsi;

charchoice;

FILE*fp;

fp=fopen("goods,txt","ab");

if(fp==NULL)

printf("\t\t\t系统错误,请您重试...");

exit(0);

lablD:

printf(M\n\t请您输入要入库商品的信息...\n〃);

printf(n\t\t\t\t商品的编号:");

scanfid);

if(Panduan(i.id)==l)

printf("\t\t\t\t此编号已被使用,请您重新输入.....”);

gotolablD;

}

printf(M\t\t\t\t商品的名称:");

scanf("%s,r,i.name);

printf(,r\t\t\t\t商品的生产地:");

scanfi.produce);

printf(M\t\t\t\t商品的数量:”);

scanfnumber);

printf(w\t\t\t\t商品的进价:”);

scanfbid);

printf(w\t\t\t\t商品的卖价:”);

scanfprice);

fwrite(&i,sizeof(structgoods),1,fp);

fclose(fp);

printf(n\t\t\t\t\t\t商品信息已入库成功!!!\nM);

printf("\n您想继续吗?(y/n)”);

scanf(M%cM,&choice);

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

(

add();

)

else

(

menu();

)

}

voidDelete()

{structgoodsi[1000];

structgoodstemp;

intdellD;

charchoice;

intindex=0;

intj=0;

FILE*fp;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试.......”);

exit(0);

)

fread(&temp,sizeof(structgoods),1,fp);

while(!feof(fp))

i[index]二temp;

index++;

fread(&temp,sizeof(structgoods),1,fp);

)

fclose(fp);

printf("\n't请输入要删除的商品的编号:”);

scanf(H%dM,&delID);

fopen(Hgoods,txt","w");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...”);

exit(0);

)

for(j=0;j<index;j++)

(

if(i[j],id!=delID)

!

fwrite(&i[j],sizeof(structgoods),1,fp);

)

)

fclose(fp);

printf(,r\t\t\t\t\t商品信息已清除!!!\n");

printf(M\n您想继续吗?(y/n)”);

scanf(M%cM,&choice);

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

DeleteO;

)

else

menu();

voidXiugai()

{intindex=0;

intID,j;

charchoice;

structgoodsi[1000];

structgoodstemp;

FILE*fp;

fp=fopen(Hgoods.txt","r");

if(fp==NULL)

(

printf(”\t\t\t系统错误,请您重试.......”);

exit(0);

)

fread(&temp,sizeof(structgoods),1,fp);

while(!feof(fp))

(

i[index]二temp;

index++;

fread(&temp,sizeof(structgoods),1,fp);

)

fclose(fp);

fp=fopen(ngoods.txt","w");

if(fp==NULL)

printf("\\t\t\t系统错误,请您重试.......");

exit(0);

)

printf("\n\t请输入要修改的信息的商品的编号:");

scanf("%d",&ID);

for(j=0;j<=index-l;j++)

(

if(i[j].id!=ID)

(

fwrite(&i[j],sizeof(structgoods),1,fp);

}

else

(

printf("\t\t商品名称修改为:");

scanf("%s",i[j]■name);

printf("\t\t商品生产地修改为:”);

scanf("%s",i[j].produce);

printf("\t\t商品数量修改为:");

scanf("%d",&i[j],number);

printf("\t\t商品进价修改为:");

scanf[j],bid);

printf("\t\t商品卖价修改为:");

scanf[j].price);

fwrite(&i[j],sizeof(structgoods),1,fp);

)

}

fclose(fp);

printf("\t\t\t\t商品信息已修改.....");

printf(M\n您想继续吗?(y/n)");

scanf(M%cn,&choice);

if(choice==,Y*I|choice==,y')

(

Xiugai();

)

else

(

menu();

}

)

voidChaxun()

(

FILE*fp;

intfindID;

charchoice;

structgoodsi;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请你重试...");

exit(0);

)

printf(”\n\t请输入要查询的商品的编号

scanf(,,%d,r,&findID);

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

if(i.id=二findID)

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

printf(H\n\t商品编号...%20d\nM,i.id);

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

printf(y\n\t商品名称...%20s\n'\i.name);

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

printf(H\n\t商品产地...%20s\nH,i.produce);

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

printf(M\n\t进口数量...%20d\nn,i.number);

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

printf(H\n\t批发价格...%20.3f\n'\i.bid);

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

printf(H\n\t卖出价格...%20.3f\n'\i.price);

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

printf(”\n您想继续吗?(y/n)");

scanf(M%c,r,&choice);

if(choice二二Y|Ichoice二二'y')

Chaxun();

else

menu();

)

)

fread(&i,sizeof(structgoods),1,fp);

)

{printf("\t\t\t\t\t输入错误,请重试”);

menu();)

fclose(fp);

}

voidLiulanO

{structgoodsi;

intindex=0;

charchoice;

FILE*fp;

fp=fopen(Mgoods.txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请你重试.......");

exit(0);

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

index++;

printf("\n\n\t****************W品信息%d*****************”,index);

printf("\n\t商品编号...%20d\n",i.id);

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

printf(M\n\t商品名称...%20s\nM,i.name);

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

printf(H\n\t商品产地...%20s\n",i.produce);

printf(°\n\t------------------------------------------n);

printf("\n\t进货数量...%20d\nn,i.number);

printf(M\n\t------------------------------------------*);

printf(M\n\t批发价格...%20.3f\nM,i.bid);

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

printf("\n\t卖出价格...%20.3f\nH,i.price);

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

getchO;

fread(&i,sizeof(structgoods),1,fp);

fclose(fp);

printf(”\n您想继续吗?(y/n)”);

scanf(M%c'*,&choice);

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

(

Liulan();

)

else

(

menu();

)

)

voidTuichuO

{charchoice;

printf(H\n\n\n\n\n\n\n\t\t\t您确定要退出系统吗?\n\n\n\t\t\t如果您想退

出请按'y',其它键将返回主菜单.....”);

scanf(,r%cH,&choice);

if(choice==,Y'||choice-^')

printf(M\n\n\n\n\n\n\n\n\n\n\t\t\t\t您的使用!!!");

printf(n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nM);

else

menu();

)

}

voidmain()

{printf("***************欢迎使用超市管理系统*****************");

printf("\n**************输入任意键***************************\n");

getchO;

menu();

}

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

ttinclude<conio.h>

structgoods

intid;

charname[20];

charproduce[20];

intnumber;

floatbid;

floatprice;

);

voidmenu();

voidadd();

voidDelete();

voidXiugai();

voidChaxun();

voidLiulanO;

voidTuichuO;

voidmain();

voidmenu();

voidadd();

voidDelete();

voidXiugai();

voidChaxun();

voidLiulanO;

voidTuichuO;

voidmain();

voidmenu()

intchoice;

printf("\n*************超市商品信息管理系统*****************\n");

printf(f,系统菜单显示如下

printf(H\n\t1.新商品登记\n")

printf(H\n\t2.商品信息删除\n")

printf(n\n\t3.商品信息修改\n")

printf(M\n\t4.商品信息查询\n")

printf(n\n\t5.商品信息浏览\n")

printf(,r\n\t6.退出管理系统\n")

printf("\n\t请输入您要选择的菜单:");

scanf(n%dn,&choice);

switch(choice)

(

case1:

add();

break;

case2:

Delete();

break;

case3:

Xiugai();

break;

case4:

Chaxun();

break;

case5:

Liulan();

break;

case6:

TuichuO;

break;

default:

printf("\n\t\t\t\t\t输入无效,请您重新输入.

getchO;

)

getchO;

menu();

}

intPanduan(intid)

{

FILE*fp;

structgoodsi;

fp=fopen(Mgoods.txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...");

exit(0);

)

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

(

if(i.id==id)

I

fclose(fp);

return1;

break;

}

fread(&i,sizeof(structgoods),1,fp);

)

fclose(fp);

return0;

}

voidadd()

{structgoodsi;

charchoice;

FILE*fp;

fp=fopen("goods,txt","ab");

if(fp==NULL)

(

p「intf("\t\t\t系统错误,请您重试...");

exit(0);

)

lablD:

printf(M\n\t请您输入要入库商品的信息...\n”);

printf(M\t\t\t\t商品的编号:”);

scanfid);

if(Panduan(i.id)==l)

printf("\t\t\t\t此编号已被使用,请您重新输入.....”);

gotolablD;

printf(n\t\t\t\t商品的名称:”);

scanf(tt%s,r,i.name);

printf(H\t\t\t\t商品的生产地:");

scanf(M%s”,i.produce);

printf(,f\t\t\t\t商品的数量:”);

scanfnumber);

printf(n\t\t\t\t商品的进价:”);

scanfbid);

printf(w\t\t\t\t商品的卖价:”);

scanf(,r%fn,&i,price);

fwrite(&i,sizeof(structgoods),l,fp);

fclose(fp);

printf(n\t\t\t\t\t\t商品信息已入库成功!!!\n");

printf(H\n您想继续吗?(y/n)");

scanf(,r%cn,&choice);

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

(

add();

)

else

I

menu();

)

}

voidDelete()

{structgoodsi[1000];

structgoodstemp;

intdellD;

charchoice;

intindex=0;

intj=0;

FILE*fp;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...");

exit(0);

}

fread(&temp,sizeof(structgoods),1,fp);

while(!feof(fp))

(

i[index]=temp;

index++;

fread(&temp,sizeof(structgoods),1,fp);

)

fclose(fp);

printf("\n't请输入要删除的商品的编号:”);

scanf("%d",&delID);

fopen("goods,txt","w");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试...");

exit(0);

)

for(j=0;j<index;j++)

(

id!=delID)

fwrite(&i[j],sizeof(structgoods),1,fp);

)

fclose(fp);

printf(H\t\t\t\t\t商品信息已清除!!!\n");

printf("\n您想继续吗?(y/n)”);

scanf(n%cn,&choice);

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

(

Delete();

)

else

(

menu();

)

}

voidXiugaiO

{intindex=0;

intID,j;

charchoice;

structgoodsi[1000];

structgoodstemp;

FILE*fp;

fp=fopen("goods,txt","r");

if(fp==NULL)

(

printf("\t\t\t系统错误,请您重试.......");

exit(0);

)

fread(fttemp,sizeof(structgoods),1,fp);

while(!feof(fp))

(

i[index]=temp;

index++;

fread(&temp,sizeof(structgoods),1,fp);

)

fclose(fp);

fp=fopen(ngoods.txt","w");

if(fp==NULL)

(

printf("\\t\t\t系统错误,请您重试...");

exit(0);

)

printf("\n\t请输入要修改的信息的商品的编号:");

scanf("%d",&ID);

for(j=0;j<=index-l;j++)

I

if(i[j].id!=ID)

I

fwrite(&i[j],sizeof(structgoods),1,fp);

)

else

{

printf(”\t\t商品名称修改为:”);

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

printf(n\t\t商品生产地修改为、);

scanf("%s",i[j].produce);

printf("\t\t商品数量修改为:”);

scanf(映d",&i[j].number);

printf(M\t\t商品进价修改为:");

scanf[j].bid);

printf(”\t\t商品卖价修改为:”);

scanf(H%f",&i[j].price);

fwrite(&i[j],sizeof(structgoods),1,fp);

)

)

fclose(fp);

printf(w\t\t\t\t商品信息已修改.....”);

printf(”\n您想继续吗?(y/n)”);

scanf(M%cM,&choice);

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

(

Xiugai();

)

else

(

menu();

)

)

voidChaxun()

(

FILE*fp;

intfindID;

charchoice;

structgoodsi;

fp=fopen("goods,txt","r");

if(fp=NULL)

printf("\t\t\t系统错误,请你重试.......");

exit(0);

printf("\n\t请输入要查询的商品的编号

scanf(M%d,f,&findID);

fread(&i,sizeof(structgoods),1,fp);

while(!feof(fp))

(

if(i.id==findID)

printf(*'\n\t商品编号...%20d\nH,i.id);

printf(H\n\t-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论