超市商品信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的設(shè)計(jì)方案_第1頁
超市商品信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的設(shè)計(jì)方案_第2頁
超市商品信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的設(shè)計(jì)方案_第3頁
超市商品信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的設(shè)計(jì)方案_第4頁
超市商品信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的設(shè)計(jì)方案_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

超市商品信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的設(shè)計(jì)方案

1.題目

《超市商品信息管理系統(tǒng)》的設(shè)計(jì)與實(shí)現(xiàn)

2.功能

(D每一條記錄包括一種商品的編號(hào),商品名,生產(chǎn)地,數(shù)量,進(jìn)貨價(jià)格和賣出價(jià)格。

(2)添加功能:每回都是錄入一條商品信息,但是會(huì)有提示問您是否繼續(xù)接著進(jìn)行商品

信息的錄入,如果是,您可以繼續(xù)添加,不是,則返回主菜單。每回添加的信息會(huì)自動(dòng)以二

進(jìn)制格式寫入文件中。

(3)刪除功能:每回您可以刪除一條您所指定編號(hào)的信息。

(4)修改功能:會(huì)逐條提示您所要修改的商品信息,修改后的信息會(huì)自動(dòng)以二進(jìn)制格式

寫入文件中。

(5)查詢功能:輸入您所要查詢的商品編號(hào),會(huì)顯示出您所要查詢的商品信息。

(6)瀏覽功能:會(huì)顯示出商品的信息。

(7)退出功能:每回回到菜單界面,您可以根據(jù)菜單提示退出系統(tǒng)。

(9)輸入任意鍵,可以進(jìn)入系統(tǒng)菜單。

3.要求

(D利用指針來實(shí)現(xiàn)學(xué)生成績的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);

(2)系統(tǒng)具有添加,刪除,修改,查詢,瀏覽,退出等基本功能;

(3)系統(tǒng)的各個(gè)調(diào)用函數(shù)用函數(shù)的形式來實(shí)現(xiàn);

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

(5)可以將商品信息從文件中讀取出來。

4.1主函數(shù)voidmain()

任意鍵進(jìn)入

4.2系統(tǒng)菜單函數(shù)voidmenu()

其中有一個(gè)switch循環(huán),利用這個(gè)循環(huán)實(shí)現(xiàn)各個(gè)函數(shù)的調(diào)用,當(dāng)您輸入的數(shù)字不在菜單

圍時(shí),會(huì)要求您重新輸入,清屏之后重新返回菜單界面,繼續(xù)操作。

效果如下:

4.3判斷函數(shù)intPanduan(intid)

這是一個(gè)有返回值的函數(shù),它不是被菜單函數(shù)引用,而是被添加函數(shù)引用,主要是判斷

您新添加的信息是否和之前的信息重復(fù),如果重復(fù),會(huì)返回值1,如果不重復(fù)則是返回0。

4.4添加函數(shù)voidTianjiaO

首先以追加數(shù)據(jù)的形式打開文件,接著利用判斷函數(shù)判斷所添加的信息是否和先前的

信息重復(fù),如果重復(fù),則會(huì)提示您重新輸入,如果不重復(fù),則會(huì)逐條顯示提示,根據(jù)提示,

開始添加信息。完畢之后,提示您是否繼續(xù),如果輸入“Y”或"y”,,表示繼續(xù),函數(shù)則

會(huì)引用自身,又開始新的添加,如果輸入“N”或"n”,表示不繼續(xù),則會(huì)清屏,重新回到

菜單界面。

效果如下:

4.5刪除函數(shù)voidDelete()

首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時(shí),會(huì)顯示“系統(tǒng)錯(cuò)誤,請

您重試”,當(dāng)有可以執(zhí)行的操作,函數(shù)開始把文件中的數(shù)據(jù)存放到一個(gè)結(jié)構(gòu)體數(shù)組中,接著

提示您要?jiǎng)h除的商品編號(hào),利用循環(huán),將不要?jiǎng)h除的信息重新寫入文件,將刪除的信息不重

新寫入,就是相當(dāng)于刪除了。完畢之后,提示您是否繼續(xù),如果輸入“Y”或"y”,,表示

繼續(xù),函數(shù)則會(huì)引用自身,又開始新的刪除,如果輸入“N”或"n”,表示不繼續(xù),則會(huì)清

屏,重新回到菜單界面。

下過如下:

4.6修改函數(shù)voidXiugai()

首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時(shí),會(huì)顯示“系統(tǒng)錯(cuò)誤,請

您重試”,當(dāng)有可以執(zhí)行的操作,函數(shù)開始把文件中的數(shù)據(jù)存放到一個(gè)結(jié)構(gòu)體數(shù)組中,關(guān)閉

文件。在以只讀的方式打開,接著提示您要修改的商品編號(hào),利用循環(huán),將不要修改的信息

重新寫入文件,而要修改的信息則在提示下修改完后重新寫入文件。修改完畢之后,提示您

是否繼續(xù),如果輸入“Y”或"y”,,表示繼續(xù),函數(shù)則會(huì)引用自身,又開始新的刪除,如

果輸入“N”或"n”,表示不繼續(xù),則會(huì)清屏,重新回到菜單界面。

4.7查詢函數(shù)voidChaxun()

首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時(shí),會(huì)顯示“系統(tǒng)錯(cuò)誤,請

您重試”,當(dāng)有信息時(shí),則提示您要查詢的商品編號(hào),判斷是否有這個(gè)商品,如果有,則會(huì)

顯示出該商品信息,完畢之后,提示您是否繼續(xù),如果輸入“Y”或"y”,,表示繼續(xù),函

數(shù)則會(huì)引用自身,又開始新的查詢,如果輸入“N”或"n”,表示不繼續(xù),則會(huì)清屏,重新

回到菜單界面。如果沒有,則會(huì)提示“輸入的編號(hào)不存在,請整重新輸入”。

4.8瀏覽函數(shù)voidLiulanO

首先以只讀的形式打開文件,當(dāng)文件中沒有可以執(zhí)行的信息時(shí),會(huì)顯示“系統(tǒng)錯(cuò)誤,請

您重試”,當(dāng)有信息時(shí),則會(huì)逐條顯示出所有商品的信息,完畢之后,提示您是否繼續(xù),如

果輸入“Y”或"y”,,表示繼續(xù),函數(shù)則會(huì)引用自身,又開始新的瀏覽,如果輸入“N”

或“n”,表示不繼續(xù),則會(huì)清屏,重新回到菜單界面。

效果如下:

4.9退出函數(shù)voidTuichu

選擇退出后首先會(huì)清屏,接著顯示提示“您確定要退出系統(tǒng)嗎?如果您想退出請按'y',

其它鍵將返回主菜單”,如果選擇"Y”或"y”,則會(huì)退出系統(tǒng),如果按其他任一鍵,則重

新回到菜單界面。

5總結(jié):

學(xué)習(xí)c語言一學(xué)期了,只是第一次做這么大的編程.剛剛接到這個(gè)任務(wù)時(shí),感覺無從下

手,感覺自己無法完成。但是還是抱著試試看的心態(tài)去完成了,由于上學(xué)期鏈表掌握的并不

是很好,所以在這次的程序設(shè)計(jì)中并沒有使用鏈表,這也可以算是此程序的一個(gè)缺點(diǎn),抑或

是自己的一種遺憾。在做這個(gè)程序的過程中,總是遇到一些自己無法解決的問題,有時(shí)候自

己根本就不知道錯(cuò)在哪里,這也弄得自己心浮氣躁的,過了一段時(shí)間,靜下心來,仔細(xì)檢查

錯(cuò)誤,認(rèn)真打開以前的C語言書本,對照書上的例題,一個(gè)個(gè)的排除錯(cuò)誤,實(shí)在有不會(huì)就請

教班上C語言學(xué)的好的同學(xué),他們度比較熱心的幫我解決了問題,終于所編起來的C程序可

以完整的運(yùn)行了,雖然其中的過程有些枯燥,但是做好了之后就會(huì)有一種成就感,可能這是

自己第一次完成的編程大題目,這就像爬山一樣,過程是艱辛的,但是當(dāng)你登上山頂之后,

就會(huì)有種暢快淋漓的感覺,我想這就是做編程的樂趣吧,這是我第一個(gè)做的編程,我將會(huì)留

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

程序如下:

#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)錯(cuò)誤,請您重試.......");

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)錯(cuò)誤,請您重試.......");

exit(0);

)

lablD:

printf(ff\n\t請您輸入要入庫商品的信息...\n");

printf(w\t\t\t\t商品的編號(hào):”);

scanfid);

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

(

printf("\t\t\t\t此編號(hào)已被使用,請您重新輸入.....");

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)價(jià):”);

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

printf(M\t\t\t\t商品的賣價(jià):”);

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)錯(cuò)誤,請您重試...");

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請輸入要?jiǎng)h除的商品的編號(hào):”);

scanf(H%dn,&delID);

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

if(fp==NULL)

(

printf("\t\t\t系統(tǒng)錯(cuò)誤,請您重試...");

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)錯(cuò)誤,請您重試...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)錯(cuò)誤,請您重試...”);

exit(0);

)

printf("\n\t請輸入要修改的信息的商品的編號(hào):”);

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)價(jià)修改為:*,);

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

printf(”\t\t商品賣價(jià)修改為:”);

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)錯(cuò)誤,請你重試........w);

exit(0);

)

printf(”\n\t請輸入要查詢的商品的編號(hào)..;

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商品編號(hào)...%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ā)價(jià)格..?%20.3f\nH,i.bid);

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

printf(n\n\t賣出價(jià)格...%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輸入錯(cuò)誤,請重試”);

menu();)

fclose(fp);

}

voidLiulan()

{structgoodsi;

intindex=O;

charchoice;

FILE*fp;

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

if(fp=NULL)

(

printf("\t\t\t系統(tǒng)錯(cuò)誤,請你重試...");

exit(0);

)

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

while(!feof(fp))

(

index++;

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

printf(M\n\t商品編號(hào)...%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ā)價(jià)格...%20.3f\nM,i.bid);

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

printf(M\n\t賣出價(jià)格...%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)錯(cuò)誤,請您重試...");

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)錯(cuò)誤,請您重試...");

exit(0);

lablD:

printf(M\n\t請您輸入要入庫商品的信息...\n〃);

printf(n\t\t\t\t商品的編號(hào):");

scanfid);

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

printf("\t\t\t\t此編號(hào)已被使用,請您重新輸入.....”);

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)價(jià):”);

scanfbid);

printf(w\t\t\t\t商品的賣價(jià):”);

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)錯(cuò)誤,請您重試.......”);

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請輸入要?jiǎng)h除的商品的編號(hào):”);

scanf(H%dM,&delID);

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

if(fp==NULL)

(

printf("\t\t\t系統(tǒng)錯(cuò)誤,請您重試...”);

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)錯(cuò)誤,請您重試.......”);

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)錯(cuò)誤,請您重試.......");

exit(0);

)

printf("\n\t請輸入要修改的信息的商品的編號(hào):");

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)價(jià)修改為:");

scanf[j],bid);

printf("\t\t商品賣價(jià)修改為:");

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)錯(cuò)誤,請你重試...");

exit(0);

)

printf(”\n\t請輸入要查詢的商品的編號(hào)

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商品編號(hào)...%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ā)價(jià)格...%20.3f\n'\i.bid);

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

printf(H\n\t賣出價(jià)格...%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輸入錯(cuò)誤,請重試”);

menu();)

fclose(fp);

}

voidLiulanO

{structgoodsi;

intindex=0;

charchoice;

FILE*fp;

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

if(fp==NULL)

(

printf("\t\t\t系統(tǒng)錯(cuò)誤,請你重試.......");

exit(0);

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

while(!feof(fp))

index++;

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

printf("\n\t商品編號(hào)...%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ā)價(jià)格...%20.3f\nM,i.bid);

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

printf("\n\t賣出價(jià)格...%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)錯(cuò)誤,請您重試...");

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)錯(cuò)誤,請您重試...");

exit(0);

)

lablD:

printf(M\n\t請您輸入要入庫商品的信息...\n”);

printf(M\t\t\t\t商品的編號(hào):”);

scanfid);

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

printf("\t\t\t\t此編號(hào)已被使用,請您重新輸入.....”);

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)價(jià):”);

scanfbid);

printf(w\t\t\t\t商品的賣價(jià):”);

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)錯(cuò)誤,請您重試...");

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請輸入要?jiǎng)h除的商品的編號(hào):”);

scanf("%d",&delID);

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

if(fp==NULL)

(

printf("\t\t\t系統(tǒng)錯(cuò)誤,請您重試...");

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)錯(cuò)誤,請您重試.......");

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)錯(cuò)誤,請您重試...");

exit(0);

)

printf("\n\t請輸入要修改的信息的商品的編號(hào):");

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)價(jià)修改為:");

scanf[j].bid);

printf(”\t\t商品賣價(jià)修改為:”);

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)錯(cuò)誤,請你重試.......");

exit(0);

printf("\n\t請輸入要查詢的商品的編號(hào)

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

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

while(!feof(fp))

(

if(i.id==findID)

printf(*'\n\t商品編號(hào)...%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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論