版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計說明書學(xué) 院、系:專 業(yè):學(xué) 生 姓 名:學(xué) 號:設(shè) 計 題 目:商品訂購系統(tǒng)設(shè)計 起 迄 日 期:2017年4月24日-2017年5月12日指 導(dǎo) 教 師:日期: 2017年5月12日1 設(shè)計目的1) 進(jìn)一步鞏固和復(fù)習(xí)C程序設(shè)計的基礎(chǔ)知識;2) 培養(yǎng)自己結(jié)構(gòu)化程序、模塊化程序設(shè)計的方法和能力;3) 了解軟件的編制過程及各環(huán)節(jié)的具體內(nèi)容;4) 提高自己程序調(diào)試技巧、軟件設(shè)計能力和代碼規(guī)范化等素質(zhì);5) 提高自己分析問題、解決問題以及實際運用能力。2 任務(wù)概述 屏幕上出現(xiàn)選擇界面,管理員和顧客進(jìn)行權(quán)限選擇進(jìn)入。1)顧客具備的功能:讓顧客或輸入商品名稱,或商品型號,或選擇列表進(jìn)而輸入商品編
2、號都可以,如查到所選商品,則列出商品編號、商品名稱、商品型號、商品價格、商品產(chǎn)地、庫存數(shù)量和已訂購數(shù)量;然后給出選購流程:所選商品編號-列出對應(yīng)商品的信息-要求顧客輸入郵寄地址信息-確認(rèn)訂購,是否繼續(xù)選購其它商品,列出所有選訂商品,再次確認(rèn)訂購。2)管理員具備的功能:錄入、修改、刪除商品。3)建立兩個文件,分別存放商品信息與訂購信息。商品訂購系統(tǒng)設(shè)計3 模塊劃分 商品訂購系統(tǒng)設(shè)計有如下功能,功能模塊圖如圖3.1所示圖3.1 功能模塊圖訂購商品 圖編號查詢商品名查詢輸出所有信息修改商品刪除商品添加商品管理員普通用戶- 21 -4 主要函數(shù)說明及其N-S圖 輸入str for i=0 to 10
3、strcmp(.str) 真 假 輸出r=r+1 報錯 c3=27真 假 use() buygoods()void goodsname();/通過商品名查詢 圖4.1 通過商品名查詢 圖4.1 通過商品名查詢 輸入a for i=0 to 10 infori.code=a 真 假 輸出r=r+1 程序退出 c3=27 真 假 use() buygoods() 圖4.2 通過商品編號查詢 圖4.2 通過商品編號查詢 打開文件 infori.code!=0真 假輸出信息 程序錯誤 圖4.3 輸出所有商品信息 char ch120=”12345 char ch210 輸入ch2
4、 strcmp(ch1,ch2)!=0真 假menu_main() admin() 圖4.4 輸入管理員密碼 outputall() for i=0 to r infori.code=a真 假r=r+1Ordernum=I 程序退出j=i if Last!=0真 假輸入的數(shù)量有效真 假 程序退出addaddress() use()圖4.5購買商品5 程序運行數(shù)據(jù)及其結(jié)果 主界面過程截圖如圖5.5所示 圖5.1 主界面添加商品(過程)過程截圖如圖5.2所示 圖5.2 添加商品(過程)添加商品(結(jié)果)過程截圖如圖5.3所示 圖5.3 添加商品(結(jié)果)購買商品過程截圖如圖5.4所示 圖5.4 購買商
5、品 刪除商品過程截圖如圖5.5所示 圖 5.5 刪除商品6 課程設(shè)計心得首先得感謝同學(xué)對我的幫助。一開始編的時候bug很多,上網(wǎng)找了很多資料,去圖書館也查了不少的書,終于解決了他們。以前寫的代碼結(jié)構(gòu)混亂,變量命名,函數(shù)命名混亂,沒有注釋,寫出來做程序有時候自己也看不懂。在完完整整得做完一個程序后我對結(jié)構(gòu)化程序的整體性有了一個明確的認(rèn)識,必須注意程序前后的聯(lián)系,要做到高內(nèi)聚,低耦合,要具有清晰的思路,要提前畫好完善的流程圖程序要具有層次。對整體性的把握至關(guān)重要,學(xué)習(xí)計算機(jī)語言最重要的就是上機(jī)操作,多實踐,才能發(fā)現(xiàn)自己的不足。在以后的學(xué)習(xí)中,我要做到舉一反三,多思考,勤動腦,通過這次的實訓(xùn),我總結(jié)
6、出在以后學(xué)習(xí)中還必須多多上機(jī)編寫程序,從實踐中多積累經(jīng)驗,為以后進(jìn)一步學(xué)習(xí)打下堅實基礎(chǔ)。附錄:程序源代碼#include #include #include #include /*商品信息*/ struct goodsint code;/編號 char name20;/商品名 char company20;/生產(chǎn)公司名 double price;/價格 char model20;/型號 int save;/庫存數(shù)量 int sell;/訂購數(shù)量 infor100=1,iPhone7,美國蘋果公司,5388,32GB,10,0,2,朗文字典,朗文出版社,318,第五版,10,0,3,手表,勞力士
7、,54588,蠔式恒動型,10,0,4,桌子,宜家,88,2017夏季家居,10,0,5,杯子,特百惠,5388,470ml,10,0; /*訂購信息*/ struct order int code;/編號 char name20;/商品名 char company20;/生產(chǎn)公司名 double price;/價格 char model20;/型號 int number; /訂購數(shù)量 char address20;/地址 buy5;int Ordernum; /訂購數(shù)量 int j,r=5;/用于比較的全局變量 int Last; /訂購后剩余的庫存 char address41; /訂購地
8、址 void menu_main();/主菜單畫面 void use(); /普通用戶畫面 void key();/輸入密碼 void admin();/管理員畫面 void buyfile();/建立訂購文件 void goodsname();/通過商品名查詢 void goodscode();/通過編號查詢 void buygoods();/購買商品 void addaddress();/添加地址 void add();/管理員添加商品 void del();/管理員刪除商品 void change();/管理員修改商品 void outputall();/輸出所有商品 void writ
9、ebuyfile();/寫入訂購信息 /主函數(shù) int main()/建立商品信息文件 FILE *fp;int i;if(fp=fopen(C:UsersCircleDesktop最高機(jī)密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;i5;i+)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1)printf(file write errorn);fclose(fp);buyfile();menu_main();/主菜單void menu_main()int n;printf( n)
10、;printf(tttt*n);printf(tttt-商品訂購系統(tǒng)-n);printf(tttt* 請選擇 *n);printf(tttt* 1.普通用戶 *n);printf(tttt* 2.管理員 *n);printf(tttt* 3.退出系統(tǒng) *n); printf(tttt* 請輸入你的選擇: *n);printf(tttt*n);printf(n);printf(tttt 1614010315 趙元萱n);printf(tttt);scanf(%d,&n);system(cls);switch(n)case 1:use();break;/選擇普通用戶 case 2:key();br
11、eak; /選擇管理員 case 3:system(cls);printf(nnnnnnnn);printf(感謝使用本系統(tǒng)!); exit(0); /輸入密碼函數(shù) void key()char ch1=12345;char ch210;printf(tttt-請輸入-n);printf(n);printf(tttt請輸入密碼:);scanf(%s,ch2);if(strcmp(ch1,ch2)!=0)printf(密碼錯誤!);system(cls);menu_main(); elseadmin();/創(chuàng)建購買文件函數(shù) void buyfile()FILE *fp;int i;if(fp=f
12、open(C:UsersCircleDesktop訂購.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;i5;i+)if(fwrite (&buyi,sizeof(struct order),1,fp)!=1)printf(file write errorn);fclose(fp);/用戶函數(shù) void use()int n;printf(tttt*n);printf(tttt-用戶系統(tǒng)-n);printf(tttt 請選擇 n);printf(tttt=n);printf(tttt* 1.輸入商品名查詢 *n);printf(ttt
13、t* 2.輸入編號查詢 *n);printf(tttt* 3.輸出所有商品的信息 *n);printf(tttt* 4.返回上級菜單 *n);printf(tttt*n);scanf(%d,&n);system(cls);switch(n)case 1:goodsname();break;case 2:goodscode();break;case 3:outputall();break;case 4:menu_main();break;/管理員函數(shù) void admin()int n;printf(tttt*n);printf(tttt*n);printf(tttt-管理員系統(tǒng)-n);prin
14、tf(tttt 請選擇 n);printf(tttt=n);printf(tttt1.添加信息n);printf(tttt2.刪除信息n); printf(tttt3.修改信息n);printf(tttt4.返回上級菜單n);scanf(%d,&n);switch(n)case 1:add();break;case 2:del();break;case 3:change();break;case 4:system(cls);menu_main();break;/輸入商品名查詢 void goodsname()int i,k=0;/k是比較的結(jié)果 i控制循環(huán) char str24,c3;FILE
15、 *fp;fp=fopen(C:UsersCircleDesktop最高機(jī)密.txt,r);printf(n請輸入你要查找的名稱:);scanf(%s,&str);printf(n您所查找的%sn,str);for(i=0;ir;i+) fread(&infori,sizeof(struct goods),1,fp);k=strcmp(,str);if (k=0)printf(%4d %-10s %-12s %9.2f %-5s %5d %4dn,infori.code,,infori.model,infori.price,pan
16、y,infori.save,infori.sell);r=r+1; fclose(fp); if(r!=0)printf(請按任意鍵選購,取消或產(chǎn)品不存在按ESC:n);char c3=getch();if(c3=27)printf(n); printf(n);system(cls);use();elsebuygoods(); /輸入編號查詢void goodscode()int i,r=0; int a; /輸入的編號 FILE *fp;fp=fopen(C:UsersCircleDesktop最高機(jī)密.txt,r);printf(請輸入要查找的商品編號(請勿輸入不存在的編號): nn);
17、scanf(%d,&a);printf(您查找的是%dnn,a);for(i=0;i5;i+)fread(&infori,sizeof(struct goods),1,fp);if(infori.code=a)printf(這就是你訂購的商品: nn);printf(%4d %-10s %-12s %9.2f %-5s %5d %4dn,infori.code,,infori.model,infori.price,pany,infori.save,infori.sell);r+;fclose(fp);if(r!=0)printf(請按任意鍵選購,取消按
18、ESC:n);char c3=getch();if(c3=27)printf(n); printf(n);system(cls);use();elsebuygoods();/輸入編號訂購 void buygoods()int i,r=0;int a;char ch;FILE*fp;fp=fopen(最高機(jī)密.txt,rb);outputall();printf(n請輸入您想訂購商品的編號(請勿輸入不存在的編號):nn);scanf(%d,&a);for(i=0;i=0 & buyj.number=(inforOrdernum.save-inforOrdernum.sell) addaddres
19、s();elseprintf(您填寫的數(shù)量有誤,請重新購買nn);use();/添加地址函數(shù) void addaddress()char ch;printf(請輸入郵寄地址:nn);scanf(%s,&address);printf(您的地址是:%snn,address);printf(確認(rèn)請按任意鍵,重輸請按ESCnn);ch=getch();printf(n);if (ch!=27)printf(您已成功訂購!謝謝使用!nn);void writebuyfile();use();void add()int i;printf(請輸入添加的產(chǎn)品信息:n);printf(編號 名字 生產(chǎn)商 價格
20、 型號 庫存數(shù)量 訂購數(shù)量n);scanf(%d %s %s %lf %s %d %d,&inforr.code,,pany,&inforr.price,inforr.model,&inforr.save,&inforr.sell); r+;FILE *fp;if(fp=fopen(C:UsersCircleDesktop最高機(jī)密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;ir;i+)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1)pri
21、ntf(file write errorn);printf(商品添加成功!n); fclose(fp);admin();void del()system(cls);int i,j;printf(請輸入刪除的商品名:n);scanf(%d,&j);for(i=0;ir;i+)if(infori.code=j)infori.code=0;FILE *fp;if(fp=fopen(C:UsersCircleDesktop最高機(jī)密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;ir;i+) if(infori.code!=0) if(fwr
22、ite (&infori,sizeof(struct goods),1,fp)!=1)printf(file write errorn);printf(商品刪除成功!); fclose(fp);admin(); void change()system(cls);char ch; char company20,model100; int i,j,code,price,save,sell;printf(請輸入要修改的產(chǎn)品編號:n);scanf(%d,&j);for(i=0;ir;i+)if(infori.code=j)printf(商品編號:%dn商品名稱:%sn生產(chǎn)商:%sn商品單價:%dn商品
23、型號:%sn庫存數(shù)量:%dn已經(jīng)訂購數(shù)量:%dn,infori.code,,pany,infori.price,infori.model,infori.save,infori.sell);printf(請輸入您想修改的商品的一條信息:(1.生產(chǎn)商2.價格3.型號4.庫存5.已經(jīng)訂購數(shù)量)n);getchar();scanf(%c,&ch);switch(ch)case1:printf(請輸入商品生產(chǎn)商:);scanf(%s,&company);strcpy(pany,company);break;case2:printf(請輸入商品
24、單價:);scanf(%d,&price);infori.price=price;break;case3:printf(請輸入商品型號:);getchar();scanf(%s,&model);strcpy(infori.model,model);break;case4:printf(請輸入商品庫存:);getchar();scanf(%d,&save);infori.save=save;break;case5:printf(請輸入商品已經(jīng)訂購數(shù)量:);scanf(%d,&sell);infori.sell=sell;break; FILE*fp;if(fp=fopen(C:UsersCircleDesktop最高機(jī)密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;ir;i+) if(infori.code
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)版單位原材料采購協(xié)議2024年版版A版
- 事業(yè)單位專職教師2024聘用協(xié)議范本版B版
- 2025年度高端汽車物品質(zhì)押分期購車合同3篇
- 2025-2030全球錫鉛焊錫條行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國紅外波段高光譜成像(HSI)設(shè)備行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國拉線驅(qū)動位置傳感器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年度運輸服務(wù)合同標(biāo)的說明3篇
- 2025-2030全球煙熏火雞腿行業(yè)調(diào)研及趨勢分析報告
- 二零二五廠房租賃合同爭議解決機(jī)制合同2篇
- 二零二五年管理層任期一年內(nèi)項目管理與執(zhí)行合同3篇
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- 2025年中國AI學(xué)伴行業(yè)市場現(xiàn)狀及投資態(tài)勢分析報告(智研咨詢)
- 智能安防監(jiān)控系統(tǒng)設(shè)計與實施計劃書
- 【高中數(shù)學(xué)課件】排列數(shù)公式的應(yīng)用
- 2024年河南省公務(wù)員錄用考試《行測》真題及答案解析
- 2024年國家公務(wù)員考試《申論》真題(地市級)及答案解析
- 2024年道路運輸企業(yè)兩類人員安全考核試題庫-上(單選、多選題)
- 老年冠心病慢病管理指南(2023版)解讀
- 2024年-2025年全民“科學(xué)素養(yǎng)提升行動”競賽考試題庫(含各題型)
- 面包烘焙原料供應(yīng)采購合同案例
- 基于mRNA-LNP技術(shù)的(細(xì)胞)免疫治療產(chǎn)品開發(fā)指南
評論
0/150
提交評論