




免費(fèi)預(yù)覽已結(jié)束,剩余7頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
北京化工大學(xué)北方學(xué)院課程設(shè)計報告課程名稱 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 設(shè)計題目 超市管理信息系統(tǒng)的設(shè)計與實現(xiàn) 專業(yè)、班級 計科0803 學(xué) 號 姓 名 指導(dǎo)教師 設(shè)計時間 2011.8.292011.9.16 2011年 9 月 16 日一、 引言(簡要說明設(shè)計題目的目的、意義、內(nèi)容、主要任務(wù)等)超市管理信息系統(tǒng)的設(shè)計與實現(xiàn)(順序表)(1)貨物信息包括:貨物號(char num3)、貨物名(char name9)、貨物類別(char type6)、價格(float money)(2)模塊要求:第一個模塊主函數(shù)main()的功能是:根據(jù)選單的選項調(diào)用各函數(shù),并完成相應(yīng)的功能。 第二個模塊menu()的功能是:顯示提示選單。 第三個模塊quit()的功能是:退出選單。 第四個模塊create()的功能是:創(chuàng)建新的貨物,貨物號,貨物名,貨物類別,價格。 第五個模塊add()的功能是:添加貨物的信息,并返回選單。 第六個模塊find()的功能是:按要求查詢相關(guān)的信息,如果找到了,則顯示該信息,如果未找到,則提示文件中沒有該信息,并返回選單。 第七個模塊alter()的功能是:修改某貨物的信息,如果未找到要修改的貨物,則提示超市中沒有此貨物的信息,并返回選單。 第八個模塊delete()的功能是:刪除某貨物的信息,如果未找到要刪除的貨物,則提示超市中沒有此貨物的信息,并返回選單。 第九個模塊list()的功能是:顯示超市中的所有記錄。 除了總的要求外,還需計算低于20塊錢的貨物總數(shù),并輸出日用品類的詳細(xì)信息。21世紀(jì),超市的競爭也進(jìn)入到了一個全新的領(lǐng)域,競爭已不再是規(guī)模的競爭,而是技術(shù)的競爭、管理的競爭、人才的競爭。技術(shù)的提升和管理的升級是連鎖超市業(yè)的競爭核心。零售領(lǐng)域目前呈多元發(fā)展趨勢,多種業(yè)態(tài):超市、倉儲店、便利店、特許加盟店、專賣店、貨倉等相互并存。如何在激烈的競爭中擴(kuò)大銷售額、降低經(jīng)營成本、擴(kuò)大經(jīng)營規(guī)模,成為超市努力追求的目標(biāo)。超市信息管理的出現(xiàn)大大提高超市的運(yùn)作效率。通過全面的信息采集和處理,輔助提高超市的決策水平。使用本系統(tǒng),可以迅速提升超市的管理水平,為降低經(jīng)營成本, 提高效益,增強(qiáng)超市擴(kuò)張能力, 提供有效的技術(shù)保障二、 正文(課程設(shè)計的主要內(nèi)容,包括實驗與觀測方法和結(jié)果、儀器設(shè)備、計算方法、編程原理、數(shù)據(jù)處理、設(shè)計說明與依據(jù)、加工整理和圖表、形成的論點(diǎn)和導(dǎo)出的結(jié)論等。正文內(nèi)容必須實事求是、客觀真切、準(zhǔn)確完備、合乎邏輯、層次分明、語言流暢、結(jié)構(gòu)嚴(yán)謹(jǐn),符合各學(xué)科、專業(yè)的有關(guān)要求。)本系統(tǒng)應(yīng)具有以下功能:超市信息管理系統(tǒng)瀏覽貨物信息貨物數(shù)據(jù)管理修改添加刪除文件管理打開關(guān)閉保存查詢數(shù)據(jù)輸入數(shù)據(jù)排序數(shù)據(jù)1、 文件操作功能 文件操作:可建立、打開、保存、關(guān)閉數(shù)據(jù)文件。如果是新建的文件,可輸入商品信息數(shù)據(jù):數(shù)據(jù)包括商品編號、商品名、商品類別、商品數(shù)量、商品價格等。2、數(shù)據(jù)輸入功能輸入進(jìn)貨信息:輸入商品編號、數(shù)量完成進(jìn)貨操作。輸入銷售信息:輸入商品編號、數(shù)量完成銷售操作,注意當(dāng)銷售數(shù)量大于商品數(shù)量時,應(yīng)出現(xiàn)錯誤提示。3、 數(shù)據(jù)添加、修改、刪除功能添加:添加一種或多種新商品,并能輸入其商品信息。修改:修改商品信息,可包括商品編號、名稱、種類、數(shù)量和單價。刪除:刪除一類或多類商品的所有信息。4、 計算功能 可通過查詢商品信息功能,自動統(tǒng)計單價小于20元的貨物信息。5、 查詢功能 可分別按商品編號、名稱、類別和需要進(jìn)貨的商品進(jìn)行查詢。6、 排序功能 可分別按商品編號、名稱、類別等進(jìn)行排序。7、 數(shù)據(jù)顯示功能 可分別瀏覽輸入、查詢和排序后的商品信息。各功能模塊的設(shè)計根據(jù)劃分的功能模塊,定義以下函數(shù)實現(xiàn)各功能:(這部分應(yīng)介紹各函數(shù)的原型,各功能模塊實現(xiàn)所用的算法,可用流程圖描述)1、 主函數(shù)main()定義主函數(shù)為空類型(void);利用選擇結(jié)構(gòu)(switch)實現(xiàn)在在主函數(shù)中的調(diào)用各個子函數(shù),利用goto 和子函數(shù)中的return語句實現(xiàn)返回主菜單的循環(huán)。聲明各個子函數(shù)輸出歡迎界面輸出菜單switch(m)1輸入商品信息2排序商品信息3增加/刪除商品4修改商品信息5查詢商品信息6瀏覽商品信息7保存商品信息清屏幕2、 子函數(shù)(1) void input():確定新的庫存量n,輸入商品信息,用for循環(huán)語句直到輸入商品種類等于n,結(jié)束輸入;scanf(n)for(i=0;i=n;i+) 將數(shù)據(jù)存入結(jié)構(gòu)體成員return(2) void sequence():對已有的商品進(jìn)行排序,可按商品編號、名稱、類別進(jìn)行排序;long temp; char p130,p230;按編號排序for(k=0;kn-1;k+);for(i=0;igoodsi+1.num) 是 排序輸出排序后結(jié)果按名稱排序for(k=0;kn-1;k+) for(i=0;i0) 是 排序輸出排序后結(jié)果按類別排序for(k=0;kn-1;k+) for(i=0;i0) 是 排序輸出排序后結(jié)果(3) void edit():因為在進(jìn)貨函數(shù)已經(jīng)實現(xiàn)對已有商品的數(shù)量的增加,此模塊函數(shù)主要實現(xiàn)對新商品的添加或?qū)εf商品的刪除,并自動處理數(shù)據(jù),可以在瀏覽中輸出,用選擇語句switch進(jìn)行倆者操作的選擇:定義變量long temp; 聲明函數(shù)void add(); void dele();switch(k) k=1 k=2 add(); dele(); break; break;(4) void correct():對有錯誤信息商品進(jìn)行修改,輸入需要修改的商品編號,用for 循環(huán)與if語句找到此商品,重新輸入該商品的新信息,并輸出: long temp; scanf(temp); for(i=0;in;i+)if(temp=goodsi.num)輸入新信息 for(i=0;in;i+) 輸出修改后商品信息(5) void search():用switch(k)語句可分別按商品編號、名稱、類別或需要進(jìn)貨商品查詢;每個case選擇中均用for語句查找要查詢的商品,并輸出查詢結(jié)果。 long temp1;char temp220,temp320; switch(k) case(k) 輸出查詢商品信息(6) void scan():可分別進(jìn)行瀏覽輸入的商品信息、查詢的商品信息、排序后商品信息,用switch 進(jìn)行這三種方式的選擇。 scnaf ( ) switch(k) case for(i=0;in;i+) 輸出所要瀏覽信息; break;(7)void reserve():建立文件file *fp;char file15用來存放文件保存路徑以及文件名,進(jìn)行清屏,輸入文件路徑及文件名,利用fp=fopen(file,w+)實現(xiàn)創(chuàng)建并打開一個文件,并得到該文件的地址的功能,顯示fprintf(fp,商品編號t商品名 t商品類別t商品數(shù)量t商品價格n); 最后輸出已保存文件,程序中是由pr(商品編號t商品名 t商品類別t商品數(shù)量t商品價格n);語句執(zhí)行。scanf(n)for(i=0;i=n;i+) 將數(shù)據(jù)存入結(jié)構(gòu)體成員return部分模塊代碼實現(xiàn)菜單選擇頁面pr(nttt 貨物信息管理系統(tǒng)tnn);pr(t 1 輸入貨物信息n); pr(t 2 排序貨物信息n); pr(t 3 修改貨物信息ttn); pr(t 4 查詢貨物信息ttn); pr(t 5 增加/刪除貨物ttn); pr(t 6 瀏覽貨物信息ttn); pr(t 7 單價低于20元的貨物數(shù)量以及日用品信息n); pr(t 8 保存貨物信息ttn); pr( tt *); pr(nn); pr(t請選擇您所要的操作(或選擇(0)退出):); sc(%d,&k); system(cls);輸入貨物信息模塊代碼:void input() pr(n 請輸入需要建立新庫存的貨物種類數(shù)量:); sc(%d,&n); system(cls); pr(n n); for(i=0;in;i+) /*用循環(huán)實現(xiàn)輸入n個貨物*/ pr(nt*請輸入貨物的編號:); sc(%ld,&goodsi.num); pr(nt 請輸入貨物的名稱:); sc(%s,); pr(nt 請輸入貨物的種類:); sc(%s,goodsi.sort); pr(nt 請輸入貨物的數(shù)量:); sc(%d,&goodsi.count); pr(nt 請輸入貨物的單價:); sc(%d,&goodsi.money);排序模塊代碼:void sequence() /*功能2:排序貨物信息*/ long temp; char p130,p230; for(k=0;kn-1;k+) /*(1): 按編號排序*/ for(i=0;igoodsi+1.num) /*按編號由小到大排序*/ temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,); strcpy(,goodsi+1.name); strcpy(goodsi+1.name,p1); strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); pr(-); pr(ntt按貨物編號排序后的貨物信息nn); pr(t貨物編號 貨物名稱 貨物類別 貨物數(shù)量 貨物單價n); /*輸出排序后貨物信息*/ for(i=0;in;i+) pr(t %5ld %5s %5s %5ld %5ldn,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); for(k=0;kn-1;k+) /*(2): 按貨物名稱排序*/ for(i=0;i0) strcpy(p1,); strcpy(,goodsi+1.name); strcpy(goodsi+1.name,p1); temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); pr(-); pr(ntt按貨物名稱排序后的貨物信息n); pr(nt貨物名稱 貨物編號 貨物類別 貨物數(shù)量 貨物單價n); /*輸出排序后貨物信息*/ for(i=0;in;i+) pr(t %5s %5ld %5s %5ld %5ldn,,goodsi.num,goodsi.sort,goodsi.count,goodsi.money); for(k=0;kn-1;k+) /*(3): 按貨物類別排序*/ for(i=0;i0) strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,); strcpy(,goodsi+1.name); strcpy(goodsi+1.name,p1); pr(-); pr(ntt按貨物類別排序后的貨物信息nn); pr(t貨物類別 貨物編號 貨物名稱 貨物數(shù)量 貨物單價n); /*輸出排序后貨物信息*/ for(i=0;in;i+) pr(t %5s %5ld %5s %5ld %5ldn,goodsi.sort,goodsi.num,,goodsi.count,goodsi.money); 添加貨物模塊代碼:void add() /*添加貨物信息*/ /*定義子函數(shù)*/ pr(t*請輸入所添加貨物的貨物編號:); sc(%ld,&goodsn.num); pr(nt請輸入所添加貨物的名稱:); sc(%s,); pr(nt請輸入所添加貨物的類別:); sc(%s,goodsn.sort); pr(nt請輸入所添加貨物的數(shù)量:); sc(%d,&goodsn.count); pr(nt請輸入所添加貨物的價格:); sc(%d,&goodsn.money); n=n+1; pr(n); 刪除信息模塊代碼: void dele() /*刪除貨物信息*/ /*定義子函數(shù)*/ int temp; /*定義局部變量*/ int j; for(i=0;in;i+) pr(nt貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); pr(n); pr(n); pr(n*請輸入要刪除的貨物編號:); sc(%ld,&temp); pr(nn); for(i=0;in;i+) if(temp=goodsi.num) for(j=i;jn;j+) goodsj.num=goodsj+1.num; strcpy(,goodsj+1.name); strcpy(goodsj.sort,goodsj+1.sort); goodsj.count=goodsj+1.count; goodsj.money=goodsj+1.money; n=n-1; /*貨物總庫存量減少*/ for(i=0;in;i+) pr(nt貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格); /*輸出刪除后的貨物信息*/ pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); pr(n); pr(please press any key to continue:); getch(); return; /*返回主界面*/ 修改模塊代碼void correct() /*修改貨物信息*/ long temp; /*定義局部變量*/pr(nt請輸入要修改的貨物的編號:); sc(%ld,&temp); /*輸入新的貨物信息*/pr(n);for(i=0;in;i+) /*保存新的貨物信息*/ if(temp=goodsi.num) pr(t請輸入一個新的的貨物編號:); sc(%ld,&goodsi.num); pr(nt請輸入新的貨物的名稱:); sc(%s,); pr(nt請輸入新的貨物的類別:); sc(%s,goodsi.sort); pr(nt請輸入新的貨物的數(shù)量:); sc(%d,&goodsi.count); pr(nt請輸入新的貨物價格:); sc(%d,&goodsi.money); pr(n); for(i=0;in;i+) pr(nt新的貨物名稱 貨物編號 貨物類別 貨物數(shù)量 貨物單價n); pr(t %4s %4ld %4s %4ld %4ld,,goodsi.num,goodsi.sort,goodsi.count,goodsi.money); pr(n); pr(please press any key to continue:); /*返回功能選擇界面*/ getch(); return; /*返回主菜單*/查詢貨物信息模塊代碼: void search() /*查詢貨物信息*/ int k; /*定義局部變量*/ long temp1; char temp230,temp320; pr(nt5按貨物編號查詢,請按1ttt5按貨物名查詢,請按2nt5按貨物類別查詢,請按3 n); pr(nnnttt請輸入數(shù)字確定查詢方式:); sc(%d,&k); pr(n); pr(press any key to continue:); getch(); system(cls); switch(k) /*實現(xiàn)查詢方式的選擇*/ case 1: pr(nnnnntt請輸入要查詢的貨物的編號:); /*按貨物編號查詢*/ sc(%ld,&temp1); system(cls); /*清屏*/ for(i=0;in;i+) if(temp1=goodsi.num) pr(n); pr(nt貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); break; /*跳出switch語句*/ case 2: pr(nnnnntt請輸入要查詢的貨物名:); /*按貨物名查詢數(shù)據(jù)*/ sc(%s,temp2); system(cls); for(i=0;in;i+) if(strcmp(temp2,)=0) pr(n); pr(nt貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); break; /*跳出switch語句*/ case 3: pr(nnnnntt請輸入要查詢的貨物類別:); /*按貨物類別查詢數(shù)據(jù)*/ sc(%s,temp3); system(cls); for(i=0;in;i+) if(strcmp(temp3,goodsi.sort)=0) pr(n); pr(nt貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); break; /*跳出switch語句*/ pr(nnttpress any key to enter menu:); getch(); return; /*返回主界面*/ 瀏覽貨物信息模塊代碼:void scan() /*瀏覽貨物信息*/ pr(nt瀏覽輸入的貨物信息,請按1nnt瀏覽查詢的貨物信息,請按2nnt瀏覽排序后貨物信息,請按3n);pr(請選擇:);sc(%d,&k); switch(k) case 1: pr(ttt瀏覽輸入的貨物信息n); pr(t貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格n);/*輸出瀏覽貨物信息*/ for(i=0;in;i+) pr(t%5ld %5s %5s %5ld %ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); pr(n); pr(press any key to enter menu:); getch(); return; break; /*跳出switch語句*/ case 2: pr(ttt瀏覽查詢的貨物信息n); pr(t貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格n);/*輸出瀏覽貨物信息*/ for(i=0;in;i+) pr(t%5ld %5s %5s %5ld %ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); pr(n); pr(npress any key to enter menu:); getch(); return; break; /*跳出switch語句*/ case 3: pr(ttt瀏覽按貨物編號排序的貨物信息n); pr(t貨物編號 貨物名 貨物類別 貨物數(shù)量 貨物價格n);/*輸出瀏覽貨物信息*/ for(i=0;in;i+) pr(t%5ld %5s %5s %5ld %ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); pr(n); pr(npress any key to enter menu:); getch(); return; /*返回主界面*/ break; /*跳出switch語句*/ 文件保存模塊代碼:void reserve() /*保存文件*/ file *fp;char file15; /*用來存放文件保存路徑以及文件名*/ system(cls); /*清屏*/ pr(nt*請輸入文件路徑及文件名:); sc(%s,file); fp=fopen(file,w+); /*創(chuàng)建并打開一個文件,并得到該文件的地址*/ fprintf(fp,貨物編號t貨物名 t貨物類別t貨物數(shù)量t貨物價格n); pr(貨物編號t貨物名 t 貨物類別t 貨物數(shù)量t 貨物價格n); for(i=0;in;i+) fprintf(fp,%ldtt%stt%stt%dtt%dn,goodsi.num,,goodsi.sort,goodsi.count,goodsi.money); pr(%ldtt%stt%stt%dtt%dn,goodsi.num,,goodsi.sort,goodsi.count,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出借資產(chǎn)估值與咨詢服務(wù)協(xié)議
- 2025統(tǒng)編版語文六年級下冊第六單元素養(yǎng)培優(yōu)卷(含答案)
- 餐飲店線上線下營銷推廣合同
- 公司職員活動策劃方案
- 公司游玩活動方案
- 車貸保證金及車輛貸款提前還款合同
- 成功企業(yè)家市場推廣經(jīng)驗分享
- 車輛租賃合同模板(含事故責(zé)任劃分)
- 2025屆山東省汶上縣八下英語期末學(xué)業(yè)水平測試試題含答案
- 七年級語文下學(xué)期期末模擬試題(含答案)-4
- 求職心理調(diào)適專家講座
- GB/T 6344-2008軟質(zhì)泡沫聚合材料拉伸強(qiáng)度和斷裂伸長率的測定
- GB/T 3532-1995日用瓷器
- 學(xué)術(shù)論文寫作規(guī)范與技巧課件
- 生物高中-基于大數(shù)據(jù)分析的精準(zhǔn)教學(xué)課件
- 工程結(jié)算審計實施方案(共8篇)
- 樂東221氣田投產(chǎn)專家驗收匯報
- 信任五環(huán)(用友營銷技巧)課件
- 2022年廣東省深圳市中考化學(xué)真題試卷
- 危險貨物道路運(yùn)輸安全生產(chǎn)管理制度
- GB∕T 8110-2020 熔化極氣體保護(hù)電弧焊用非合金鋼及細(xì)晶粒鋼實心焊絲
評論
0/150
提交評論