版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
超市商品信息管理系統(tǒng)的設(shè)計與實現(xiàn)的設(shè)計方案
1.題目
《超市商品信息管理系統(tǒng)》的設(shè)計與實現(xiàn)
2.功能
(D每一條記錄包括一種商品的編號,商品名,生產(chǎn)地,數(shù)量,進(jìn)貨價格和賣出價格。
(2)添加功能:每回都是錄入一條商品信息,但是會有提示問您是否繼續(xù)接著進(jìn)行商品
信息的錄入,如果是,您可以繼續(xù)添加,不是,則返回主菜單。每回添加的信息會自動以二
進(jìn)制格式寫入文件中。
(3)刪除功能:每回您可以刪除一條您所指定編號的信息。
(4)修改功能:會逐條提示您所要修改的商品信息,修改后的信息會自動以二進(jìn)制格式
寫入文件中。
(5)查詢功能:輸入您所要查詢的商品編號,會顯示出您所要查詢的商品信息。
(6)瀏覽功能:會顯示出商品的信息。
(7)退出功能:每回回到菜單界面,您可以根據(jù)菜單提示退出系統(tǒng)。
(9)輸入任意鍵,可以進(jìn)入系統(tǒng)菜單。
3.要求
(D利用指針來實現(xiàn)學(xué)生成績的數(shù)據(jù)結(jié)構(gòu)設(shè)計;
(2)系統(tǒng)具有添加,刪除,修改,查詢,瀏覽,退出等基本功能;
(3)系統(tǒng)的各個調(diào)用函數(shù)用函數(shù)的形式來實現(xiàn);
(4)可以將商品信息保存在文件中。
(5)可以將商品信息從文件中讀取出來。
4.1主函數(shù)voidmain()
任意鍵進(jìn)入
4.2系統(tǒng)菜單函數(shù)voidmenu()
其中有一個switch循環(huán),利用這個循環(huán)實現(xiàn)各個函數(shù)的調(diào)用,當(dāng)您輸入的數(shù)字不在菜單
圍時,會要求您重新輸入,清屏之后重新返回菜單界面,繼續(xù)操作。
效果如下:
4.3判斷函數(shù)intPanduan(intid)
這是一個有返回值的函數(shù),它不是被菜單函數(shù)引用,而是被添加函數(shù)引用,主要是判斷
您新添加的信息是否和之前的信息重復(fù),如果重復(fù),會返回值1,如果不重復(fù)則是返回0。
4.4添加函數(shù)voidTianjiaO
首先以追加數(shù)據(jù)的形式打開文件,接著利用判斷函數(shù)判斷所添加的信息是否和先前的
信息重復(fù),如果重復(fù),則會提示您重新輸入,如果不重復(fù),則會逐條顯示提示,根據(jù)提示,
開始添加信息。完畢之后,提示您是否繼續(xù),如果輸入“Y”或"y”,,表示繼續(xù),函數(shù)則
會引用自身,又開始新的添加,如果輸入“N”或"n”,表示不繼續(xù),則會清屏,重新回到
菜單界面。
效果如下:
4.5刪除函數(shù)voidDelete()
首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時,會顯示“系統(tǒng)錯誤,請
您重試”,當(dāng)有可以執(zhí)行的操作,函數(shù)開始把文件中的數(shù)據(jù)存放到一個結(jié)構(gòu)體數(shù)組中,接著
提示您要刪除的商品編號,利用循環(huán),將不要刪除的信息重新寫入文件,將刪除的信息不重
新寫入,就是相當(dāng)于刪除了。完畢之后,提示您是否繼續(xù),如果輸入“Y”或"y”,,表示
繼續(xù),函數(shù)則會引用自身,又開始新的刪除,如果輸入“N”或"n”,表示不繼續(xù),則會清
屏,重新回到菜單界面。
下過如下:
4.6修改函數(shù)voidXiugai()
首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時,會顯示“系統(tǒng)錯誤,請
您重試”,當(dāng)有可以執(zhí)行的操作,函數(shù)開始把文件中的數(shù)據(jù)存放到一個結(jié)構(gòu)體數(shù)組中,關(guān)閉
文件。在以只讀的方式打開,接著提示您要修改的商品編號,利用循環(huán),將不要修改的信息
重新寫入文件,而要修改的信息則在提示下修改完后重新寫入文件。修改完畢之后,提示您
是否繼續(xù),如果輸入“Y”或"y”,,表示繼續(xù),函數(shù)則會引用自身,又開始新的刪除,如
果輸入“N”或"n”,表示不繼續(xù),則會清屏,重新回到菜單界面。
4.7查詢函數(shù)voidChaxun()
首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時,會顯示“系統(tǒng)錯誤,請
您重試”,當(dāng)有信息時,則提示您要查詢的商品編號,判斷是否有這個商品,如果有,則會
顯示出該商品信息,完畢之后,提示您是否繼續(xù),如果輸入“Y”或"y”,,表示繼續(xù),函
數(shù)則會引用自身,又開始新的查詢,如果輸入“N”或"n”,表示不繼續(xù),則會清屏,重新
回到菜單界面。如果沒有,則會提示“輸入的編號不存在,請整重新輸入”。
4.8瀏覽函數(shù)voidLiulanO
首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時,會顯示“系統(tǒng)錯誤,請
您重試”,當(dāng)有信息時,則會逐條顯示出所有商品的信息,完畢之后,提示您是否繼續(xù),如
果輸入“Y”或"y”,,表示繼續(xù),函數(shù)則會引用自身,又開始新的瀏覽,如果輸入“N”
或“n”,表示不繼續(xù),則會清屏,重新回到菜單界面。
效果如下:
4.9退出函數(shù)voidTuichu
選擇退出后首先會清屏,接著顯示提示“您確定要退出系統(tǒng)嗎?如果您想退出請按'y',
其它鍵將返回主菜單”,如果選擇"Y”或"y”,則會退出系統(tǒng),如果按其他任一鍵,則重
新回到菜單界面。
5總結(jié):
學(xué)習(xí)c語言一學(xué)期了,只是第一次做這么大的編程.剛剛接到這個任務(wù)時,感覺無從下
手,感覺自己無法完成。但是還是抱著試試看的心態(tài)去完成了,由于上學(xué)期鏈表掌握的并不
是很好,所以在這次的程序設(shè)計中并沒有使用鏈表,這也可以算是此程序的一個缺點,抑或
是自己的一種遺憾。在做這個程序的過程中,總是遇到一些自己無法解決的問題,有時候自
己根本就不知道錯在哪里,這也弄得自己心浮氣躁的,過了一段時間,靜下心來,仔細(xì)檢查
錯誤,認(rèn)真打開以前的C語言書本,對照書上的例題,一個個的排除錯誤,實在有不會就請
教班上C語言學(xué)的好的同學(xué),他們度比較熱心的幫我解決了問題,終于所編起來的C程序可
以完整的運(yùn)行了,雖然其中的過程有些枯燥,但是做好了之后就會有一種成就感,可能這是
自己第一次完成的編程大題目,這就像爬山一樣,過程是艱辛的,但是當(dāng)你登上山頂之后,
就會有種暢快淋漓的感覺,我想這就是做編程的樂趣吧,這是我第一個做的編程,我將會留
下很深的印象,我相信以后我可以做出更好的編程!
程序如下:
#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*************超市商品信息管理系統(tǒng)*****************\n");
printf(r,-------------------------------------系統(tǒng)菜單顯示如下
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.退出管理系統(tǒng)\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系統(tǒng)錯誤,請您重試.......");
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系統(tǒng)錯誤,請您重試.......");
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商品的生產(chǎn)地:");
scanf(M%s,r,i.produce);
printf(M\t\t\t\t商品的數(shù)量:”);
scanf(M%d,r,&i.number);
printf(,r\t\t\t\t商品的進(jìn)價:”);
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請您重試...");
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系統(tǒng)錯誤,請您重試...");
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請您重試...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系統(tǒng)錯誤,請您重試...”);
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商品生產(chǎn)地修改為:”);
scanfi[j].produce);
printf(”\t\t商品數(shù)量修改為:”);
scanf("%d”,&i[j].number);
printf(M\t\t商品進(jìn)價修改為:*,);
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請你重試........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商品產(chǎn)地...%20s\nH,i.produce);
printf(H\n\t------------------------------------------");
printf(H\n\t進(jìn)口數(shù)量...%20d\nM,i.number);
printf("\n't------------------------------------------");
printf(H\n\t批發(fā)價格..?%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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請你重試...");
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商品產(chǎn)地...%20s\n",i.produce);
printf(H\n\t------------------------------------------");
printf(M\n\t進(jìn)貨數(shù)量...%20d\ntt,i.number);
printf(M\n\t------------------------------------------");
printf(w\n\t批發(fā)價格...%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您想繼續(xù)嗎?(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您確定要退出系統(tǒng)嗎?\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("***************歡迎使用超市管理系統(tǒng)******************);
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*************超市商品信息管理系統(tǒng)*****************\n");
printf(M-----------------------------------系統(tǒng)菜單顯示如下
一”);
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.退出管理系統(tǒng)\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系統(tǒng)錯誤,請您重試...");
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系統(tǒng)錯誤,請您重試...");
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商品的生產(chǎn)地:");
scanfi.produce);
printf(M\t\t\t\t商品的數(shù)量:”);
scanfnumber);
printf(w\t\t\t\t商品的進(jìn)價:”);
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請您重試.......”);
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系統(tǒng)錯誤,請您重試...”);
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請您重試.......”);
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系統(tǒng)錯誤,請您重試.......");
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商品生產(chǎn)地修改為:”);
scanf("%s",i[j].produce);
printf("\t\t商品數(shù)量修改為:");
scanf("%d",&i[j],number);
printf("\t\t商品進(jìn)價修改為:");
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請你重試...");
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商品產(chǎn)地...%20s\nH,i.produce);
printf(°\n\t-----------------------------------------------");
printf(M\n\t進(jìn)口數(shù)量...%20d\nn,i.number);
printf(H\n\t-----------------------------------------------");
printf(H\n\t批發(fā)價格...%20.3f\n'\i.bid);
printf("\n't-----------------------------------------------");
printf(H\n\t賣出價格...%20.3f\n'\i.price);
printf(H\n\t-----------------------------------------------");
printf(”\n您想繼續(xù)嗎?(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系統(tǒng)錯誤,請你重試.......");
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商品產(chǎn)地...%20s\n",i.produce);
printf(°\n\t------------------------------------------n);
printf("\n\t進(jìn)貨數(shù)量...%20d\nn,i.number);
printf(M\n\t------------------------------------------*);
printf(M\n\t批發(fā)價格...%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您想繼續(xù)嗎?(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您確定要退出系統(tǒng)嗎?\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("***************歡迎使用超市管理系統(tǒng)*****************");
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*************超市商品信息管理系統(tǒng)*****************\n");
printf(f,系統(tǒng)菜單顯示如下
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.退出管理系統(tǒng)\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系統(tǒng)錯誤,請您重試...");
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系統(tǒng)錯誤,請您重試...");
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商品的生產(chǎn)地:");
scanf(M%s”,i.produce);
printf(,f\t\t\t\t商品的數(shù)量:”);
scanfnumber);
printf(n\t\t\t\t商品的進(jìn)價:”);
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請您重試...");
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系統(tǒng)錯誤,請您重試...");
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請您重試.......");
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系統(tǒng)錯誤,請您重試...");
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商品生產(chǎn)地修改為、);
scanf("%s",i[j].produce);
printf("\t\t商品數(shù)量修改為:”);
scanf(映d",&i[j].number);
printf(M\t\t商品進(jìn)價修改為:");
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您想繼續(xù)嗎?(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系統(tǒng)錯誤,請你重試.......");
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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工單位關(guān)于施工進(jìn)度報告的工作聯(lián)系函
- 跨越障礙培養(yǎng)學(xué)生創(chuàng)新能力的有效措施
- 跨領(lǐng)域視角下的安全工作與生產(chǎn)計劃整合
- DB3702T 45.1-2024地理標(biāo)志產(chǎn)品 平度牛肉 第1部分:生產(chǎn)技術(shù)規(guī)程
- 二手貨物買賣合同范文
- 中外合資企業(yè)職工住房公積金合同范本
- 中外合作經(jīng)營企業(yè)合同范本
- 中外合資飯店租賃合同模板
- 專利實施許可合同協(xié)議
- 中外原材料供應(yīng)合同樣本
- 中國數(shù)字貨運(yùn)發(fā)展報告
- 使用AVF血液透析患者的護(hù)理查房
- 《幼兒教師職業(yè)道德》教案
- 2021年高考山東卷化學(xué)試題(含答案解析)
- 客服百問百答
- GA/T 766-2020人精液PSA檢測金標(biāo)試劑條法
- 品管圈活動提高氧氣霧化吸入注意事項知曉率
- 農(nóng)產(chǎn)品質(zhì)量安全控制課件
- 幼兒園中班健康:《小河馬的大口罩》 課件
- 管道工程污水管網(wǎng)監(jiān)理規(guī)劃(共44)
- 洪屏抽水蓄能電站達(dá)標(biāo)投產(chǎn)策劃方案
評論
0/150
提交評論