C語言-物資管理系統設計報告_第1頁
C語言-物資管理系統設計報告_第2頁
C語言-物資管理系統設計報告_第3頁
C語言-物資管理系統設計報告_第4頁
C語言-物資管理系統設計報告_第5頁
已閱讀5頁,還剩45頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、c語言程序設計報告物資管理系統指導老師:姓名:班級序號:學號:一題目要求請設計一個物資管理系統,要求主程序中應提供文字交互菜單界面,要求包含以下幾個功能模塊:1. 信息輸入模塊input():建立物資管理數據總文件,完成對物資原庫存信息的錄入,并存放到指定文件中2. 信息查找模塊search():采用如下方式進行查找,若找到,則輸出該物資的相關信息;沒有則給出提示信息。(1)按產品名稱查詢(2)進貨日期查詢并統計。(3)按產品名稱和規格查詢并統計。3. .新物資入庫模塊insert():在原數據文件中插入新物資的信息。4. 領料模塊lend():查找所領取物資的信息,滿足領料的要求,請登記領取

2、物資名稱,日期,數量(領料后修改)5. 打印功能模塊printf()(1)打印領料單(2)打印物資庫存清單二.需求分析根據題目要求,由于物資信息是存放在文件中,所以提供文件的輸入,輸出等操作在程序中需要瀏覽物資的需要瀏覽物資信息,應提供顯示,查找等操作;另外還應提供鍵盤選擇菜單實現功能選擇。三.總統設計根據上面的分析及題目要求可以分為以下六個模塊(系統模塊如下圖1。)四.詳細設計(一)主函數一般是設計簡潔,只提供輸入,處理和輸出部分的函數調用。其中各功能模塊用菜單方式選擇。其中流程圖如圖(2)menu()intn,w1;donn");puts("ttt1.物資信息輸入模塊&

3、quot;);puts("ttt2.查詢模塊");puts("ttt3.物資信息查找模塊");puts("ttt4.領料查詢");puts("ttt5.打印模塊");puts("tt");n");puts("tt*by袁璐n");puts("tt*“);printf("選擇你要得命令1-6:bb");scanf("%d",&n);if(n<1|n>6)Nw1=1;getchar();elsew1=

4、0;while(w1=1);switch(n)case1:enter();break;case2:search();break;case3:insert();break;case4:lend();break;case5:print();break;根據n值調Jcase6:exit(0);main()*主函數*puts("ntt*歡迎進入物資管理系統*日門");puts("ttt姓名:袁璐");puts("ttt學號:604");puts("tttEmail:6");puts("tttTel:005&quo

5、t;);n");制作 袁璐*n");puts("tt*");printf("n按ENTEFRt進入.");getch();menu();(二)各功能模塊設計1.輸入模塊*幾種類型,名稱等信息*enter()inti,n;printf("n物資的種類大小(0-%d):",N-1);scanf("%d",&n);printf("n輸入數據nn");for(i=0;i<n;i+)printf("輸入第幾個物資的名稱。數量規格日期:n",i+1);i

6、nput(i);if(i!=0)save(n);printf_back();input(inti)printf("nname(1-20letter):");scanf("%s",&proi.p_name);printf("nnumber(1-7num):");scanf("%d",&proi.p_num);printf("nsize(1-4letter):");scanf("%s",&proi.size);printf("ndate:&quo

7、t;);scanf("%d.%d.%d",&proi.,&proi.,&proi.;printf("min_sreal_smax_s:");printf("n最小庫存量真實庫存量最大庫存量");scanf("%d%d%d",&proi.min_s,&proi.real_s,&proi.max_s);printf_data(inti)printf("nnamettnumtsizetdatettminrealmaxn");printf("%s

8、t%dt%st%d.%d.%dt%d-%d-%d",proi.p_name,proi.p_num,proi.size,proi.,proi.,proi.,proi.min_s,proi.real_s,proi.max_s);主要是為了輸入商品類型,名稱,數量,型號,日期,最大,最小,真實庫存量,并存放在指定的文件中。但要注意到輸入時間,最大最小庫存的格式(如)請輸入第1th中商品信息:name(1-20letter):蘋果number(1-7num):1size(1-4letter):2date:searchmenu()*查詢模塊*intn,w2;doputs("ntt*查

9、詢菜單*nn");puts("ttt1.姓名查詢");puts("ttt2.日期查詢");puts("ttt3.物資名稱和規格查詢");puts("ttt4.返回");puts("nntt*n");printf("選擇你要得命令1-4:bb");scanf("%d",&n);if(n<1|n>4)w2=1;getchar();elsew2=0;while(w2=1);switch(n)case1:search_by_name(

10、);break;case2:search_by_date();break;case3:search_by_nameandsize();break;case4:getch();menu();search()searchmenu();search_by_name()intj,n,m=0;chara20;n=load();printf("n輸入你要查詢物資的名稱nname:");scanf("%s",a);for(j=0;j<n;j+)if(strcmp(a,proj.p_name)=0)m+;printf_data(j);printf("n查

11、找的第幾種物資!",m);getch();menu();structs_dateintyear;intmonth;intday;s;search_by_date()intj,n,m=0;n=load();printf("n輸入你要查詢物資的日期!ndate:");scanf("%d.%d.%d",&,&,&for(j=0;j<n;j+)if(=proj.&&=proj.&&=proj.)m+;printf_data(j);printf("n查找第幾種物資在那天!"

12、,m);getch();menu();search_by_nameandsize()intj,n,m=0;chara20,b4;n=load();printf("n輸入你要查詢物資的名稱!nname:");scanf("%s",a);printf("n輸入你要查詢物資的規格!nsize:");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);pri

13、ntf("查找第幾種物資!”,m);getch();menu();主要以一種查詢方式進行說明流程圖如下:操作如圖*菜單*by商品種類商品查找新商品信息錄入領取商品打印商品信息退出根據n值調,I*袁璐*SEARCH*1. 通過商品名查詢2. 通過錄入日期查詢3. 通過商品名和日期查詢4. 返回菜單*請選擇要查詢的種類1-4:1輸入你要查詢商品的名稱name:蘋果namenumsizedatemin-real-max蘋果436290023-4-5找到1種商品!*菜單*(三)新物資的錄入在此函數上對新料進行了記錄insert()intn,c;n=load();puts("nInp

14、utonedata:n");doinput(n);printf_data(n);printf("nnAreyousuren1).suren2).cancelandagainn3).backwithoutsavebb");scanf("%d",&c);if(c=1)save(n+1);printf_back();elseif(c!=2)menu();while(c=2);input(inti)printf("nname(1-20letter):");scanf("%s",&proi.p_na

15、me);printf("nnumber(1-7num):");scanf("%d",&proi.p_num);printf("nsize(1-4letter):");scanf("%s",&proi.size);printf("ndate:");scanf("%d.%d.%d",&proi.,&proi.,&proi.;printf("min_sreal_smax_s:");printf("n最小庫存量真實

16、庫存量最大庫存量");scanf("%d%d%d",&proi.min_s,&proi.real_s,&proi.max_s);該函數據對物資進行了全面的查找(四)領料模塊*查找對所領聊的信息,若滿足領料要求,便登記一系列內容,并修改程序如下structone_procharp_name20;charsize4;structdateone_date;longinttotal;structone_pro*next;check;lend()intj,n;n=load();printf("n請檢查你要帶走物資的日期等信息!")

17、;printf("nname(1-20letter)size(1-4letter)dateamountn");scanf("%s%s%d.%d.%d%d",&,&,&&&&for(j=0;j<n;j+)if(strcmp,proj.p_name)=0)&&(strcmp,proj.size)=0)&&&&&&&&<=proj.real_s)proj.real_s-=;printf_data(j);printf_bac

18、k();elseprintf("日期錯誤!");(五)采用文件來存儲數據信息#include<>save(intn)FILE*fp;intk;if(fp=fopen("","wb")=NULL)printf("nCannotopenfile!n");returnNULL;for(k=0;k<n;k+)if(prok.real_s!=0)if(fwrite(&prok,sizeof(structproduct),1,fp)!=1)printf("文件書寫錯誤!n");fc

19、lose(fp);load()FILE*fp;intk;if(fp=fopen("","rb")=NULL)printf("n不能打開文件!n");returnNULL;for(k=0;!feof(fp);k+)fread(&prok,sizeof(structproduct),1,fp);fclose(fp);return(k-1);C語言課程設計感想:在學習C語言這門課時,由于是第一次接觸計算機的課程,而且這門課本來就很抽象,因此,上課時就覺得聽不懂.上程序設計課時也是一知半解,加上設計課的時間短,所以自己也沒有什么進步。

20、老師布置課程設計后,通過不斷的學習與實踐,慢慢有了一些進步,自己在綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的方面有了很大的提高。當今科學技術發展日新日異,計算機應用在生活中更是無處不在。作為一個大學來說掌握計算機技術是十分重要的?;仡欉@次的課程設計,我感慨良多。從題目到編程,再從編程到調試,我學到很多很多的的東西,通過這次課程設計,我懂得了學習計算機靠的是大量的上機編程調試,從中才可以不斷提高編程水平。在設計的過程中,我遇到了很多問題,這畢竟第一次做的,難免會遇到過各種各樣的問題,比如說結構體、調試不成功我很高興在我遇到困難的時候,同學們給了我很多的幫助,可以這么說,沒有

21、同學們,我現在肯定還沒有完成這次課程設計。在設計中遇到了很多編程問題,在同學的幫助下,最后都迎刃而解。最后,我要再次對各位同學和老師說一聲,謝謝大家的幫助,謝謝!后附程序及運行結果一,程序#include<>#include<>#defineN100structdateintyear;intmonth;intday;structproductcharp_name20;longintp_num7;charsize4;structdatein_date;longintmax_s;longintmin_s;longintreal_s;structproduct*next;pr

22、oN;menu()intn,w1;doputs("ntt*MENU*nn")puts("ttt1.物資信息輸入模塊");puts("ttt2. 查詢模塊 ");puts("ttt3.物資信息查找模塊");puts("ttt4. 領料查詢 ");puts("ttt5. 打印模塊 ");puts("tt");puts("nntt*n");puts("tt*by董剛 n");puts("tt*n");p

23、rintf("選擇你要得命令1-6:bb");scanf("%d",&n);if(n<1|n>6)w1=1;getchar();elsew1=0;while(w1=1);switch(n)case1:enter();break;case2:search();break;case3:insert();break;case4:lend();break;case5:print();break;case6:exit(0);main()puts("ntt*歡迎進入物資管理系統*nn");puts("ttt姓名:袁璐

24、");puts("ttt學號:604");puts("");puts("tttTel:005");puts("tt*制作袁璐n");puts("tt*”);printf("n按ENTER1進入)getch();menu();enter()inti,n;printf("n物資的量的大小(0-%d):",N-1);scanf("%d",&n);printf("n輸入數據nn");for(i=0;i<n;i+)prin

25、tf("輸入第幾個物資的名稱。數量規格日期:n",i+1);input(i);if(i!=0)save(n);printf_back();searchmenu()intn,w2;doputs("ntt*查詢菜單*nn");puts("ttt1.姓名查詢");puts("ttt2.日期查詢");puts("ttt3.物資名稱和規格查詢");puts("ttt4.返回");printf("選擇你要得命令1-4:bb");scanf("%d"

26、,&n);if(n<1|n>4)w2=1;getchar();elsew2=0;while(w2=1);switch(n)case1:search_by_name();break;case2:search_by_date();break;case3:search_by_nameandsize();break;case4:getch();menu();search()searchmenu();search_by_name()intj,n,m=0;chara20;n=load();printf("n輸入你要查詢物資的名稱nname:");scanf(&quo

27、t;%s",a);for(j=0;j<n;j+)if(strcmp(a,proj.p_name)=0)m+;printf_data(j);printf("n查找的第幾種物資!",m);getch();menu();structs_dateintyear;intmonth;intday;s;search_by_date()intj,n,m=0;n=load();printf("n輸入你要查詢物資的日期!ndate:");scanf("%d.%d.%d",&,&,&for(j=0;j<n;j+

28、)if(=proj.&&=proj.&&=proj.)m+;printf_data(j);printf("n查找第幾種物資在那天!",m);getch();menu();search_by_nameandsize()intj,n,m=0;chara20,b4;n=load();printf("n輸入你要查詢物資的名稱!nname:");scanf("%s",a);printf("n輸入你要查詢物資的規格!nsize:");scanf("%s",b);for(j=0

29、;j<n;j+)if(strcmp(a,proj.p_name)=0)&&(strcmp(b,proj.size)=0)m+;printf_data(j);printf("查找第幾種物資!",m);getch();menu();insert()intn,c;n=load();puts("nInputonedata:n");doinput(n);printf_data(n);printf("nnAreyousuren1).suren2).cancelandagainn3).backwithoutsavebb");s

30、canf("%d",&c);if(c=1)save(n+1);printf_back();elseif(c!=2)menu();while(c=2);structone_procharp_name20;charsize4;structdateone_date;longinttotal;structone_pro*next;check;lend()intj,n;n=load();printf("n請檢查你要帶走物資的日期等信息!");printf("nname(1-20letter)size(1-4letter)dateamountn&q

31、uot;);scanf("%s%s%d.%d.%d%d",&,&,&&&&for(j=0;j<n;j+)if(strcmp,proj.p_name)=0)&&(strcmp,proj.size)=0)&&&&&&&&<=proj.real_s)proj.real_s-=;printf_data(j);printf_back();elseprintf("日期錯誤!");print()inti,n;n=load();fo

32、r(i=0;i<n;i+)printf_data(i);getch();menu();#include<>save(intn)FILE*fp;intk;if(fp=fopen("","wb")=NULL)printf("nCannotopenfile!n");returnNULL;for(k=0;k<n;k+)if(prok.real_s!=0)if(fwrite(&prok,sizeof(structproduct),1,fp)!=1)printf("文件書寫錯誤!n");fclo

33、se(fp);load()FILE*fp;intk;if(fp=fopen("","rb")=NULL)returnNULL;for(k=0;!feof(fp);k+)fread(&prok,sizeof(structproduct),1,fp);fclose(fp);return(k-1);input(inti)printf("nname(1-20letter):");scanf("%s",&proi.p_name);printf("nnumber(1-7num):");sca

34、nf("%d",&proi.p_num);printf("nsize(1-4letter):");scanf("%s",&proi.size);scanf("%d.%d.%d",&proi.,&proi.,&proi.;printf("min_sreal_smax_s:");printf("n最小庫存量真實庫存量最大庫存量");scanf("%d%d%d",&proi.min_s,&proi.real

35、_s,&proi.max_s);printf_data(inti)printf("nnamettnumtsizetdatettminrealmaxn");printf("%st%dt%st%d.%d.%dt%d-%d-%d",proi.p_name,proi.p_num,proi.size,proi.,proi.,proi.,proi.min_s,proi.real_s,proi.max_s);printf_back()getch();menu();二,程序截圖運行結果CGQoctiEEnltsandSetHngsluser皇面Vft-物密管疊素

36、皖VXHXXXXXKXXXKHX1CK“羽米利物售尊W充!XMKKXKIfMXX*XtfXIfXTiXMard袁琥Mnnh*p;2閹71M仲26M4Ernftil:646247646(?qq.corTel:027&33B92KMX*>(dKXX,>*by袁瑞色必8-12-2¥注核ENTER進入菜.an<X M M M MXMXMXMMX青按ENTER進入菜單入錄息自心信自品品種查品商商品品商取M123456-*«*«*«*«*by袁璐XXMXXXXXXXXXXXXXXXMXXXMM*M*X*X*2008.12.29Cho

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論