九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

C語言課程設(shè)計(jì)報(bào)告-物資管理系統(tǒng).doc

  • 資源ID:116793197       資源大?。?span id="24d9guoke414" class="font-tahoma">314.50KB        全文頁數(shù):20頁
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

C語言課程設(shè)計(jì)報(bào)告-物資管理系統(tǒng).doc

C語言課程設(shè)計(jì)目 錄1、需求分析;2、系統(tǒng)總框圖;3、每個(gè)模塊的設(shè)計(jì)分析;4、列出所有定義的函數(shù)及說明;5、舉例說明1、2個(gè)比較有特點(diǎn)的算法;6、數(shù)據(jù)分析。完備性、健壯性等;7、存在的問題與不足及對策;8、使用說明(操作手冊);9、學(xué)習(xí)心得前 言計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,不僅極大地促進(jìn)了整個(gè)科學(xué)技術(shù)的發(fā)展,而且明顯地加快了經(jīng)濟(jì)信息化和社會信息化的進(jìn)程。因此,計(jì)算機(jī)教育在全國備受重視,計(jì)算機(jī)知識與能力已成為21世紀(jì)人才素質(zhì)的基本要素之一。如今,高等教育的計(jì)算機(jī)教育發(fā)展十分迅速。十多年前,只有部分理工科專業(yè)開設(shè)計(jì)算機(jī)課程。今天,幾乎所有高校的所有專業(yè)都開設(shè)了程度不同的計(jì)算機(jī)課程。人們已經(jīng)認(rèn)識到,計(jì)算機(jī)知識已成為當(dāng)代知識分子知識結(jié)構(gòu)中不可缺少的重要組成部分。而除了掌握計(jì)算機(jī)的基礎(chǔ)知識和操作的基本能力外,掌握一門高級編程語言,并可以熟練運(yùn)用它,已成為當(dāng)代大學(xué)生綜合能力必要組成。計(jì)算機(jī)技術(shù)發(fā)展如此迅猛,計(jì)算機(jī)應(yīng)用如此廣泛,需要學(xué)習(xí)的東西愈來愈多,而我們的總學(xué)時(shí)是有限的。一般來說,計(jì)算機(jī)課程學(xué)習(xí)可以分為兩部分:一部分是理論課程學(xué)習(xí),一部分是上機(jī)應(yīng)用實(shí)習(xí)。根據(jù)我們專業(yè)的性質(zhì)和要求,則應(yīng)側(cè)重于上機(jī)操作運(yùn)用。為此,學(xué)校特意在暑期最后一星期安排了32個(gè)學(xué)時(shí)的上機(jī)實(shí)習(xí)?,F(xiàn)將一星期的實(shí)習(xí)內(nèi)容及結(jié)果分析分列如下:物資管理系統(tǒng)一 題目要求1 編輯一個(gè)物資管理系統(tǒng),能進(jìn)行物資信息的錄入,查詢,打印和數(shù)據(jù)的修改。(1)物資信息錄入:包括物資名稱、編號、規(guī)格、入庫時(shí)間、最大庫存、最小庫存、實(shí)際庫存。(2)物資信息查詢:可以分別以名稱、日期、名稱和規(guī)格查詢。(3)新料入庫:將新料的信息與以前儲存的信息存在一起。(4)物資領(lǐng)?。涸陬I(lǐng)料之后改變實(shí)際庫存量。(5)物資打?。捍蛴〕鰩齑娴乃形镔Y。2在課本要求的基礎(chǔ)上,我在實(shí)習(xí)過程中又補(bǔ)充了一個(gè)功能即物資數(shù)據(jù)的更新,這主要是為了滿足如果在信息錄入的過程中將數(shù)據(jù)輸錯(cuò),可以在查詢到錯(cuò)誤后進(jìn)行更改,同時(shí)如果新入庫的物資是以前存在的,那么也可以用此功能進(jìn)行入庫數(shù)據(jù)輸入。3要求數(shù)據(jù)以dat格式存放在硬盤上便于長期保存。二 需求分析根據(jù)題目要求,數(shù)據(jù)以dat的形式存儲在硬盤上,所以應(yīng)提供文件的輸入,輸出等操作;還需要文件具有查找,替換,修改數(shù)據(jù)的功能??傮w設(shè)計(jì)根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為如下七大模塊:一、信息錄入:在每次輸入信息時(shí)提供必要的友情提示。提示包括:1.如果選擇此項(xiàng)功能,那么之前的數(shù)據(jù)將被刪除,只將此次數(shù)據(jù)存儲;2.需要輸入的數(shù)目,保證輸入能夠終止;3.輸入信息時(shí)提示這是輸入的第幾個(gè)物資的信息。輸入結(jié)束后以文件的形式儲存。二、信息查找:按查詢條件分為三個(gè)小模塊。分別為以名稱、日期、名稱和規(guī)格查詢模塊。此模塊只包含查詢的目錄和選擇,然后分別進(jìn)入每個(gè)小模塊。1以名稱查詢:輸入要查詢物資的名稱,系統(tǒng)將其與文件里的物資名稱進(jìn)行比較,如果找到匹配的那么將其打印出來,最后統(tǒng)計(jì)匹配物資數(shù)量。2.以日期查詢:按要求輸入查詢物資入庫日期,系統(tǒng)將其與文件里的物資入庫時(shí)間進(jìn)行比較,如果找到匹配的那么將其打印出來,最后統(tǒng)計(jì)匹配物資數(shù)量。3.以名稱和規(guī)格查詢:按要求輸入要查詢物資的名稱和規(guī)格,系統(tǒng)將其與文件里的物資的名稱和規(guī)格進(jìn)行比較,如果找到匹配的那么將其打印出來,最后統(tǒng)計(jì)匹配物資數(shù)量。三、新料入庫:打開文件,按要求輸入數(shù)據(jù)后提供是否確定或從新輸入的選擇,輸入數(shù)據(jù)在確定的情況下儲存在原來已經(jīng)存在的數(shù)據(jù)的后面。每次只能輸入一個(gè)物資的數(shù)據(jù)。四、物資領(lǐng)?。狠斎胍〕鑫镔Y的名稱、規(guī)格、入庫時(shí)間,如果找到匹配的那么將庫存實(shí)際量數(shù)據(jù)改變,輸入要取出的量不能大于實(shí)際的庫存量,否則輸入數(shù)據(jù)無效。五、物資打?。捍蛴〕鰩齑娴奈镔Y的所有信息,便于使用者了解整體情況。六、數(shù)據(jù)更新:如果查詢到庫存信息有誤,那么可以對其進(jìn)行更改。如果需要入庫的物資已經(jīng)存在,那么只需要更改相應(yīng)數(shù)據(jù)即可。也就是可以用此功能對已經(jīng)存儲的所有信息進(jìn)行更改。七、退出:退出整個(gè)系統(tǒng)。物資管理系統(tǒng)信息錄入信息查詢新料入庫物資打印數(shù)據(jù)更新退出物資領(lǐng)取三 詳細(xì)設(shè)計(jì)1 主函數(shù)為了各模塊的獨(dú)立性,主函數(shù)設(shè)計(jì)得比較簡單,本系統(tǒng)主要用主函數(shù)打開做一個(gè)封面的打印,包含我的個(gè)人信息,然后進(jìn)入主菜單選擇操作。流程圖打印出我的資料,任意鍵繼續(xù)進(jìn)入主菜單函數(shù)程序/*主函數(shù)*/main() /*主函數(shù)*/ puts(nnnntt歡迎使用物資管理系統(tǒng)); puts(ttName:楊超 ); puts(ttNumber:20071001560 ); puts(ttE-mail: ); puts(ttTel:15872351704 ); puts(tt ); puts(tt*楊超 ); puts(tt*2009.1.2 ); puts(tt); printf(nttt 按任意鍵繼續(xù)); getch(); menu();2 主菜單函數(shù)流程圖顯示一系列功能選項(xiàng)輸入n,判斷n是否是1-7根據(jù)n的值調(diào)用各功能模塊函數(shù)是否程序menu() /*菜單函數(shù)*/ int n,m; do puts(ntt*菜單*nn); puts(ttt1.物資信息錄入); puts(ttt2.物資信息查詢); puts(ttt3.新料入庫); puts(ttt4.物資領(lǐng)取); puts(ttt5.物資打印); puts(ttt6.物資數(shù)據(jù)更新); puts(ttt7.退出); puts(nntt*n); puts(tt*楊超n); puts(tt*2009.1.2n); printf(選擇操作 1-7: bb); scanf(%d,&n); if(n7) m=1;getchar(); else m=0; while(m=1);switch(n) /*分別進(jìn)入各函數(shù)*/ case 1:write();break; /*錄入函數(shù)*/ case 2:search();break; /*查詢函數(shù)*/ case 3:insert();break; /*新料入庫函數(shù)*/ case 4:lend();break; /*領(lǐng)料函數(shù)*/ case 5:print();break; /*打印函數(shù)*/ case 6:rewrite();break; /*信息更改*/ case 7:exit(0); /*退出*/ 各功能模塊設(shè)計(jì)(1) 物資信息錄入/*物資信息錄入函數(shù)*/建立一個(gè)write函數(shù)用于第一次存儲信息。用printf函數(shù)打印出提示語(提示:請確定這是你第一次錄入信息,因?yàn)橹氨4娴臄?shù)據(jù)將被刪除),然后用scanf函數(shù)接受一個(gè)數(shù)據(jù)給k,用if語句判斷k是否為0。如果繼續(xù)則輸入0,那么此時(shí)if(k!=0)為假,不執(zhí)行if后面的語句。否則用printf_back()調(diào)回到主目錄。選擇繼續(xù)之后,用printf函數(shù)提示輸入需用錄入的物資的數(shù)量,同時(shí)提示最大數(shù)字。然后用printf提示現(xiàn)在開始輸入信息,執(zhí)行input()函數(shù)開始輸入相關(guān)信息。輸入信息執(zhí)行后,用if(i!=0)判斷是否已經(jīng)輸入信息,如果輸入有數(shù)據(jù)那么i執(zhí)行了循環(huán),則if(i!=0)語句為真,執(zhí)行save函數(shù)進(jìn)行保存。沒有執(zhí)行i循環(huán)則if(i!=0)為假,直接執(zhí)行printf函數(shù)跳到主目錄。代碼如下:write()int i,n,k; printf(nnt提示:請確定這是你第一次錄入信息,因?yàn)橹氨4娴臄?shù)據(jù)將被刪除!nn); printf(ttt是否繼續(xù)!nnttt0 *是nnttt其它 *否 bb); scanf(%d,&k); if(k!=0) printf_back(); printf(n需要錄入物資數(shù)量(0-%d)?:,N-1); /*N是宏定義,可以隨時(shí)改變其值*/ scanf(%d,&n); printf(n現(xiàn)在輸入信息nn); for(i=0;in;i+) printf(n現(xiàn)在輸入第 %d個(gè)物資的信息:n,i+1); input(i); if(i!=0)save(n); printf_back(); /*查詢函數(shù)*/本函數(shù)只包含跳轉(zhuǎn)到查詢目錄函數(shù),然后執(zhí)行查詢目錄。打碼如下:search() searchmenu();物資信息查詢:1、/*以日期查詢函數(shù)*/建立日期結(jié)構(gòu)體。struct search_dateint year; int month; int day;s;search_by_date()int j,n,m=0;打開文件到內(nèi)存,使可以對數(shù)據(jù)進(jìn)行操作。 n=load(); 提示語:printf(n輸入你所查詢信息的日期!ndate:); 輸入數(shù)據(jù)分別賦值給日期中的年月日。scanf(%d.%d.%d,&s.year,&s.month,&s.day);用for循環(huán)使輸入的日期與數(shù)據(jù)中的每一個(gè)日期進(jìn)行比較。 for(j=0;jn;j+)判斷輸入的日期與當(dāng)前物資的日期是否相同,如果相同則if為真,用m統(tǒng)計(jì)相同日期的物資的個(gè)數(shù)。打印出滿足條件的物資的信息。if(s.year=proj.in_date.year)&(s.month=proj.in_date.month)&(s.day=proj.in_date.day) m+; printf_data(j);打印出滿足條件物資的數(shù)量。printf(n有%d種物資與查詢相匹配!,m);按任意鍵返回到主函數(shù)。getch();menu();/*以名稱查詢函數(shù)*/search_by_name()int j,n,m=0;char a20;打開文件,使能對文件中的數(shù)據(jù)進(jìn)行操作。 n=load(); 提示語言printf(n輸入你所查詢信息的名稱!nname:); 輸入一個(gè)字符數(shù)據(jù)賦值給ascanf(%s,a);用for循環(huán)使a與文件中的每一個(gè)數(shù)據(jù)進(jìn)行判斷,如果相同則打印出來同時(shí)用m統(tǒng)計(jì)相同的個(gè)數(shù)。 for(j=0;jn;j+) if(strcmp(a,proj.p_name)=0) m+; printf_data(j); 打印出相同個(gè)數(shù)的數(shù)量。printf(n有%d種物資與查詢相匹配!,m);任意鍵返回getch();menu();/*以名稱和規(guī)格查詢函數(shù)*/search_by_nameandsize()int j,n,m=0;char a20,b4;打開文件使能對數(shù)據(jù)進(jìn)行操作。 n=load(); 提示輸入語,將輸入的字符數(shù)據(jù)賦值給aprintf(n輸入你所查詢信息的名稱!nname:); scanf(%s,a);提示輸入語,使輸入的字符數(shù)據(jù)賦值給b printf(n輸入你所查詢信息的規(guī)格!nsize:); scanf(%s,b);用for語句使輸入的名稱和規(guī)格數(shù)據(jù)與內(nèi)存中的每一個(gè)數(shù)據(jù)進(jìn)行比較。 for(j=0;jn;j+)如果數(shù)據(jù)與當(dāng)前數(shù)據(jù)相同,打印出數(shù)據(jù),同時(shí)用m統(tǒng)計(jì)相同個(gè)數(shù)。 if(strcmp(a,proj.p_name)=0)&(strcmp(b,proj.size)=0) m+; printf_data(j); 打印出匹配物資的個(gè)數(shù)。printf(n有%d種物資與查詢相匹配!,m);任意鍵返回主菜單。getch();menu();新料入庫/*新料入庫函數(shù)*/insert()int n,c;打開文件使能對數(shù)據(jù)進(jìn)行操作。 n=load(); puts(n請輸入相關(guān)信息:n);用dowhile循環(huán)判斷是否從新輸入。 do 進(jìn)入input函數(shù)輸入新料的相關(guān)數(shù)據(jù)。input(n);調(diào)用printf_data函數(shù)打印出剛輸入的新料的相關(guān)數(shù)據(jù)。 printf_data(n);按提示語進(jìn)行下一步操作。 printf(nn是否確定輸入n1 ).是n2 ).從新輸入n其它).返回 bb);接受一個(gè)數(shù)據(jù)賦值給c,如果c=1,那么將新輸入的數(shù)據(jù)保存。如果c!=1且c!=2,那么返回到主函數(shù),如果c=2那么從新輸入新料的數(shù)據(jù)。 scanf(%d,&c); if(c=1) save(n+1);printf_back(); else if(c!=2)menu(); while(c=2);物資領(lǐng)取/*領(lǐng)料函數(shù)*/lend()int j,n,k=0;打開文件使能對數(shù)據(jù)進(jìn)行操作。 n=load();由于數(shù)據(jù)類型很重要,因此輸出提示語,使按照提示操作。 printf(n請輸入你需要物資內(nèi)容的相關(guān)信息!); printf(n名稱(1-20字母)t規(guī)格(1-4字母)t入庫日期t領(lǐng)取數(shù)量n);輸入數(shù)據(jù),分別賦值給名稱、規(guī)格和入庫日期,同時(shí)輸入領(lǐng)取量。scanf(%st%st%d.%d.%dt%d,&take.p_name,&take.size,&take.one_date.year,&take.one_date.month,&take.one_date.day,&take.total);用for循環(huán)判斷要領(lǐng)取的物資是否存在與庫中,同時(shí)判斷領(lǐng)取量是否小于庫存量。 for(j=0;jn;j+)if(strcmp(take.p_name,proj.p_name)=0)&(strcmp(take.size,proj.size)=0)&(take.one_date.year=proj.in_date.year)&(take.one_date.month=proj.in_date.month)&(take.one_date.day=proj.in_date.day)&(take.total=proj.real_s)如果存在物資,那么領(lǐng)取物資,庫存的實(shí)際數(shù)量更新,打印出領(lǐng)料后物資的信息,同時(shí)使k=1。 proj.real_s-=take.total; printf_data(j); k=1; 如果不存在物資,那么k的值不變?yōu)?,則執(zhí)行if語句返回到主菜單。if(k=0) printf(輸入數(shù)據(jù)未找到!);getch();menu();領(lǐng)料后保存數(shù)據(jù),返回到主菜單。save(n);printf_back();物資打印/*打印函數(shù)*/print()int i,n;將文件的數(shù)據(jù)讀到內(nèi)存中,使能對數(shù)據(jù)進(jìn)行處理。 n=load();用for循環(huán)打印出從文件中讀出的每一個(gè)數(shù)據(jù)。 for(i=0;in;i+) printf_data(i);任意鍵返回。 puts(nnttt任意鍵返回); getch(); menu();物資數(shù)據(jù)更新/*信息更改函數(shù)*/rewrite()char p_name20;long int p_num; char size4;int m,n,j,k=0;讀入文件中的數(shù)據(jù),使能對其進(jìn)行操作。 n=load();用dowhile語句執(zhí)行循環(huán)輸入。 do puts(n要更改物資的信息:名稱 編號 規(guī)格);賦值給名稱、編號、規(guī)格,打印出輸入的信息,接受數(shù)據(jù)判斷選擇操作。 scanf(%s%ld%s,&p_name,&p_num,&size); printf(名稱:%stt編號:%ldtt規(guī)格:%s,&p_name,p_num,&size); printf(nnnnttt是否繼續(xù)!nnttt0 *是nnttt1 *退出nnttt其它 *重新輸入 bb);根據(jù)提示信息輸入一個(gè)值給m,如果退出則輸入1,那么if(m=1)為真,返回到主菜單;如果要繼續(xù)則輸入為0,k賦值為1,那么while語句為假,進(jìn)行后面的操作;重新輸入則輸入除0和1以外的數(shù)據(jù),那么k=0,while(k!=1)為真,執(zhí)行重新輸入。 scanf(%d,&m); if(m=1) printf_back(); else if(m=0) k=1; while(k!=1);用for循環(huán)判斷要更改的物資是否存在,如果存在調(diào)入input函數(shù),重新輸入物資的信息,保存新信息,返回到主菜單。 for(j=0;jn;j+) if(strcmp(p_name,proj.p_name)=0)&(p_num=proj.p_num)&(strcmp(size,proj.size)=0) puts(n請重新輸入信息n); input(j); save(n); printf_back(); 如果沒有一個(gè)匹配,提示未找到返回主菜單。 puts(未找到n按任意鍵返回!); getch(); menu();退出如果輸入為7那么直接用exit(0);結(jié)束整個(gè)程序。各函數(shù)及說明main() 包括個(gè)人說明和調(diào)入menu()函數(shù)。menu() 打印出各個(gè)功能菜單,選擇需要操作的功能,進(jìn)入各功能。input() 輸入物資的名稱、編號、規(guī)格、入庫時(shí)間、庫存最大最小和實(shí)際量。代碼如下:input(int i) /*輸入函數(shù)*/printf(n名稱(1-20字母):); scanf(%s,&proi.p_name); printf(n編號(1-7數(shù)字):); scanf(%d,&proi.p_num); printf(n規(guī)格(1-4字母):); scanf(%s,&proi.size); printf(n入庫日期(年.月.日):); scanf(%d.%d.%d,&proi.in_date.year,&proi.in_date.month,&proi.in_date.day); printf(n數(shù)量庫存最小-實(shí)際-最大:); scanf(%d-%d-%d,&proi.min_s,&proi.real_s,&proi.max_s);insert() 新料入庫函數(shù),調(diào)入input()函數(shù),將輸入的信息存儲在原信息的后面,提供是否繼續(xù)的選擇操作。lend() 領(lǐng)料入庫函數(shù),輸入物料信息,查找物料是否存在,如果存在則取出相應(yīng)數(shù)量的物料,改變相應(yīng)庫存信息并保存,若不存在,打印出提示。load() 從文件中讀入物資庫存信息到內(nèi)存,使可以對數(shù)據(jù)進(jìn)行操作。代碼如下:load() /*從文件讀入函數(shù)*/ FILE*fp; /*定義指針*/ int k; if(fp=fopen(pro.dat,rb)=NULL) /*以只讀方式打開一個(gè)二進(jìn)制文件,打開失敗給出提示*/ printf(n文件打開失??!n); return NULL; for(k=0;!feof(fp);k+) /*打開成功將其所有數(shù)據(jù)讀入一次到內(nèi)存中*/ fread(&prok,sizeof(struct product),1,fp); fclose(fp); /*關(guān)閉指針*/ return(k-1); /*給出返回值使能對讀入的數(shù)據(jù)進(jìn)行準(zhǔn)確操作*/print() 打印出庫存每一條信息。代碼如下:print()int i,n; n=load(); for(i=0;in;i+) printf_data(i); puts(nnttt任意鍵返回); getch(); menu();print_back() 操作完成后返回到主菜單的函數(shù)。代碼如下:printf_back() /*返回提示函數(shù)*/printf(nn操作完成nn按任意鍵返回!n); getch(); menu();print_data() 打印出名稱、編號、規(guī)格、日期、庫存最小-實(shí)際-最大。代碼如下:printf_data(int i) /*打印函數(shù)*/printf(n名稱tt編號t規(guī)格t日期tt庫存最小-實(shí)際-最大n);printf(%stt%dt%st%d.%d.%dtt%d-%d-%d,proi.p_name,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);rewrite() 信息更改函數(shù),可更改庫存中的人以信息。save() 將內(nèi)存中的數(shù)據(jù)保存到硬盤中。代碼如下:save(int n) /*保存函數(shù)*/FILE*fp; /*定義指針*/ int k; if(fp=fopen(pro.dat,wb)=NULL) /*以只寫的方式打開一個(gè)二進(jìn)制文件,文件名為pro.dat printf(n文件打開失敗!n); 如果打開失敗給出提示*/ return NULL; for(k=0;kn;k+) /*打開成功則將內(nèi)存中的物資信息存到硬盤上*/ if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) printf(文件存儲失敗n); /*存儲失敗給出提示*/ fclose(fp);search() 調(diào)入查詢菜單函數(shù)。search_by_name() 以名稱為條件查詢函數(shù),找到名稱相同的物料,調(diào)用print_data()函數(shù)打印出匹配的物料信息。search_by_date()以日期為條件查詢函數(shù),找到入庫時(shí)間相同的物料,調(diào)用print_data()函數(shù)打印出匹配的物料信息。search_by_nameandsize()以名稱和規(guī)格為條件查詢函數(shù),找到信息相同的物料,調(diào)用print_data()函數(shù)打印出匹配的物料信息。searchmenu() 打印出提示信息,使按要求操作,根據(jù)輸入的信息不同進(jìn)入各個(gè)不同查詢條件函數(shù)。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(n4) w2=1;getchar(); else w2=0; while(w2=1); switch(n) /*跳轉(zhuǎn)到查詢函數(shù)*/ case 1:search_by_name();break; /*轉(zhuǎn)入以名稱查詢函數(shù)*/ case 2:search_by_date();break; /*轉(zhuǎn)入以日期查詢函數(shù)*/ case 3:search_by_nameandsize();break; /*轉(zhuǎn)入以名稱和規(guī)格查詢函數(shù)*/ case 4:getch();menu(); /*跳轉(zhuǎn)到菜單函數(shù)*/ write() 將物資信息讀入到內(nèi)存中并保存在硬盤中。時(shí)間結(jié)構(gòu)體struct dateint year; int month; int day;領(lǐng)料時(shí)需要輸入的產(chǎn)品信息結(jié)構(gòu)體struct one_prochar p_name20;long int p_num; char size4; struct date one_date; long int total; struct one_pro *next;take;保存文件的產(chǎn)品信息結(jié)構(gòu)體struct productchar p_name20; long int p_num; char size4; struct date in_date; long int max_s; long int min_s; long int real_s; struct product *next;proN;查詢?nèi)掌诘慕Y(jié)構(gòu)體struct search_dateint year; int month; int day;s;操作展示截圖:開始界面:提示語后輸入信息:輸入信息后選擇打印結(jié)果:a的編號為1000規(guī)格為xxl入庫日期為2009.1.8庫存實(shí)際量為58。以名稱查詢結(jié)果:以日期查詢結(jié)果:以名稱和規(guī)格查詢結(jié)果:新料入庫界面:領(lǐng)取a物資5個(gè)單位后,a的庫存實(shí)際量為53物資數(shù)據(jù)更新后,a名稱改為aa,編號為1008,規(guī)格為xxx,入庫日期為2009.1.10,庫存信息也相應(yīng)改變,同時(shí)上次輸入的新料的信息也存儲了進(jìn)去:程序特點(diǎn)和個(gè)人總結(jié): 本程序是自己的勞動(dòng)結(jié)果,由于是第一次學(xué)習(xí)程序語言,接觸程度不深,因此編寫的語言非常簡單,全部使用的是一些常見的語言結(jié)構(gòu),讀起來也比較容易。同時(shí)由于是初學(xué),因此寫出的程序代碼也顯得比較淺略,對于編程高手來說顯得平淡如水,這是今后需要改正的地方。但是由于程序是分模塊編寫的,看起來也比較簡練,不會顯得雜亂。同時(shí)有一個(gè)問題還沒有解決。問題如下:menu() int n,m; do puts(ntt*菜單*nn); puts(ttt1.物資信息錄入); puts(ttt2.物資信息查詢); puts(ttt3.新料入庫); puts(ttt4.物資領(lǐng)取); puts(ttt5.物資打印); puts(ttt6.物資數(shù)據(jù)更新); puts(ttt7.退出); puts(nntt*n); puts(tt*楊超n); puts(tt*2009.1.2n); printf(選擇操作 1-7: bb); scanf(%d,&n); if(n7) m=1;getchar(); else m=0; while(m=1);開始沒有加入getchar函數(shù),程序陷入死循環(huán),分析了很久也沒有找到原因。后來在網(wǎng)上搜索了一個(gè)相似的代碼,依葫蘆畫瓢加上getchar()問題才解決。但是在北區(qū)的機(jī)房調(diào)試程序時(shí),沒有g(shù)etchar()也沒有陷入死循環(huán)。 程序中使用漢字時(shí)有時(shí)會無故失靈,不改變程序重新調(diào)試又正常運(yùn)行,這也是自己需要學(xué)習(xí)的一點(diǎn)。使用說明:本程序交互性很強(qiáng),在每次輸入數(shù)據(jù)時(shí)都有提示,因此完全可以在程序中操作自如。但需要注意的一點(diǎn)是,輸入數(shù)據(jù)時(shí),一定要保證與提示的類型相同,否則將出現(xiàn)無法預(yù)料的結(jié)果。如下:按日期查詢數(shù)據(jù)時(shí)輸入日期為we時(shí),出現(xiàn)的結(jié)果就顯得莫名其妙。

注意事項(xiàng)

本文(C語言課程設(shè)計(jì)報(bào)告-物資管理系統(tǒng).doc)為本站會員(good****022)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!