C語言庫存管理系統(tǒng)_第1頁
C語言庫存管理系統(tǒng)_第2頁
C語言庫存管理系統(tǒng)_第3頁
C語言庫存管理系統(tǒng)_第4頁
C語言庫存管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

沈陽商品航天大學北方科技學院課程設計任務書課程設計題目庫存管理程序設計教研室計算機教研室專業(yè)班級學號姓名課程設計時間:年月日至年月日課程設計得內容及要求:主要內容設計一個程序管理庫存商品,主要實現(xiàn)得功能如下:添加、修改、刪除庫存商品信息,商品信息包括:編號、名稱、類別、數(shù)量、產地等;進貨或售出商品后,相應得庫存商品數(shù)量應該有所改變;當某種商品庫存少于一定數(shù)量時,應該提醒進貨;可以按商品名稱模糊查詢商品信息。基本要求系統(tǒng)采用C程序設計語言實現(xiàn);獨立完成系統(tǒng)得設計、編碼與調試,通過指導教師當場驗收;交出完整得課程設計報告。指導教師史俊年月日沈陽商品航天大學北方科技學院課程設計成績評定單課程名稱C語言綜合訓練課程設計題目庫存管理程序設計專業(yè)班級學號姓名答辯日期年月日指導教師(答辯組)評語:課程設計成績指導教師(答辯組)簽字年月日庫存管理程序設計目錄TOC\o"13"\u摘要 21.緒論 22、系統(tǒng)分析 32、1功能需求 32、2數(shù)據需求 32、3性能需求 33、總體設計 33、1功能模塊設計 33、2系統(tǒng)設計方案 44、詳細設計 54、1商品信息管理模塊 54、2商品查詢管理模塊 95、調試與測試 105、1調試 105、2測試 106、結論 11結束語 11參考文獻 11附錄1-用戶手冊 12附錄2-源程序 14摘要庫存管理系統(tǒng)就是廠家、商城、商場等得管理商品信息不可缺少得部分,利用這個系統(tǒng),可以更好地管理商品得信息。本系統(tǒng)使用C語言開發(fā),實現(xiàn)商品信息庫得新建,查詢商品信息,修改商品信息,可對商品得出售進貨有數(shù)量得變化,當數(shù)量不足時做提醒。本文從分析課題得題目背景、題目意義、題目要求等出發(fā),分別從需求分析、總體設計、詳細設計、測試等各個方面詳細介紹了系統(tǒng)得設計與實現(xiàn)過程,最后對系統(tǒng)得完成情況進行了總結。關鍵詞:庫存;商品信息;數(shù)量變化;1.緒論隨著時代得進步,社會得發(fā)展,人們得生活水平逐漸提高,平時購物得種類越來越多,商場出售商品得種類也越來越多,各種商品得庫存量在每天得銷售與進貨過程中會發(fā)生不斷得變化,管理起來也越來越繁瑣。發(fā)庫存管理系統(tǒng),可使管理商品信息變得更加簡單,節(jié)省人力物力,降低成本。庫存管理系統(tǒng),能實現(xiàn)商場對商品得添加,查詢,修改,刪除等功能,對商品得數(shù)量進行管理,滿足商場得需求。隨著社會得發(fā)展,社會生活水平不斷提高,外出出行得人們也越來越多,伴隨而來得就是民航部門對商品管理與訂票業(yè)務更加繁重得問題。開發(fā)商品售票管理系統(tǒng),使得國家民航部門對出行人員得信息與商品得管理問題得到了改善。商品售票管理程序,能實現(xiàn)民航部門對商品信息得添加、查找、修改與刪除等功能,方便了民航部門得管理,滿足了民航部門得需求。根據課程設計任務書要求,本系統(tǒng)開發(fā)主要完成以下功能與性能。添加、修改、刪除庫存商品信息,商品信息包括:編號、名稱、類別、數(shù)量、產地等;進貨或售出商品后,相應得庫存商品數(shù)量應該有所改變;當某種商品庫存少于一定數(shù)量時,應該提醒進貨;可以按商品名稱模糊查詢商品信息2、系統(tǒng)分析2、1功能需求本系統(tǒng)主要就是庫存商品進行管理得系統(tǒng)。該系統(tǒng)需要有添加,刪除商品信息,查詢商品信息,貨少提醒等。2、2數(shù)據需求需要管理得商品信息包括:商品號、商品名稱、商品類別、數(shù)量與產地。2、3性能需求安全性:本系統(tǒng)在設計,開發(fā),運行各環(huán)節(jié),都貫徹了安全性得原則??煽啃?遵循安全性原理,來提高本系統(tǒng)得可靠性。穩(wěn)定性:本系統(tǒng)根據需要可以定義全局變量,可以使用結構體以及鏈表,來確保本系統(tǒng)得穩(wěn)定性。響應速度;本系統(tǒng)因應用了鏈表,理論上可以提高查找得速度,整體得響應速度也會得到了提升。3、總體設計3、1功能模塊設計根據分析整個系統(tǒng)主要劃分為4個模塊,分別執(zhí)行對于功能。商品信息管理實現(xiàn)商品編號、名稱、類別、數(shù)量、產地等得查詢、添加、修改、刪除等功能。出售與進貨管理可對商品在商品有數(shù)量變化時,對應變化,當商品數(shù)量少于一定數(shù)量時,提醒數(shù)量不夠。功能模塊圖如圖1所示。圖1功能模塊圖(1)商品信息管理子模塊該模塊就是對商品編號、名稱、類別、數(shù)量、產地等信息得增加、刪除與修改。(2)出售進貨管理子模塊該模塊就是對商品得出售進貨時,數(shù)量得隨之變化,當數(shù)量少于一定數(shù)值時,提醒數(shù)量不足。3、2系統(tǒng)設計方案(1)數(shù)據結構設計typedefstructper{ charid[10],定義編號name[10], 定義商品名稱leibie[10], 定義商品類別chandi[10]; 定義商品產地 intnum; 定義商品數(shù)量 structper*next;}per;(2)菜單設計本系統(tǒng)中得菜單有以下幾種:。1、一級菜單:即主菜單。其中包括:1、新建;2、查詢;3、修刪;4、售出或進貨;5、退出。2、二級菜單a:新建菜單:包括:1、新建信息庫;2、添加商品;3、返回。b:查詢菜單:包括:1、查瞧信息庫;2、查找商品號;3、返回。c:修刪菜單:包括:1、修改商品信息;2、刪除商品信息;3返回。d:售出或進貨菜單:包括1、售出;2、進貨;3、返回。(3)函數(shù)設計voidmenu;主菜單voidxinjian_menu;新建菜單voidchaozhao_menu;查找菜單voidxiugai_menu;修刪菜單per*cj;新建信息庫voidprint(per*head);輸出商品信息voidchazhao(per*head);查找商品信息per*sc(per*head);刪除商品信息per*charu(per*head);添加商品信息per*xiugai(per*head);修改商品信息per*dp(per*head);售出或進貨4、詳細設計4、1商品信息管理模塊(1)添加商品模塊先建立商品信息,定義整型變量i與n以及指針變量p1與p2,在開辟新得結點,使結點為空,輸入商品編號,執(zhí)行n++,當p1>number不為0時,繼續(xù)往下輸入商品信息否則p2>next=p1。繼續(xù)執(zhí)行p2=p1,p2>next=null。返回后可繼續(xù)此輸入,可循環(huán)重復,否則回到主函數(shù)。具體實現(xiàn)程序流程如圖2。圖2商品信息添加流程圖刪除商品模塊定義整型變量i,指針變量p1與p2,輸入商品號i,判斷就是否有此商品((i,p1>id)!=0&&p1>next!=NULL),如果有,將p2=p1;p1=p1>next,在匹配與輸入相同得商品,使(i,p1>id)==0,則刪除成功回到主函數(shù)。具體實現(xiàn)程序流程如圖3 圖3商品信息刪除流程圖修改商品模塊定義字符型變量na、整型變量na1、指針變量p1,使p1=head,如果!Head則信息庫為空,否則輸入要修改得商品,如果!P1則商品不存在,否則進入后不修改,按‘’返回,否則繼續(xù)輸入商品信息然后可按‘’號結束,返回目錄。具體實現(xiàn)程序流程如圖4圖4商品信息修改流程圖4、2商品查詢管理模塊建立輸出函數(shù),定義指針p,p1,p1=head。當head等于空,輸出“該信息庫為空!!!”,返回主函數(shù)。當head不等于空,輸出信息庫信息,再判斷p>num<3,如果就是則輸出“數(shù)量太少請進貨”返回主函數(shù)。具體實現(xiàn)程序流程如圖3。圖5商品查詢流程圖5、調試與測試5、1調試調試就是系統(tǒng)開發(fā)得一個重要得步驟。調試可分為2個步驟,先就是運行編寫好程序找到問題,然后再解決并改正問題。本系統(tǒng)在調試時,發(fā)現(xiàn)在判斷商品數(shù)量提醒時,有時出現(xiàn)錯誤,在反復查找后發(fā)現(xiàn),在前面沒有判斷該商品就是否存在,在改正后,程序正確運行。5、2測試系統(tǒng)測試就是系統(tǒng)開發(fā)得一個重要階段,就是系統(tǒng)保證質量得關鍵。如果在測試中不認真檢查,在后期維護過程中將會非常麻煩。本系統(tǒng)測試數(shù)據過程如下。先進入運行程序輸入“1”,進入新建菜單,再輸入“1”進入新建信息庫。請輸入用第個1商品信息:商品號:1商品名稱:三星商品類別:電子產品數(shù)量:2產地:沈陽就是否繼續(xù)輸入:(1)就是(2)否輸入“2”。返回到主函數(shù)。輸入“2”,進入查瞧菜單。再輸入“1”,進入查瞧信息庫,屏幕輸出1三星電子產品21沈陽數(shù)量太少請進貨返回到主菜單。輸入“4”,進入售出或進貨菜單。輸入“2”,按提示輸入商品號“1”,按提示依次輸入數(shù)量:5屏幕輸出進貨成功?。?!返回到主菜單。輸入“2”,進入查瞧菜單。再輸入“1”,進入查瞧信息庫,屏幕輸出1三星電子產品21沈陽返回到主菜單。輸入“5”,進入退出程序。屏幕輸出BYEBYE!??!退出程序。多次運行程序后,發(fā)現(xiàn)各個菜單功能都可執(zhí)行,在輸入錯誤商品號時,給出該商品不存在得提示,因此,該程序無錯誤可正確執(zhí)行。6、結論本次課程設計,根據任務書要求,實現(xiàn)了添加、修改、刪除庫存商品信息,商品信息包括:編號、名稱、類別、數(shù)量、產地等,進貨或售出商品后,相應得庫存商品數(shù)量應該有所改變,當某種商品庫存少于一定數(shù)量時,應該提醒進貨,可以按商品名稱查詢商品信息,可滿足商場對系統(tǒng)得需求。但有部分功能還不太完善,如只可新建一次信息庫,再次創(chuàng)建時,會將上個信息庫覆蓋,且不能保存數(shù)據。結束語通過這次得課程設計實驗,讓我了解了我得一些方面得不足,也提高了我得學習能力,在通過查找資料來完成實驗時,使我得知識更加得豐富,培養(yǎng)了我得學習興趣。今后我要更加努力來學習。參考文獻[1]嚴蔚敏,吳偉國、數(shù)據結構(C語言版)、北京:清華大學出版社,2002、9 [2]潭浩強、C語言程序設計(第三版)、北京:清華大學出版社,2005附錄1-用戶手冊首先打開程序,初始頁面,如圖6。圖6登錄界面輸入“1”進入新建菜單,如圖7。圖7新建頁面主界面中輸入“2”進入查詢界面,如圖8圖8查詢頁面主界面中輸入“3”進入訂票頁面,如圖9圖9修改或刪除頁面主界面中輸入“4”進入訂票頁面,如圖10圖10進貨或出售頁面附錄2-源程序主要模塊源代碼清單:#include<stdio、h>#include<string、h>#include<malloc、h>#defineLENsizeof(structper)#definePRESS_ANYKEYP("請輸入任意鍵繼續(xù)……");getchar;getchar;#definePprintftypedefstructper{ charid[10],name[10],leibie[10],chandi[10]; intnum; structper*next;}per;voidmenu;voidxinjian_menu;voidchaozhao_menu;voidxiugai_menu;voidshou_menu;voidprint(per*head);voidchazhao(per*head);per*dp(per*head);per*cj;per*sc(per*head);per*charu(per*head);per*xiugai(per*head);voidmenu{ P("\t\t***************************************\n"); P("\t\t*庫存信息管理系統(tǒng)*\n"); P("\t\t*1、新建*\n"); P("\t\t*2、查詢*\n"); P("\t\t*3、修刪*\n"); P("\t\t*4、售出或進貨*\n"); P("\t\t*5、退出*\n"); P("\t\t***************************************\n");}voidxinjian_menu{ P("\t\t<<<<<<<<<<<<<<新建>>>>>>>>>>>>>>>\n"); P("\t\t1、新建信息庫\n"); P("\t\t2、添加商品\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\n");}voidchazhao_menu{ P("\t\t<<<<<<<<<<<<<<查瞧>>>>>>>>>>>>>>>\n"); P("\t\t1、查瞧信息庫\n"); P("\t\t2、查找商品號\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidxiugai_menu{ P("\t\t<<<<<<<<<<<<修改或刪除>>>>>>>>>>>>\n"); P("\t\t1、修改商品信息\n"); P("\t\t2、刪除商品信息\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidshou_menu{ P("\t\t<<<<<<<<<<<<進貨或出售>>>>>>>>>>>>\n"); P("\t\t1、出售\n"); P("\t\t2、進貨\n"); P("\t\t3、返回\n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidmain{ per*head=NULL; per*link=head; registerinti; do { menu; P("請輸入序號:"); scanf("%d",&i); switch(i) { case1: xinjian_menu; P("請輸入序號:"); scanf("%d",&i); switch(i) { case1: link=cj; continue; case2: link=charu(link); print(link);PRESS_ANYKEY continue; case3: break; }continue; case2: chazhao_menu; P("請輸入序號:"); scanf("%d",&i); switch(i) { case1: print(link); PRESS_ANYKEY continue; case2: chazhao(link); case3: break; }continue; case3: xiugai_menu; P("請輸入產品編號:"); scanf("%d",&i); switch(i) { case1: link=xiugai(link); print(link);PRESS_ANYKEY continue; case2: link=sc(link); print(link); continue; case3: break; }continue; case4: link=dp(link); continue; case5: P("BYEBYE!\n"); PRESS_ANYKEY }break; }while(1);}per*cj{ inti,n=0; per*head=NULL; per*p1=head,*p2=head; do { p1=(per*)malloc(sizeof(per)); P("請輸入用第個%d商品信息\n",++n); P("商品號:"); scanf("%s",&p1>id); if(!strcmp(p1>id,"0")) break; P("商品名稱:"); scanf("%s",&p1>name); P("商品類別:"); scanf("%s",&p1>leibie); P("數(shù)量:"); scanf("%d",&p1>num); P("產地:"); scanf("%s",&p1>chandi); if(n==1) head=p1; else p2>next=p1; p2=p1; p2>next=NULL; printf("就是否繼續(xù)輸入:(1)就是(2)否\n"); scanf("%d",&i); }while(i==1); returnhead;}per*charu(per*head){ per*p0,*p1; p1=head; p0=(per*)malloc(sizeof(per)); p0>next=NULL; P("商品號:"); scanf("%s",&p0>id); P("商品名稱:"); scanf("%s",&p0>name); P("商品類別:"); scanf("%s",&p0>leibie); P("數(shù)量:"); scanf("%d",&p0>num); P("產地:"); scanf("%s",&p0>chandi); if(!head) { head=p0; returnhead; } while(p1>next) p1=p1>next; p1>next=p0; returnhead;}voidprint(per*head){ per*p; p=head; if(!head) { P("\t\t該信息庫為空!!!\n"); return; } P("編號\t名稱\t類別\t數(shù)量\t產地\t提醒\n"); while(p) { P("%s\t%s\t%s\t%d\t%s\t",p>id,p>name,p>leibie,p>num,p>chandi); if(p>num<3) P("數(shù)量太少請進貨\n"); else P("\n"); p=p>next; }}voidchazhao(per*head){ charj[5]; per*p1; p1=head; P("請輸入要查詢得名稱:"); scanf("%s",&j); if(p1!=NULL) { while(p1) { if(strcmp(j,p1>name)==0) { P("%s\t%s\t%s\t%d\t%s\t\n",p1>id,p1>name,p1>leibie,p1>num,p1>chandi); } p1=p1>next; } } P("編號\t名稱\t類別\t數(shù)量\t產地\n");}per*xiugai(per*head){ charna[5]; intna1; per*p1; p1=head; if(!head) { P("\t\t該信息庫為空!!!\n"); returnhead; } P("請輸入要修改商品號:"); scanf("%s",&na); P("(如果不修改,請輸入“”)\n"); while(p1) { if(!strcmp(na,p1>id)) break; p1=p1>next; } if(!p1) { P("\t\t此商品不存在!!!\n"); returnhead; } P("商品名稱:"); scanf("%s",&na); if(strcmp(na,"")) strcpy(p1>name,na); P("商品類別:"); scanf("%s",&na); if(strcmp(na,"")) strcpy(p1>leibie,na); P("數(shù)量:"); scanf("%d",&na1); if(strcmp(na,"")) p1>num=na1; P("產地:"); scanf("%s",&na); if(strcmp(na,"")) strcpy(p1>chandi,na); returnhead;}per*sc(per*head){ chari[5]; per*p1,*p2; p1=p2=head; if(head==NULL) { P("\t\t該信息庫為空!!!\n"); return(head); } P("請輸入要刪除序號:"); scanf("%s",i); while(1) { p1=head; while(strcmp(i,p1>id)!=0&&p1>next!=NULL) { p2=p1; p1=p1>next; } if(strcmp(i,p1>id)==0) { if(p1==head) head=p1>next; e

溫馨提示

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

評論

0/150

提交評論