1、include
2、id tuichu(); void initialization() { FILE *fp; struct Thing i={1,"牛奶","辽宁",1200,3}; fp=fopen("Thing.dat恶","w"); if(fp==NULL) { printf("\t\t\t系统错误,请重试........"); exit(0); } fwrite(&i,sizeof(struct Thing),1,fp); fclose(fp); } void menu() { int choice; printf("\n∞∞∞∞∞
3、∞∞∞∞∞∞∞∞∞∞ 【超市管理系统】 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞\n"); printf("------------------------------ 系统菜单 -------------------------------"); printf("\n\t①=====================【 新购物品入库 】\n"); printf("\n\t②=====================【 物品信息删除 】\n"); printf("\n\t③===============
4、 物品信息修改 】\n"); printf("\n\t④=====================【 利用编号查询 】\n"); printf("\n\t⑤=====================【 利用种类查找 】\n"); printf("\n\t⑥=====================【 物品信息浏览 】\n"); printf("\n\t⑦=====================【 应用
5、程序退出 】\n"); printf("\n\t请输入您要选择的菜单......"); scanf("%d",&choice); switch(choice) { case 1: tianjia(); break; case 2: shanchu(); break; case 3: xiugai(); break; case 4: chaxun(); break; case 5: chazhao(); break; case 6: liulan(); break;
6、 case 7: tuichu(); break; default: printf("\n\t\t\t\t\t输入无效,请您重新输入......"); getch(); system("cls"); menu(); } } int validateID(int id) { FILE *fp; struct Thing i; fp=fopen("Thing.date","r"); if(fp==NULL) { printf("\t\t\t系统错误,请您重试........"); exit(0); }
7、 fread(&i,sizeof(struct Thing),1,fp); while(!feof(fp)) { if(i.id==id) { fclose(fp); return 1; break; } fread(&i,sizeof(struct Thing),1,fp); } fclose(fp); return 0; } void tianjia() { struct Thing i; char choice; FILE *fp; fp=fopen("Thing.date","ab");
8、 if(fp==NULL) { printf("\t\t\t系统错误,请您重试........"); exit(0); } labID: printf("\n\t请您输入要入库物品的信息...\n"); printf("\t\t\t\t 物品的编号:"); scanf("%d",&i.id); if(validateID(i.id)==1) { printf("\t\t\t\t此编号已被使用,请您重新输入......"); goto labID; } printf("\t\t\t\t 物品的名称:"); s
9、canf("%s",i.name); printf("\t\t\t\t 物品的生产地:"); scanf("%s",i.produce); printf("\t\t\t\t 物品的数量:"); scanf("%d",&i.number); printf("\t\t\t\t 物品的单价:"); scanf("%f",&i.price); printf("\t\t\t\t 物品的种类:"); scanf("%s",i.type); fwrite(&i,sizeof(struct Thing),1,fp); fclose(fp); prin
10、tf("\t\t\t\t\t\t 物品信息已入库成功!!!\n"); printf("\n您想继续吗?(y/n)"); scanf(" %c",&choice); if(choice=='Y'||choice=='y') { tianjia(); } else { system("cls"); menu(); } } void shanchu() { struct Thing i[1000]; struct Thing temp; int shanchuID; char choice; int index=0;
11、 int j=0; FILE *fp; fp=fopen("Thing.date","r"); if(fp==NULL) { printf("\t\t\t系统错误,请您重试........"); exit(0); } fread(&temp,sizeof(struct Thing),1,fp); while(!feof(fp)) { i[index]=temp; index++; fread(&temp,sizeof(struct Thing),1,fp); } fclose(fp); printf("\n\t请输入
12、要删除的物品的编号:");
scanf("%d",&shanchuID);
fopen("f:\\Thing.date","w");
if(fp==NULL)
{
printf("\t\t\t系统错误,请您重试........");
exit(0);
}
for( j=0;j 13、清除!!!\n");
printf("\n您想继续吗?(y/n)");
scanf(" %c",&choice);
if(choice=='Y'||choice=='y')
{
shanchu ();
}
else
{
system("cls");
menu();
}
}
void xiugai()
{ int index=0;
int ID,j;
char choice;
struct Thing i[1000];
struct Thing temp;
FILE *fp;
fp=fop 14、en("Thing.date","r");
if(fp==NULL)
{
printf("\t\t\t系统错误,请您重试........");
exit(0);
}
fread(&temp,sizeof(struct Thing),1,fp);
while(!feof(fp))
{
i[index]=temp;
index++;
fread(&temp,sizeof(struct Thing),1,fp);
}
fclose(fp);
fp=fopen("Thing.date","w");
if(fp==NULL)
{
15、
printf("\\t\t\t系统错误,请您重试........");
exit(0);
}
printf("\n\t请输入要修改的信息的物品的编号:");
scanf("%d",&ID);
for(j=0;j<=index-1;j++)
{
if(i[j].id!=ID)
{
fwrite(&i[j],sizeof(struct Thing),1,fp);
}
else
{
printf("\t\t物品名称修改为:");
scanf("%s",i[j].name);
printf("\t\t物品生产 16、地修改为:");
scanf("%s",i[j].produce);
printf("\t\t物品数量修改为:");
scanf("%d",&i[j].number);
printf("\t\t物品单价修改为:");
scanf("%f",&i[j].price);
printf("\t\t物品种类修改为:");
scanf("%s",i[j].type);
fwrite(&i[j],sizeof(struct Thing),1,fp);
}
}
fclose(fp);
printf("\t\t\t\t物品信息已 17、修改......");
printf("\n您想继续吗?(y/n)");
scanf(" %c",&choice);
if(choice=='Y'||choice=='y')
{
xiugai();
}
else
{
system("cls");
menu();
}
}
void chaxun()
{
FILE *fp;
int chaxunID;char choice;struct Thing i;
fp=fopen("Thing.date","r");
if(fp==NULL)
{
printf(" 18、\t\t\t系统错误,请你重试........");
exit(0);
}
chaxunID:
printf("\n\t请输入要查询的物品的编号..");
scanf("%d",&chaxunID);
fread(&i,sizeof(struct Thing),1,fp);
while(!feof(fp))
{
if(i.id==chaxunID)
{
printf("\n\n\t***************物品信息******************");
printf("\n\t物品编号...%30d\n",i.id); 19、
printf("\n\t-----------------------------------------");
printf("\n\t物品名称...%30s\n",i.name);
printf("\n\t-----------------------------------------");
printf("\n\t生产厂家...%30s\n",i.produce);
printf("\n\t-----------------------------------------");
printf("\n\t进口数量...%30d\n",i. 20、number);
printf("\n\t-----------------------------------------");
printf("\n\t批发价格...%30.3f\n",i.price);
printf("\n\t-----------------------------------------");
printf("\n\t物品种类...%30s\n",i.type);
printf("\n\t-----------------------------------------");
printf("\n您想继续吗?(y/n) 21、");
scanf(" %c",&choice);
if(choice=='Y'||choice=='y')
{
chaxun();
}
else
{
system("cls");
menu();
}
}
fread(&i,sizeof(struct Thing),1,fp);
}
fclose(fp);
printf("\t\t\t\t\t输入的编号不存在,请您重新输入......");
goto chaxunID;
}
void chazhao()
{
FILE * 22、fp;
char chazhaoTYPE;char choice;struct Thing i;
fp=fopen("Thing.date","r");
if(fp==NULL)
{
printf("\t\t\t系统错误,请你重试........");
exit(0);
}
chazhaoTYPE:
printf("\n\t请输入要查找的物品的种类..");
scanf("%s",&chazhaoTYPE);
fread(&i,sizeof(struct Thing),1,fp);
while(!feof(fp)) 23、
{
if(i.type)
{
printf("\n\n\t***************物品信息******************");
printf("\n\t物品编号...%30d\n",i.id);
printf("\n\t-----------------------------------------");
printf("\n\t物品名称...%30s\n",i.name);
printf("\n\t-----------------------------------------");
printf("\n\t生 24、产厂家...%30s\n",i.produce);
printf("\n\t-----------------------------------------");
printf("\n\t进口数量...%30d\n",i.number);
printf("\n\t-----------------------------------------");
printf("\n\t批发价格...%30.3f\n",i.price);
printf("\n\t-----------------------------------------");
pr 25、intf("\n\t物品种类...%30s\n",i.type);
printf("\n\t-----------------------------------------");
printf("\n您想继续吗?(y/n)");
scanf(" %c",&choice);
if(choice=='Y'||choice=='y')
{
chazhao();
}
else
{
system("cls");
menu();
}
}
fread(&i,sizeof(struct Thi 26、ng),1,fp);
}
fclose(fp);
printf("\t\t\t\t\t输入的种类不存在,请您重新输入......");
goto chazhaoTYPE;
}
void liulan()
{ struct Thing i;
int index=0;
char choice;
FILE *fp;
fp=fopen("Thing.date","r");
if(fp==NULL)
{
printf("\t\t\t系统错误,请你重试........");
exit(0);
}
fread(&i,siz 27、eof(struct Thing),1,fp);
while(!feof(fp))
{
index++;
printf("\n\n\t****************物品信息%d*****************",index);
printf("\n\t物品编号...%30d\n",i.id);
printf("\n\t-----------------------------------------");
printf("\n\t物品名称...%30s\n",i.name);
printf("\n\t-------------------- 28、");
printf("\n\t生产厂家...%30s\n",i.produce);
printf("\n\t-----------------------------------------");
printf("\n\t进口数量...%30d\n",i.number);
printf("\n\t-----------------------------------------");
printf("\n\t批发价格...%30.3f\n",i.price);
printf("\n\t--------------- 29、");
printf("\n\t物品种类...%30s\n",i.type);
printf("\n\t-----------------------------------------");
getch();
fread(&i,sizeof(struct Thing),1,fp);
}
fclose(fp);
printf("\n您想继续吗?(y/n)");
scanf(" %c",&choice);
if(choice=='Y'||choice=='y')
{
liulan(); 30、
}
else
{
system("cls");
menu();
}
}
void tuichu()
{char choice;
system("cls");
printf("\n\n\n\n\n\n\n\t\t\t您确定要退出系统吗?\n\n\n\t\t\t如果您想退出请按'y',其它键将返回主菜单.....");
scanf(" %c",&choice);
if(choice=='Y'||choice=='y')
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t 31、谢谢您的使用!!!");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
}
else
{
system("cls");
menu();
}
}
void main()
{
printf("\n\n");
printf("\t\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3\n");
printf("\t\3 32、 \3\n");
printf("\t\3 \3\n");
printf("\t\3 欢迎使用 \3\n");
printf("\t\3 \3\n");
33、 printf("\t\3 \3\n");
printf("\t\3 超市管理系统 \3\n");
printf("\t\3 按任意键继续 \3\n");
printf("\t\3 34、 \3\n");
printf("\t\3 \3\n");
printf("\t\3 \3\n");
printf("\t\3 \3\n");
printf("\t\3 35、 \3\n");
printf("\t\3 \3\n");
printf("\t\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3");
getch();
system("cls");
menu();
initialization();
menu();
}






