![物資管理系統(tǒng)課程設(shè)計報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/eb706f7c-228e-4bf8-bb3d-c2d6004802e2/eb706f7c-228e-4bf8-bb3d-c2d6004802e21.gif)
![物資管理系統(tǒng)課程設(shè)計報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/eb706f7c-228e-4bf8-bb3d-c2d6004802e2/eb706f7c-228e-4bf8-bb3d-c2d6004802e22.gif)
![物資管理系統(tǒng)課程設(shè)計報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/eb706f7c-228e-4bf8-bb3d-c2d6004802e2/eb706f7c-228e-4bf8-bb3d-c2d6004802e23.gif)
![物資管理系統(tǒng)課程設(shè)計報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/eb706f7c-228e-4bf8-bb3d-c2d6004802e2/eb706f7c-228e-4bf8-bb3d-c2d6004802e24.gif)
![物資管理系統(tǒng)課程設(shè)計報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/eb706f7c-228e-4bf8-bb3d-c2d6004802e2/eb706f7c-228e-4bf8-bb3d-c2d6004802e25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、中 國 地 質(zhì) 大 學本科生課程論文封面課程名稱 c語 言 課 程 設(shè) 計 教師姓名 劉文中 本科生姓名 陳文 本科生學號 20121003931 本科生專業(yè) 網(wǎng)絡(luò)工程 所在院系 計算機學院 類別: 日期: 課程設(shè)計評語對課程論文的評語:平時成績:課程論文成績:總 成 績:評閱人簽名:注:1、無評閱人簽名成績無效;2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;3、如有平時成績,必須在上面評分表中標出,并計算入總成績。目 錄課程設(shè)計評語2目 錄31課程論文題目42程序設(shè)計思路43功能模塊圖54數(shù)據(jù)結(jié)構(gòu)設(shè)計55算法設(shè)計66程序代碼137程序運行結(jié)果228編程中遇到的困難及解決方法259總結(jié)心得及良好
2、建議2610致謝261課程論文題目物資管理系統(tǒng)2程序設(shè)計思路(1)庫存和領(lǐng)料信息以文本文件的方式存放在兩個文件里,提供相應(yīng)的輸入輸出操作。(2)提供庫存幾種方式的查找。(3)提供庫存的建立、插入。(4)能查找滿足領(lǐng)貨要求的信息,并修改庫存、領(lǐng)貨文本文件。3功能模塊圖物資管理系統(tǒng)信息輸入模塊信息查詢模塊信息添加模塊物資領(lǐng)取模塊信息打印模塊退出模塊4數(shù)據(jù)結(jié)構(gòu)設(shè)計(一)主函數(shù)一般是設(shè)計簡潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。其中流程圖如圖(1)開始顯示一系列功能選擇判斷m 是否是1到6?根據(jù)n值調(diào)用各功能模塊函數(shù)結(jié)束圖(1)菜單*/do puts("ntt
3、*菜單*nn"); puts("ttt1.信息輸入"); puts("ttt2.信息查詢"); puts("ttt3.信息插入"); puts("ttt4.領(lǐng)貨"); puts("ttt5.信息打印"); puts("ttt6.退出"); puts("nntt*n"); puts("tt* 陳文n"); puts("tt*2013.01.05n"); printf("請選擇 1-6: bb&quo
4、t;); scanf("%d",&n); if(n<1|n>6) w1=1;getchar(); else w1=0; while(w1=1);switch(n) /*選擇功能*/ case 1:enter();break; /*信息輸入模塊*/ case 2:search();break; /*信息查詢模塊*/ case 3:insert();break; /*信息添加模塊*/ case 4:lend();break; /*物資領(lǐng)取模塊*/ case 5:print();break; /*信息打印模塊*/ case 6:exit(0); /*退出模塊*
5、/ main() /*主函數(shù)*/ menu();(二)各功能模塊設(shè)計1.輸入模塊*幾種類型,名稱等信息 */*信息輸入模塊*/void enter() int i,n; printf("n產(chǎn)品種類數(shù)量(0-%d)?:",N-1); scanf("%d",&n); printf("n請輸入數(shù)據(jù)nn"); for(i=0;i<n;i+) printf("輸入第%d種產(chǎn)品數(shù)據(jù):n",i+1); input(i); if(i!=0)save(n); printf_back();2.searchmenu()*查
6、詢模塊*/*信息查詢模塊*/void searchmenu() int n,w2; do puts("ntt*查詢*nn"); puts("ttt1.按名稱查詢"); puts("ttt2.按日期查詢"); puts("ttt3.按名稱規(guī)格查詢"); puts("ttt4.返回"); puts("nntt*n"); printf("請選擇 1-4: bb"); scanf("%d",&n); if(n<1|n>4)
7、w2=1;getchar(); else w2=0; while(w2=1); switch(n) /*選擇功能*/ case 1:search_by_name();break; /*按名稱查詢*/ case 2:search_by_date();break; /*按日期查詢*/ case 3:search_by_nameandsize();break; /*按名稱規(guī)格查詢*/ case 4:getch();menu(); /*退出模塊*/ void search() searchmenu();/*按名稱查詢*/void search_by_name() int j,n,m=0;char a2
8、0; n=load(); printf("n請輸入產(chǎn)品名稱!nname:"); scanf("%s",a); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0) m+; printf_data(j); printf("n找到%d種產(chǎn)品!",m);getch();menu();/*按日期查詢*/struct s_date int year; int month; int day; s;void search_by_date() int j,n,m=0; n=load(); printf(&quo
9、t;n輸入你想查找的產(chǎn)品日期!ndate:"); scanf("%d.%d.%d",&s.year,&s.month,&s.day); for(j=0;j<n;j+)if(s.year=proj.in_date.year)&&(s.month=proj.in_date.month)&&(s.day=proj.in_date.day) m+; printf_data(j); printf("n找到當天的此產(chǎn)品%d!",m);getch();menu();/*按名稱規(guī)格查詢*/void
10、search_by_nameandsize() int j,n,m=0; char a20,b4; n=load(); printf("n輸入你想找的產(chǎn)品名稱!n名稱:"); scanf("%s",a); printf("n輸入你想找的產(chǎn)品庫存量!n庫存量:"); scanf("%s",b); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0)&&(strcmp(b,proj.size)=0) m+; printf_data(j); printf("
11、;找到%d種產(chǎn)品!",m);getch();menu();3.新物資的錄入 在此函數(shù)上對新料進行了記錄/*信息添加模塊*/void insert() int n,c; n=load(); puts("n輸入一個數(shù)據(jù):n"); do input(n); printf_data(n); printf("nn是否確信?n1).是n2).取消并重試n3).返回不保存 bb"); scanf("%d",&c); if(c=1)save(n+1);printf_back(); else if(c!=2)menu(); while
12、(c=2);4.領(lǐng)料模塊*查找對所領(lǐng)聊的信息,若滿足領(lǐng)料要求,便登記一系列內(nèi)容,并修改/*物資領(lǐng)取模塊*/struct one_pro char p_name20; char size4; struct date one_date; long int total; struct one_pro *next;check;void lend() int j,n; n=load(); printf("n請檢查你想取的產(chǎn)品的信息!"); printf("n名稱(1-20letter) 庫存量(1-4letter) 日期 amountn");scanf("
13、;%s%s%d.%d.%d%d",&check.p_name,&check.size,&check.one_date.year,&check.one_date.month,&check.one_date.day,&check.total); for(j=0;j<n;j+)if(strcmp(check.p_name,proj.p_name)=0)&&(strcmp(check.size,proj.size)=0)&&(check.one_date.year=proj.in_date.year)&am
14、p;&(check.one_date.month=proj.in_date.month)&&(check.one_date.day=proj.in_date.day)&&(check.total<=proj.real_s) proj.real_s-=check.total; printf_data(j); save(n); printf_back(); else printf("數(shù)據(jù)錯誤!"); 5.打印領(lǐng)料單和物資庫存清單/*信息打印模塊*/void print() int i,n; n=load(); for(i=0;i&l
15、t;n;i+) printf_data(i); getch(); menu(); (三).采用文件來存儲數(shù)據(jù)信息/*公共函數(shù)*/#include<stdio.h>void save(int n) /*保存函數(shù)*/ ; int k; if(fp=fopen("pro.dat","wb")=NULL) printf("n無法打開文件!n"); for(k=0;k<n;k+) if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) pr
16、intf("文件書寫錯誤!n"); fclose(fp);int load() /*加載函數(shù)*/ ; int k; if(fp=fopen("pro.dat","rb")=NULL) printf("n無法打開文件!n"); return NULL; for(k=0;!feof(fp);k+) fread(&prok,sizeof(struct product),1,fp); fclose(fp); return(k-1);void input(int i) /*輸入一種產(chǎn)品信息*/ printf(&quo
17、t;n名稱(1-20letter):"); scanf("%s",&proi.p_name); printf("n編號(1-7num):"); scanf("%d",&proi.p_num); printf("n庫存量(1-4letter):"); scanf("%s",&proi.size); printf("n日期:"); scanf("%d.%d.%d",&proi.in_date.year,&pro
18、i.in_date.month,&proi.in_date.day); printf("namountmin-real-max:"); scanf("%d-%d-%d",&proi.min_s,&proi.real_s,&proi.max_s);void printf_data(int i) /*輸出信息函數(shù)*/printf("n名稱tt編號t規(guī)格t日期ttmin-real-maxn");printf("%st%dt%st%d.%d.%dt%d-%d-%d",proi.p_name,
19、proi.p_num,proi.size,proi.in_date.year,proi.in_date.month,proi.in_date.day,proi.min_s,proi.real_s,proi.max_s);void printf_back() printf("nn請按任意鍵回主菜單!n"); getch(); menu();5.算法設(shè)計6.程序代碼#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#define N 100s
20、truct date int year; int month; int day;struct product char p_name20; long int p_num7; char size4; struct date in_date; long int max_s; long int min_s; long int real_s; struct product *next;proN;void enter();void search();void searchmenu();void search_by_name();void search_by_date();void search_by_n
21、ameandsize();void insert();void lend();void print();void save(int n);int load();void input(int i);void printf_data(int i) ;void printf_back(); void menu() /*菜單*/int n,w1; /*變量p保存選擇菜單數(shù)字,w1判斷輸入數(shù)字對應(yīng)菜單*/do puts("ntt*菜單*nn"); puts("ttt1.信息輸入"); puts("ttt2.信息查詢"); puts("
22、ttt3.信息插入"); puts("ttt4.領(lǐng)貨"); puts("ttt5.信息打印"); puts("ttt6.退出"); puts("nntt*n"); puts("tt* 陳文n"); puts("tt*2013.01.05n"); printf("請選擇 1-6: bb"); scanf("%d",&n); if(n<1|n>6) w1=1;getchar(); else w1=0; whil
23、e(w1=1);switch(n) /*選擇功能*/ case 1:enter();break; /*信息輸入模塊*/ case 2:search();break; /*信息查詢模塊*/ case 3:insert();break; /*信息添加模塊*/ case 4:lend();break; /*物資領(lǐng)取模塊*/ case 5:print();break; /*信息打印模塊*/ case 6:exit(0); /*退出模塊*/ main() /*主函數(shù)*/ menu();/*信息輸入模塊*/void enter() int i,n; printf("n產(chǎn)品種類數(shù)量(0-%d)?:
24、",N-1); scanf("%d",&n); printf("n請輸入數(shù)據(jù)nn"); for(i=0;i<n;i+) printf("輸入第%d種產(chǎn)品數(shù)據(jù):n",i+1); input(i); if(i!=0)save(n); printf_back();/*信息查詢模塊*/void searchmenu() int n,w2; do puts("ntt*查詢*nn"); puts("ttt1.按名稱查詢"); puts("ttt2.按日期查詢");
25、 puts("ttt3.按名稱規(guī)格查詢"); puts("ttt4.返回"); puts("nntt*n"); printf("請選擇 1-4: bb"); scanf("%d",&n); if(n<1|n>4) w2=1;getchar(); else w2=0; while(w2=1); switch(n) /*選擇功能*/ case 1:search_by_name();break; /*按名稱查詢*/ case 2:search_by_date();break; /*
26、按日期查詢*/ case 3:search_by_nameandsize();break; /*按名稱規(guī)格查詢*/ case 4:getch();menu(); /*退出模塊*/ void search() searchmenu();/*按名稱查詢*/void search_by_name() int j,n,m=0;char a20; n=load(); printf("n請輸入產(chǎn)品名稱!nname:"); scanf("%s",a); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0) m+; printf_
27、data(j); printf("n找到%d種產(chǎn)品!",m);getch();menu();/*按日期查詢*/struct s_date int year; int month; int day; s;void search_by_date() int j,n,m=0; n=load(); printf("n輸入你想查找的產(chǎn)品日期!ndate:"); scanf("%d.%d.%d",&s.year,&s.month,&s.day); for(j=0;j<n;j+)if(s.year=proj.in_da
28、te.year)&&(s.month=proj.in_date.month)&&(s.day=proj.in_date.day) m+; printf_data(j); printf("n找到當天的此產(chǎn)品%d!",m);getch();menu();/*按名稱規(guī)格查詢*/void search_by_nameandsize() int j,n,m=0; char a20,b4; n=load(); printf("n輸入你想找的產(chǎn)品名稱!n名稱:"); scanf("%s",a); printf(&qu
29、ot;n輸入你想找的產(chǎn)品庫存量!n庫存量:"); scanf("%s",b); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0)&&(strcmp(b,proj.size)=0) m+; printf_data(j); printf("找到%d種產(chǎn)品!",m);getch();menu();/*信息添加模塊*/void insert() int n,c; n=load(); puts("n輸入一個數(shù)據(jù):n"); do input(n); printf_data(n)
30、; printf("nn是否確信?n1).是n2).取消并重試n3).返回不保存 bb"); scanf("%d",&c); if(c=1)save(n+1);printf_back(); else if(c!=2)menu(); while(c=2);/*物資領(lǐng)取模塊*/struct one_pro char p_name20; char size4; struct date one_date; long int total; struct one_pro *next;check;void lend() int j,n; n=load(); p
31、rintf("n請檢查你想取的產(chǎn)品的信息!"); printf("n名稱(1-20letter) 庫存量(1-4letter) 日期 amountn");scanf("%s%s%d.%d.%d%d",&check.p_name,&check.size,&check.one_date.year,&check.one_date.month,&check.one_date.day,&check.total); for(j=0;j<n;j+)if(strcmp(check.p_name,p
32、roj.p_name)=0)&&(strcmp(check.size,proj.size)=0)&&(check.one_date.year=proj.in_date.year)&&(check.one_date.month=proj.in_date.month)&&(check.one_date.day=proj.in_date.day)&&(check.total<=proj.real_s) proj.real_s-=check.total; printf_data(j); save(n); printf
33、_back(); else printf("數(shù)據(jù)錯誤!"); /*信息打印模塊*/void print() int i,n; n=load(); for(i=0;i<n;i+) printf_data(i); getch(); menu();/*公共函數(shù)*/#include<stdio.h>void save(int n) /*保存函數(shù)*/ ; int k; if(fp=fopen("pro.dat","wb")=NULL) printf("n無法打開文件!n"); for(k=0;k<n;
34、k+) if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) printf("文件書寫錯誤!n"); fclose(fp);int load() /*加載函數(shù)*/ ; int k; if(fp=fopen("pro.dat","rb")=NULL) printf("n無法打開文件!n"); return NULL; for(k=0;!feof(fp);k+) fread(&prok,sizeof(struct product),1,fp); fclose(fp); return(k-1);void input(int i) /*輸入一種產(chǎn)品信息*/ printf("n名稱(1-20letter):"); scanf("%s",&proi.p_name); printf("n編號(1-7num):"); scanf("%d",&pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房租屋租賃合同委托書
- 二手房買賣合同分期付款
- 航空旅客行李運輸合同
- 塑料件委外加工協(xié)議書范本
- 跨城順風車旅客協(xié)議
- 勞務(wù)公司租賃場地合同
- 傳媒公司拍攝協(xié)議書范本
- 中國特色金融文化活動方案
- 屋頂彩鋼瓦施工合同范本
- 司機駕駛員用工合同范本
- 公司章程范本(完整版)
- 廠房委托經(jīng)營管理合同范本
- 高中語文《記念劉和珍君》隨堂練習(含答案)
- 部編教材《村居》《詠柳》1-古詩兩首名師公開課獲獎?wù)n件百校聯(lián)賽一等獎?wù)n件
- 人力資源管理手冊 (一)
- 七年級上冊口算題300道
- 廣州版四年級下冊《綜合實踐活動》教案共享-
- 兩進虎跳峽(2022年云南昆明中考語文試卷散文閱讀題及答案)
- 《保險科技》課件-第二章 大數(shù)據(jù)及其在保險領(lǐng)域中的應(yīng)用
- 高中英語教學:選擇性必修第三冊Unit 1 Art過關(guān)測試
- 6.2角(2)導學案蘇科版數(shù)學七年級上冊
評論
0/150
提交評論