




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、常州大學(xué)懷德學(xué)院課程設(shè)計(jì) 學(xué)號(hào):11463308 姓名:吳瑤1題目描述12 系統(tǒng)分析12.1 題目要求12.2 輸入/輸出要求12.3 分析要處理的數(shù)據(jù)12.4 分析功能及其具體含義13 系統(tǒng)設(shè)計(jì)23.1 數(shù)據(jù)定義23.2 系統(tǒng)功能設(shè)計(jì)23.3 函數(shù)調(diào)用關(guān)系23.4 文件組織結(jié)構(gòu)23.5設(shè)計(jì)過程的重點(diǎn)和難點(diǎn)設(shè)計(jì)過程的重點(diǎn)和難點(diǎn)24詳細(xì)設(shè)計(jì)34.1流程圖35 系統(tǒng)實(shí)現(xiàn)45.1源程序清單45.1.1 頭文件45.1.2 主函數(shù)45.1.3 菜單105.2遇到的問題及解決115.3重點(diǎn)難點(diǎn)技術(shù)分析116 調(diào)試運(yùn)行116.1測(cè)試和結(jié)果117 系統(tǒng)使用說明138 結(jié)論138.1課題完成情況說明138.2
2、系統(tǒng)的亮點(diǎn)138.3系統(tǒng)的不足138.4系統(tǒng)可能的改進(jìn)和擴(kuò)展131題目描述 假設(shè)某超市購(gòu)物信息主要包括:會(huì)員編號(hào),會(huì)員名,商品編號(hào),商品名,商品價(jià)格,商品數(shù)量,商品日期等,本系統(tǒng)應(yīng)能對(duì)這些基本信息進(jìn)行管理,具有會(huì)員信息錄入、查看、保存至文件、從文件中讀出、增加購(gòu)買信息,修改購(gòu)買信息,刪除購(gòu)買信息,按商品項(xiàng)查詢。2 系統(tǒng)分析2.1 題目要求(1) 為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目;(2) 會(huì)員購(gòu)買信息按記錄完整地錄入、查看、保存至文件、從文件中讀出、查看各會(huì)員購(gòu)買信息、增加購(gòu)買信息,修改購(gòu)買信息,刪除購(gòu)買信息,按商品項(xiàng)查詢。(3
3、) 要求以上功能分別用函數(shù)實(shí)現(xiàn)。并要求用c語(yǔ)言的文件操作語(yǔ)句將以上所有結(jié)果保存在文件wuyao.c中。2.2 輸入/輸出要求(1) 應(yīng)用程序運(yùn)行后,先顯示一個(gè)菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作項(xiàng)目。進(jìn)入每個(gè)操作后,根據(jù)程序的提示輸入相應(yīng)的信息;(2) 要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。2.3 分析要處理的數(shù)據(jù)程序中所用到的數(shù)據(jù):會(huì)員編號(hào);會(huì)員名;商品編號(hào);商品名;商品價(jià)格;商品數(shù);日期; 2.4 分析功能及其具體含義 本函數(shù)所包含的功能和含義如下:(1) 數(shù)據(jù)錄入:輸入所有會(huì)員購(gòu)買數(shù)據(jù)(包括會(huì)員編號(hào),會(huì)員名,商品編號(hào),商品名,商品價(jià)格,商品
4、數(shù),日期);(2) 數(shù)據(jù)顯示:顯示所有學(xué)生信息(包括會(huì)員編號(hào),會(huì)員名,商品編號(hào),商品名,商品價(jià)格,商品數(shù),日期);(3) 數(shù)據(jù)保存:保存所有學(xué)生所有信息(包括會(huì)員編號(hào),會(huì)員名,商品編號(hào),商品名,商品價(jià)格,商品數(shù),日期)到文件wuyao.c中;(4) 從文件中讀?。簭奈募凶x取學(xué)生各項(xiàng)信息;(5) 查看文件:1、商品信息的修改 2、商品信息的刪除 3、商品信息的查找 4、商品信息的增加 (6)退出程序。3 系統(tǒng)設(shè)計(jì)3.1 數(shù)據(jù)定義定義 marketgoods結(jié)構(gòu)體,包括如下成員:會(huì)員名vip_name30(字符型); 會(huì)員編號(hào)vip_id(字符型);商品編號(hào)goods_id(字符型); 商品名g
5、oods_name(字符型);商品價(jià)格goods_price(浮點(diǎn)型); 商品數(shù)goods_amount(整型);日期date(字符型)。3.2 系統(tǒng)功能設(shè)計(jì)設(shè)計(jì)菜單,通過選擇菜單調(diào)用各函數(shù),再將調(diào)用函數(shù)的計(jì)算結(jié)果返回給主函數(shù),并顯示結(jié)果。3.3 函數(shù)調(diào)用關(guān)系main調(diào)用了void star()函數(shù)進(jìn)行開始啟動(dòng)菜單存儲(chǔ)文件調(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)程序由一個(gè)文件組成:wuyao.c該文件中有8個(gè)函數(shù)3.5設(shè)計(jì)過程的重點(diǎn)和難點(diǎn)設(shè)計(jì)過程的重點(diǎn)和難點(diǎn) 由于對(duì)知識(shí)點(diǎn)掌握的并不牢固,操作也不熟練,所以在運(yùn)用指針和結(jié)構(gòu)體的方面不是很輕松,使之成為本次程序設(shè)計(jì)時(shí)遇到的很大的困難。4詳細(xì)設(shè)計(jì)4.1流程圖刪除修改查找增加會(huì)員信息錄入會(huì)員編號(hào)商品名商品價(jià)格商品編號(hào)商品數(shù)主菜單會(huì)員信息查看會(huì)員信息保存至文件main函數(shù)退出程序會(huì)員購(gòu)買信息處理從文件中讀取會(huì)員信息輸出5 系統(tǒng)實(shí)現(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(); /啟動(dòng)界面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; /商品編號(hào) char g
8、oods_name30; /商品名稱double goods_price; /商品價(jià)格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(會(huì)員編號(hào) 會(huì)員名t商品編號(hào) 商品名t商品價(jià)格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; /全局變量,用于保存實(shí)際上有多少個(gè)商品添加商品信息void add() file *fp; int n; int count=0; int i; int m=load(); printf(n); fp=fopen(kaoshenxingxi.txt
11、,a); printf(請(qǐng)輸入想要 添加的購(gòu)買信息數(shù):n); scanf(%d,&n); for(i=m;i(m+n);i+) printf(n請(qǐng)輸入新增購(gòu)買信息:n); printf(請(qǐng)輸入會(huì)員編號(hào):n); scanf(%s,goodsi.vip_id); printf(會(huì)員名字:); scanf(%s,goodsi.vip_name); printf(商品編號(hào):); scanf(%s,goodsi.goods_id); printf(商品名字:); scanf(%s,goodsi.goods_name); printf(商品價(jià)格:); 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(請(qǐng)輸入會(huì)員編號(hào):n); scanf(%s,goodscount.vip_id); printf(會(huì)員名字:); scanf(%s,goodscount.vip_name); printf(商品編號(hào):); scanf(%s,goodscount.goods_id); printf(商品名字:); scanf(%s,goodscount.goods_name); printf(商品價(jià)格:); 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() /啟動(dòng)菜單 int chi; printf( 超市商品管理系統(tǒng)n); printf( *n); printf( 1.商品信息的錄入:n); printf( 2.商品信息的修改:n); printf( 3.刪除某個(gè)商品信息: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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)典案例分析護(hù)理
- 健康活動(dòng)打噴嚏的老鼠
- 病人尿管護(hù)理
- 尿有形成分分析儀標(biāo)準(zhǔn)化操作流程
- 腸梗阻疾病護(hù)理
- 秋千創(chuàng)意美術(shù)課件
- 天津市第七中學(xué)2024-2025學(xué)年七年級(jí)下學(xué)期4月期中英語(yǔ)試題(含答案無聽力音頻及原文)
- 研究生報(bào)考培訓(xùn)指南
- 2024年循環(huán)流化床鍋爐項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024年其他未列明建筑服務(wù)資金需求報(bào)告代可行性研究報(bào)告
- GB/T 13914-2013沖壓件尺寸公差
- GB/T 11822-2000科學(xué)技術(shù)檔案案卷構(gòu)成的一般要求
- 康復(fù)醫(yī)學(xué)課件-第二章 康復(fù)評(píng)定
- 旅游行業(yè)安全管理概述
- 2022年湖南省普通高中學(xué)業(yè)水平考試語(yǔ)文試卷及參考答案
- 胎漏、墮胎、滑胎、小產(chǎn)中醫(yī)護(hù)理常規(guī)
- 汽車發(fā)動(dòng)機(jī)電控技術(shù)習(xí)題集答案
- 1389國(guó)開電大本科《理工英語(yǔ)4》網(wǎng)上形考任務(wù)(單元自測(cè)1至8)試題及答案(精華版)
- 居家環(huán)境安全評(píng)估量表-Microsoft-Word-文檔
- 高中數(shù)學(xué)導(dǎo)數(shù)知識(shí)點(diǎn)歸納總結(jié)
- 成本管理外文文獻(xiàn)及翻譯(共10頁(yè))
評(píng)論
0/150
提交評(píng)論