C語(yǔ)言課程設(shè)計(jì)報(bào)告報(bào)告訂單管理系統(tǒng)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告報(bào)告訂單管理系統(tǒng)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告報(bào)告訂單管理系統(tǒng)_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告報(bào)告訂單管理系統(tǒng)_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告報(bào)告訂單管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-. z. - w -C語(yǔ)言課程設(shè)計(jì)隨米打印訂單管理系統(tǒng)學(xué) 院: 計(jì)算機(jī)與信息科學(xué)學(xué)院 學(xué)生: 潤(rùn)發(fā) 指導(dǎo)教師: 王新祥 職稱 教授 專(zhuān) 業(yè): 網(wǎng)絡(luò)工程 班 級(jí): 1501 完成時(shí)間: 2016-6 目 錄TOC o 1-3 h u HYPERLINK l _Toc18909 1 問(wèn)題要求及任務(wù)描述 PAGEREF _Toc18909 3 HYPERLINK l _Toc6645 1.1 題目要求 PAGEREF _Toc6645 3 HYPERLINK l _Toc25427 1.2 主要任務(wù) PAGEREF _Toc25427 3 HYPERLINK l _Toc8507 2 解決問(wèn)題的主

2、要思路和方法 PAGEREF _Toc8507 4 HYPERLINK l _Toc1199 2.1 關(guān)鍵問(wèn)題 PAGEREF _Toc1199 4 HYPERLINK l _Toc316 2.2 擬采用解決問(wèn)題的方法 PAGEREF _Toc316 4 HYPERLINK l _Toc23431 2.3 主要算法和處理流程圖 PAGEREF _Toc23431 5 HYPERLINK l _Toc20155 3 程序?qū)崿F(xiàn) PAGEREF _Toc20155 6 HYPERLINK l _Toc22802 3.1 程序?qū)崿F(xiàn)時(shí)應(yīng)考慮的問(wèn)題 PAGEREF _Toc22802 6 HYPERLIN

3、K l _Toc4009 3.2 主要源代碼及說(shuō)明 PAGEREF _Toc4009 6 HYPERLINK l _Toc9920 4 測(cè)試或調(diào)試 PAGEREF _Toc9920 21 HYPERLINK l _Toc15824 4.1 調(diào)試過(guò)程: PAGEREF _Toc15824 21 HYPERLINK l _Toc31956 6 參考文獻(xiàn): PAGEREF _Toc31956 271問(wèn)題要求及任務(wù)描述1.1 題目要求設(shè)計(jì)隨米打印訂單系統(tǒng),要求訂單編號(hào),文件名,打印份數(shù),單雙面打印方式,打印狀態(tài),送貨狀態(tài)信息,地址信息和聯(lián)系人信息。試設(shè)計(jì)隨米”打印訂單處理系統(tǒng),使之能提供以下功能:主菜

4、單 :進(jìn)入系統(tǒng)需要密碼核實(shí)確認(rèn),登入系統(tǒng)以菜單的方式工作瀏覽打印訂單信息:可以瀏覽全部訂單信息添加訂單信息:可以添加訂單信息(以文件形式保存)刪除訂單信息:可以刪除訂單信息修改訂單信息:可以修改訂單人員信息查詢訂單信息:可以任意查出*種狀態(tài)的所有訂單退出系統(tǒng)1.2 主要任務(wù)根據(jù)題目要求,由于訂單信息是存放在文件中,所以應(yīng)提供文件的輸入和輸出等操作;應(yīng)提供一個(gè)界面來(lái)調(diào)用各個(gè)功能;功能模塊:本人負(fù)責(zé)程序設(shè)計(jì)與訂單信息瀏覽、添加、刪除功能。2 解決問(wèn)題的主要思路和方法2.1 關(guān)鍵問(wèn)題如何將信息用文本的方式正確的保存下來(lái),再不出錯(cuò)的讀取。如何將信息標(biāo)準(zhǔn)化的輸出在程序中。為查詢訂單信息的人提供了一個(gè)簡(jiǎn)單

5、而又真實(shí)的情境,使一目了然。提供各種工具,充分發(fā)揮網(wǎng)絡(luò)的共享性、開(kāi)放性和交互性等特點(diǎn),讓使用者充分發(fā)揮其主導(dǎo)作用。利用系統(tǒng),為消費(fèi)操作者提供方便快捷的操作,為其搭好支架,很好的引導(dǎo)和幫助使用者的使用。在基本要求達(dá)成后,進(jìn)行創(chuàng)新,如進(jìn)行刪除和插件操作。需要列出程序清單,并加以詮釋寫(xiě)出調(diào)試程序的方法。2.2 擬采用解決問(wèn)題的方法首先將c文件基礎(chǔ)知識(shí)了解清楚,即文件的基本標(biāo)志 ,文件的分類(lèi),文件的緩沖區(qū).熟悉C文件的引用,以及在文件讀寫(xiě)時(shí)文件使用方式即(r,w,a,rb,wb,ab等)的區(qū)別.熟悉使用鏈表和指針使程序的運(yùn)行效率更高,熟練輸出的操作使得數(shù)據(jù)的操作更加美觀.2.3 主要算法和處理流程圖3

6、 程序?qū)崿F(xiàn)3.1 程序?qū)崿F(xiàn)時(shí)應(yīng)考慮的問(wèn)題要考慮到數(shù)據(jù)的安全性和數(shù)據(jù)的讀取速度,以及程序的便捷使用性;3.2 主要源代碼及說(shuō)明struct account /定義賬戶名和密碼結(jié)構(gòu)體char name20;char pwd20;struct ord /定義訂單結(jié)構(gòu)體char id10;/訂單編號(hào)char name20;/ 文件名char num10; /打印份數(shù)char type20;/單雙面char status10; /打印狀態(tài)char status210;/送貨狀態(tài)char address20; /地址char price20;/價(jià)格char phone15; /聯(lián)系人;/主要函數(shù)int m

7、ain()login();return 0;void submit() /系統(tǒng)首次建立管理員賬戶struct account admin;char pwd20; /用于注冊(cè)第二次確認(rèn)密碼int flag=0;FILE *fp;if(fp=fopen(account.t*t,r)=NULL)/如果沒(méi)有賬戶信息新建管理員信息MessageBo*(NULL,無(wú)管理員賬戶請(qǐng)首次建立賬戶!,信息,MB_ICONWARNING);printf(nnt請(qǐng)輸入管理員賬戶名:);scanf(%s,);do/兩次確認(rèn)管理員密碼是否輸入正確 printf(nnt請(qǐng)輸入管理員密碼:);scanf(

8、%s,admin.pwd);printf(nnt請(qǐng)?jiān)俅屋斎牍芾韱T密碼:);scanf(%s,pwd);if(strcmp(admin.pwd,pwd)=0) flag=1; else printf(nnt你輸?shù)馁~戶名和密碼不匹配請(qǐng)重新輸入密碼);/ while(flag!=1);printf(nnt注冊(cè)成功,請(qǐng)牢記你的賬戶名和密碼!);/將注冊(cè)的賬戶密碼信息保存到文件 fp=fopen(account.t*t,a);fwrite(&admin,sizeof(struct account),1,fp);fclose(fp);/關(guān)閉指針指向 getchar();getchar();system(c

9、ls);/登錄系統(tǒng)void login()system(cls);int static count=0;/定義靜態(tài)變量count統(tǒng)計(jì)輸入次數(shù)char name20,pwd20; FILE *fp;struct account admin; /用戶名和密碼submit();printf(nnttt*歡迎 進(jìn)入*);printf(nnttt* 隨米打印送貨上床 *);printf(nnttt* 管理 系統(tǒng) *);fp=fopen(account.t*t,r);fread(&admin,sizeof(struct account),1,fp);fclose(fp);printf(nnt請(qǐng)輸入您的賬戶

10、名:);scanf(%s,name);printf(nnt請(qǐng)輸入您的密碼:);scanf(%s,pwd);count+;/比較用戶輸入的賬戶名和密碼是否匹配if(strcmp(name,)=0 & strcmp(pwd,admin.pwd)=0)MessageBo*(NULL,登錄成功,信息,MB_OK); /信息提示 else if(count=3)/三次登錄系統(tǒng)機(jī)會(huì) printf(nnt輸入次數(shù)錯(cuò)誤過(guò)多無(wú)法登陸系統(tǒng));elseprintf(nnt你輸入的賬戶名或密碼錯(cuò)誤按ENTER請(qǐng)重新輸入,3-count);getchar();getchar();/提示重新輸入log

11、in();getchar();getchar();menu();void menu ()system(cls);int option=0,count=0;printf(nntt*-隨米打印管理-*);printf(nntt*主菜單-*);printf(nntt*1瀏覽打印訂單信息-*);printf(nntt*2添加訂單信息 -*);printf(nntt*3查詢訂單信息 -*);printf(nntt*4修改訂單信息 -*);printf(nntt*5刪除訂單信息 -*);printf(nntt*6退出客房系統(tǒng) -*);/用switch來(lái)進(jìn)行選擇操作 doif(count=0)printf(

12、nnt請(qǐng)選擇你要進(jìn)行的操作16n);else printf(nnt你輸入的信息有誤請(qǐng)重新選擇操作(16)n);count+;scanf(%d,&option);while(option6);switch(option)case 1:view();break;case 2:add();break;case 3:search();break;case 4:update();break;case 5:del();break;case 6:system(e*it);break;void view()system(cls);struct ord infoN;int count=0,i;FILE *fp;

13、printf(nnttt*歡迎 進(jìn)入*);printf(nntttt* 隨米打印送貨上床 *);printf(nnttt* 訂單瀏覽系統(tǒng) *);/打開(kāi)讀取文件if(fp=fopen(order.t*t,r)=NULL)/說(shuō)明文件不存在printf(nt暫無(wú)訂單信息);else/如果能打開(kāi)文件,則循環(huán)讀取文件中數(shù)據(jù)while(!feof(fp)/feof:file end offread(&infocount,sizeof(struct ord),1,fp);count+;fclose(fp);printf(nn打印單號(hào)t打印文件名t打印數(shù)量t單/雙面 t打印狀態(tài)t配送狀態(tài)t配送宿舍t(yī)聯(lián)系);/

14、遍歷數(shù)據(jù) for(i=0;i0)for(i=0;icount-1;i+)if(strcmp(info.id,infosi.id)=0) / 判斷訂單單號(hào)是否已經(jīng)存在 printf(nt該編號(hào)已經(jīng)存在請(qǐng)重新輸入); break;while(icount-1);printf(nnt請(qǐng)輸入聯(lián)系人:); /用戶輸入信息 scanf(%s,&info.phone);printf(nnt請(qǐng)輸入打印文件名:);scanf(%s,&);printf(nnt請(qǐng)輸入訂單數(shù)量(份):);scanf(%s,&info.num);printf(nnt請(qǐng)輸入打印單雙面類(lèi)型:);scanf(%s,&inf

15、o.type);printf(nnt請(qǐng)輸入配送宿舍地址:);scanf(%s,&info.address);strcpy(info.status,未打印);strcpy(info.status2,未配送);flag=MessageBo*(NULL,你確定要添加此次信息嗎,信息確認(rèn),MB_YESNO|MB_ICONWARNING);/存入數(shù)據(jù)文件printf(nn打印單號(hào)t打印文件名t打印數(shù)量t單/雙面 t打印狀態(tài)t配送狀態(tài)t配送宿舍t(yī)聯(lián)系);printf(nn%-8st%-8st%-8st%-8st%-8st%-8st%-8st%-8s,info.id,,info.num,i

16、nfo.type,info.status,info.status2,info.address,info.phone);if(flag)fp=fopen(order.t*t,a);fwrite(&info,sizeof(struct ord),1,fp);fclose(fp);printf(nt數(shù)據(jù)添加成功);getchar();getchar();menu();void search()system(cls);struct ord infosN,infoN;FILE *fp;int count=0,i=0,j=0,total=0;char status10;printf(nnt*歡迎隨米打印管

17、理系統(tǒng)*);printf(nnt查詢訂單信息);if(fp=fopen(order.t*t,r)=NULL)printf(暫無(wú)訂單信息!);elsewhile(!feof(fp)fread(&infoscount,sizeof(struct ord),1,fp);count+;fclose(fp);printf(nnt請(qǐng)輸入要查詢訂單的狀態(tài):);scanf(%s,status);for(i=0;icount-1;i+)if(strcmp(status,infosi.status)=0)infototal=infosi;total+;if(strcmp(status,infosi.status2

18、)=0)infototal=infosi;total+;if(total=0)printf(nnt暫無(wú)此狀態(tài)的訂單);elseprintf(nn打印單號(hào)t打印文件名t打印數(shù)量t單/雙面 t打印狀態(tài)t配送狀態(tài)t配送宿舍t(yī)聯(lián)系);for(j=0;jtotal;j+)printf(nn%-8st%-8st%-8st%-8st%-8st%-8st%-8st%-8s,infoj.id,,infoj.num,infoj.type,infoj.status,infoj.status2,infoj.address,infoj.phone); getchar();getchar();menu

19、();void update() system(cls);struct ord infosN;FILE *fp;int count=0,i=0,j=0,flag=0,flag2=0;int print=0,send=0; /訂單狀態(tài)2個(gè)char id10;printf(nnttt*歡迎 進(jìn)入*);printf(nnttt* 隨米打印送貨上床 *);printf(nnttt* 訂單管理系統(tǒng) *);if(fp=fopen(order.t*t,r)=NULL)/讀取文件數(shù)據(jù)是否存在printf(nt暫無(wú)訂單信息.);elsewhile(!feof(fp)fread(&infoscount,sizeo

20、f(struct ord),1,fp);/將數(shù)據(jù)循環(huán)存入數(shù)組中count+;fclose(fp);printf(nt請(qǐng)輸入要管理的訂單編號(hào):);scanf(%s,id);for(i=0;icount-1;i+)if(strcmp(infosi.id,id)=0)printf(nn打印單號(hào)t打印文件名t打印數(shù)量t單/雙面 t打印狀態(tài)t配送狀態(tài)t配送宿舍t(yī)聯(lián)系);printf(nn%-8st%-8st%-8st%-8st%-8st%-8st%-8st%-8s,infosi.id,,infosi.num,infosi.type,infosi.status,infosi.stat

21、us2,infosi.address,infosi.phone);flag2=MessageBo*(NULL,將訂單標(biāo)記為已打印狀態(tài)請(qǐng)選擇是,將訂單標(biāo)記為未打印狀態(tài)請(qǐng)選擇否,信息確認(rèn),MB_YESNO|MB_ICONWARNING);if(flag2=6) strcpy(infosi.status,已打印);printf(nnt訂單%s已打印,infosi.id);flag=1; else strcpy(infosi.status,未打印);printf(nnt標(biāo)記為未打印); break;if(i=count-1)printf(nt對(duì)不起暫無(wú)該訂單信息.);elseif(flag=1)/已經(jīng)

22、被打印的訂單才能被標(biāo)記為已配送 flag2=MessageBo*(NULL,將訂單標(biāo)記為已配送狀態(tài)請(qǐng)選擇是,將訂單標(biāo)記為未配送狀態(tài)請(qǐng)選擇否,信息提示,MB_YESNO|MB_ICONWARNING); if(flag2=6) strcpy(infosi.status2,已配送);printf(nnt訂單%s已配送,infosi.id); else strcpy(infosi.status2,未配送);printf(nnt標(biāo)記為未配送); fp=fopen(order.t*t,w);for(i=0;icount-1;i+)fwrite(&infosi,sizeof(struct ord),1,f

23、p);fclose(fp);printf(nt訂單管理成功);getchar();getchar();menu();void del()system(cls);struct ord infosN;FILE *fp;int count=0,i=0,j;char roomid10;printf(nnttt*歡迎 進(jìn)入*);printf(nnttt* 隨米打印送貨上床 *);printf(nnttt* 刪除上訂單信息 *);if(fp=fopen(order.t*t,r)=NULL)printf(暫無(wú)訂單信息無(wú)法刪除!);elsewhile(!feof(fp)fread(&infoscount,si

24、zeof(struct ord),1,fp);count+;fclose(fp);printf(nnt請(qǐng)輸入要?jiǎng)h除的訂單編號(hào):);scanf(%s,roomid);for(i=0;icount-1;i+)if(strcmp(infosi.id,roomid)=0)break;if(i=count-1)printf(nnt你輸入的訂單編號(hào)不存在;);elsefp=fopen(order.t*t,w);for(j=0;jcount-1;j+)if(j=i)continue;else fwrite(&infosj,sizeof(struct ord),1,fp);printf(nnt刪除客房成功;);fclose(fp);getchar();getchar();men

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論