C語言超市購物管理系統(tǒng)報告_第1頁
C語言超市購物管理系統(tǒng)報告_第2頁
C語言超市購物管理系統(tǒng)報告_第3頁
C語言超市購物管理系統(tǒng)報告_第4頁
C語言超市購物管理系統(tǒng)報告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、常州大學(xué)懷德學(xué)院課程設(shè)計 學(xué)號:11463308 姓名:吳瑤1題目描述12 系統(tǒng)分析12.1 題目要求12.2 輸入/輸出要求12.3 分析要處理的數(shù)據(jù)12.4 分析功能及其具體含義13 系統(tǒng)設(shè)計23.1 數(shù)據(jù)定義23.2 系統(tǒng)功能設(shè)計23.3 函數(shù)調(diào)用關(guān)系23.4 文件組織結(jié)構(gòu)23.5設(shè)計過程的重點和難點設(shè)計過程的重點和難點24詳細(xì)設(shè)計34.1流程圖35 系統(tǒng)實現(xiàn)45.1源程序清單45.1.1 頭文件45.1.2 主函數(shù)45.1.3 菜單105.2遇到的問題及解決115.3重點難點技術(shù)分析116 調(diào)試運行116.1測試和結(jié)果117 系統(tǒng)使用說明138 結(jié)論138.1課題完成情況說明138.2

2、系統(tǒng)的亮點138.3系統(tǒng)的不足138.4系統(tǒng)可能的改進(jìn)和擴(kuò)展131題目描述 假設(shè)某超市購物信息主要包括:會員編號,會員名,商品編號,商品名,商品價格,商品數(shù)量,商品日期等,本系統(tǒng)應(yīng)能對這些基本信息進(jìn)行管理,具有會員信息錄入、查看、保存至文件、從文件中讀出、增加購買信息,修改購買信息,刪除購買信息,按商品項查詢。2 系統(tǒng)分析2.1 題目要求(1) 為各項操作功能設(shè)計一個菜單。應(yīng)用程序運行后,先顯示這個菜單,然后用戶通過菜單項選擇希望進(jìn)行的操作項目;(2) 會員購買信息按記錄完整地錄入、查看、保存至文件、從文件中讀出、查看各會員購買信息、增加購買信息,修改購買信息,刪除購買信息,按商品項查詢。(3

3、) 要求以上功能分別用函數(shù)實現(xiàn)。并要求用c語言的文件操作語句將以上所有結(jié)果保存在文件wuyao.c中。2.2 輸入/輸出要求(1) 應(yīng)用程序運行后,先顯示一個菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作項目。進(jìn)入每個操作后,根據(jù)程序的提示輸入相應(yīng)的信息;(2) 要求用戶輸入數(shù)據(jù)時,要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。2.3 分析要處理的數(shù)據(jù)程序中所用到的數(shù)據(jù):會員編號;會員名;商品編號;商品名;商品價格;商品數(shù);日期; 2.4 分析功能及其具體含義 本函數(shù)所包含的功能和含義如下:(1) 數(shù)據(jù)錄入:輸入所有會員購買數(shù)據(jù)(包括會員編號,會員名,商品編號,商品名,商品價格,商品

4、數(shù),日期);(2) 數(shù)據(jù)顯示:顯示所有學(xué)生信息(包括會員編號,會員名,商品編號,商品名,商品價格,商品數(shù),日期);(3) 數(shù)據(jù)保存:保存所有學(xué)生所有信息(包括會員編號,會員名,商品編號,商品名,商品價格,商品數(shù),日期)到文件wuyao.c中;(4) 從文件中讀取:從文件中讀取學(xué)生各項信息;(5) 查看文件:1、商品信息的修改 2、商品信息的刪除 3、商品信息的查找 4、商品信息的增加 (6)退出程序。3 系統(tǒng)設(shè)計3.1 數(shù)據(jù)定義定義 marketgoods結(jié)構(gòu)體,包括如下成員:會員名vip_name30(字符型); 會員編號vip_id(字符型);商品編號goods_id(字符型); 商品名g

5、oods_name(字符型);商品價格goods_price(浮點型); 商品數(shù)goods_amount(整型);日期date(字符型)。3.2 系統(tǒng)功能設(shè)計設(shè)計菜單,通過選擇菜單調(diào)用各函數(shù),再將調(diào)用函數(shù)的計算結(jié)果返回給主函數(shù),并顯示結(jié)果。3.3 函數(shù)調(diào)用關(guān)系main調(diào)用了void star()函數(shù)進(jìn)行開始啟動菜單存儲文件調(diào)用void save()進(jìn)行保存文件查看文件調(diào)用了void display進(jìn)行打開查看增加商品信息 void add()進(jìn)行添加商品信息修改商品信息 void change()進(jìn)行修改刪除商品信息 void del()進(jìn)行刪除查詢商品信息 void search()進(jìn)行查詢

6、輸出商品信息 void ouput()進(jìn)行輸出3.4 文件組織結(jié)構(gòu)程序由一個文件組成:wuyao.c該文件中有8個函數(shù)3.5設(shè)計過程的重點和難點設(shè)計過程的重點和難點 由于對知識點掌握的并不牢固,操作也不熟練,所以在運用指針和結(jié)構(gòu)體的方面不是很輕松,使之成為本次程序設(shè)計時遇到的很大的困難。4詳細(xì)設(shè)計4.1流程圖刪除修改查找增加會員信息錄入會員編號商品名商品價格商品編號商品數(shù)主菜單會員信息查看會員信息保存至文件main函數(shù)退出程序會員購買信息處理從文件中讀取會員信息輸出5 系統(tǒng)實現(xiàn)5.1源程序清單5.1.1 頭文件#include stdio.h /需要的一些頭文件#include stdlib.

7、h#include cstring5.1.2 主函數(shù)#define count 30 /聲明商品的種類為30中,你也可以修改/函數(shù)聲明void start(); /啟動界面void input(); /商品數(shù)據(jù)信息輸入函數(shù)void change(); /商品數(shù)據(jù)信息修改函數(shù)void dele(); /給定指定商品名稱,刪除商品信息void output(); /商品信息輸出void search(); /商品信息查找struct marketgoods /存數(shù)商品信息的結(jié)構(gòu)體char vip_name30;char vip_id30; char goods_id30; /商品編號 char g

8、oods_name30; /商品名稱double goods_price; /商品價格int goods_amount;/商品數(shù)目char date30;goodscount;保存文件void save(int m) file *fp; int i; if (fp=fopen(huiyuangoumaixinxi.txt,wb)=null) printf(cannot open filen); exit(0); for(i=0;im;i+) if(fwrite(&goodsi,sizeof(struct marketgoods),1,fp)!=1) printf(file write erro

9、rn); fclose(fp); int load() file*fp;int i=0;if(fp=fopen(huiyuangoumaixinxi.txt,rb)=null)printf(cannot open filen);exit(0);elsedofread(&goodsi,sizeof(struct marketgoods),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1);打開文件void display()int i;int m=load();printf(會員編號 會員名t商品編號 商品名t商品價格t 商品數(shù)目t 日期t n )

10、;for(i=0;im;i+)printf(%s t%st%s %st%lft%dt%stt,goodsi.vip_id,goodsi.vip_name,goodsi.goods_id,goodsi.goods_name,goodsi.goods_price,goodsi.goods_amount,goodsi.date);int count=0; /全局變量,用于保存實際上有多少個商品添加商品信息void add() file *fp; int n; int count=0; int i; int m=load(); printf(n); fp=fopen(kaoshenxingxi.txt

11、,a); printf(請輸入想要 添加的購買信息數(shù):n); scanf(%d,&n); for(i=m;i(m+n);i+) printf(n請輸入新增購買信息:n); printf(請輸入會員編號:n); scanf(%s,goodsi.vip_id); printf(會員名字:); scanf(%s,goodsi.vip_name); printf(商品編號:); scanf(%s,goodsi.goods_id); printf(商品名字:); scanf(%s,goodsi.goods_name); printf(商品價格:); scanf(%lf,&goodsi.goods_pri

12、ce); printf(商品總數(shù)目:); scanf(%d,&goodsi.goods_amount); printf(日期:); scanf(%s,goodsi.date); count=count+1; printf(已增加的人數(shù):n); printf(%dn,count); printf(n添加完畢!n); m=m+count; printf(n瀏覽添加的商品信息:n); printf(n); save(m); display(); fclose(fp); void main() /主函數(shù) while(1)start(); /數(shù)據(jù)錄入void input() int m; char fl

13、ag20; do /錄入商品的信息 printf(請輸入會員編號:n); scanf(%s,goodscount.vip_id); printf(會員名字:); scanf(%s,goodscount.vip_name); printf(商品編號:); scanf(%s,goodscount.goods_id); printf(商品名字:); scanf(%s,goodscount.goods_name); printf(商品價格:); scanf(%lf,&goodscount.goods_price); printf(商品總數(shù)目:); scanf(%d,&goodscount.goods_

14、amount); printf(日期:); scanf(%s,goodscount.date); save(m); count+; /存數(shù)的商品數(shù)加一 printf(是否繼續(xù)輸入數(shù)據(jù) y是 n否 : ); /是否還想繼續(xù)輸入數(shù)據(jù) scanf(%s,flag); while(strcmp(flag,y)=0|strcmp(flag,y)=0); output(); /調(diào)用顯示商品數(shù)據(jù)/數(shù)據(jù)修改void change() char ch20,a20; int i; printf(nyou sure want change goodsinfor y/n): ); /根據(jù)商品的id來修改數(shù)據(jù) scan

15、f(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,y)=0) printf(nenter you want change goods_id:); scanf(%s,a); for(i=0;icount;i+) if(strcmp(goodsi.goods_id,a)=0) printf(nyou sure want change goods name(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,y)=0) printf(nname:); scanf(%s,goodsi.goods_name); printf(n

16、you sure want change goods price(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,y)=0) printf(nprice); scanf(%lf,&goodsi.goods_price); printf(nyou sure want goods discount(y/n): ); scanf(%s,ch); output();/數(shù)據(jù)刪除void dele() int i,j;char c20; printf(nenter you want delete name :n); /根據(jù)商品的名稱來刪除數(shù)據(jù) scan

17、f(%s,c); for(i=0;icount;i+) if(strcmp(c,goodsi.goods_name)=0) break; /找到,即跳出循環(huán) for(j=i;jcount-1;j+) goodsj=goodsj+1; printf(tttyou had delete %sn,c); count-; output();/數(shù)據(jù)輸出void output() int i;for(i=0;icount;i+)printf(%s t%st%s %st%lft%dt%stt,goodsi.vip_id,goodsi.vip_name,goodsi.goods_id,goodsi.goods

18、_name,goodsi.goods_price,goodsi.goods_amount,goodsi.date);/數(shù)據(jù)查找void search() int i;char a20,ch10; printf(nenter you want look name:); /根據(jù)商品的名稱來查找數(shù)據(jù) scanf(%s,a); for(i=0;icount;i+) if(strcmp(goodsi.goods_name,a)=0) printf(%s %s %s %s %lf %d %s n,goodsi.vip_id,goodsi.vip_name,goodsi.goods_id,goodsi.go

19、ods_name,goodsi.goods_price,goodsi.goods_amount,goodsi.date);5.1.3 菜單void start() /啟動菜單 int chi; printf( 超市商品管理系統(tǒng)n); printf( *n); printf( 1.商品信息的錄入:n); printf( 2.商品信息的修改:n); printf( 3.刪除某個商品信息:n); printf( 4.查找商品信息:n); printf( 6.增加商品信息:n); printf( 5.退出系統(tǒng):n); printf( *n); printf( 輸入你的選擇: ); scanf(%d,&chi); /根據(jù)你的選擇執(zhí)行相應(yīng)的函數(shù)if(chi=1) input(); else if(chi=2) change(); else if(chi=3) dele(); else if(chi=4) search();else if(chi=6) add(); else if(

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論