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

下載本文檔

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

文檔簡介

沈陽商品航天大學(xué)北方科技學(xué)院課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目 庫存管理程序設(shè)計(jì) 教研室計(jì)算機(jī)教研室 專業(yè) 班級 學(xué)號 姓名 課程設(shè)計(jì)時(shí)間: 年月日至 年月日課程設(shè)計(jì)的內(nèi)容及要求:主要內(nèi)容設(shè)計(jì)一個程序管理庫存商品,主要實(shí)現(xiàn)的功能如下:1、 添加、修改、刪除庫存商品信息,商品信息包括:編號、名稱、類別、數(shù)量、產(chǎn)地等;2、 進(jìn)貨或售出商品后,相應(yīng)的庫存商品數(shù)量應(yīng)該有所改變;3、 當(dāng)某種商品庫存少于一定數(shù)量時(shí),應(yīng)該提醒進(jìn)貨;4、 可以按商品名稱模糊查詢商品信息?;疽?、 系統(tǒng)采用C程序設(shè)計(jì)語言實(shí)現(xiàn);2、 獨(dú)立完成系統(tǒng)的設(shè)計(jì)、編碼和調(diào)試,通過指導(dǎo)教師當(dāng)場驗(yàn)收;3、 交出完整的課程設(shè)計(jì)報(bào)告。指導(dǎo)教師史俊 年 月 日沈陽商品航天大學(xué)北方科技學(xué)院

課程設(shè)計(jì)成績評定單

課程名稱 C語言綜合訓(xùn)練 課程設(shè)計(jì)題目 庫存管理程序設(shè)計(jì) 專業(yè) 班級 學(xué)號 姓名 答辯日期 年—月—日指導(dǎo)教師(答辯組)評語:課程設(shè)計(jì)成績 指導(dǎo)教師(答辯組)簽字 年—月—日庫存管理程序設(shè)計(jì)目錄TOC\o"1-5"\h\z摘要 21.緒論 2系統(tǒng)分析 32.1功能需求 32.2數(shù)據(jù)需求 32.3性能需求 3總體設(shè)計(jì) 33.1功能模塊設(shè)計(jì) 33.2系統(tǒng)設(shè)計(jì)方案 3詳細(xì)設(shè)計(jì) 54.1商品信息管理模塊 54.2商品查詢管理模塊 5調(diào)試與測試 55.1調(diào)試 55.2測試 6結(jié)論 7結(jié)束語 7參考文獻(xiàn) 7附錄1—用戶手冊 7附錄2—源程序 8摘要庫存管理系統(tǒng)是廠家、商城、商場等的管理商品信息不可缺少的部分,利用這個系統(tǒng),可以更好地管理商品的信息。本系統(tǒng)使用C語言開發(fā),實(shí)現(xiàn)商品信息庫的新建,查詢商品信息,修改商品信息,可對商品的出售進(jìn)貨有數(shù)量的變化,當(dāng)數(shù)量不足時(shí)做提醒。本文從分析課題的題目背景、題目意義、題目要求等出發(fā),分別從需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、測試等各個方面詳細(xì)介紹了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,最后對系統(tǒng)的完成情況進(jìn)行了總結(jié)。關(guān)鍵詞:庫存;商品信息;數(shù)量變化;1.緒論隨著時(shí)代的進(jìn)步,社會的發(fā)展,人們的生活水平逐漸提高,平時(shí)購物的種類越來越多,商場出售商品的種類也越來越多,各種商品的庫存量在每天的銷售與進(jìn)貨過程中會發(fā)生不斷的變化,管理起來也越來越繁瑣。發(fā)庫存管理系統(tǒng),可使管理商品信息變得更加簡單,節(jié)省人力物力,降低成本。庫存管理系統(tǒng),能實(shí)現(xiàn)商場對商品的添加,查詢,修改,刪除等功能,對商品的數(shù)量進(jìn)行管理,滿足商場的需求。隨著社會的發(fā)展,社會生活水平不斷提高,外出出行的人們也越來越多,伴隨而來的是民航部門對商品管理和訂票業(yè)務(wù)更加繁重的問題。開發(fā)商品售票管理系統(tǒng),使得國家民航部門對出行人員的信息和商品的管理問題得到了改善。商品售票管理程序,能實(shí)現(xiàn)民航部門對商品信息的添加、查找、修改和刪除等功能,方便了民航部門的管理,滿足了民航部門的需求。根據(jù)課程設(shè)計(jì)任務(wù)書要求,本系統(tǒng)開發(fā)主要完成以下功能和性能。1、 添加、修改、刪除庫存商品信息,商品信息包括:編號、名稱、類別、數(shù)量、產(chǎn)地等;2、 進(jìn)貨或售出商品后,相應(yīng)的庫存商品數(shù)量應(yīng)該有所改變;3、 當(dāng)某種商品庫存少于一定數(shù)量時(shí),應(yīng)該提醒進(jìn)貨;4、 可以按商品名稱模糊查詢商品信息2.系統(tǒng)分析2.1功能需求本系統(tǒng)主要是庫存商品進(jìn)行管理的系統(tǒng)。該系統(tǒng)需要有添加,刪除商品信息,查詢商品信息,貨少提醒等。2.2數(shù)據(jù)需求需要管理的商品信息包括:商品號、商品名稱、商品類別、數(shù)量和產(chǎn)地。2.3性能需求安全性:本系統(tǒng)在設(shè)計(jì),開發(fā),運(yùn)行各環(huán)節(jié),都貫徹了安全性的原則??煽啃裕鹤裱踩栽?,來提高本系統(tǒng)的可靠性。穩(wěn)定性:本系統(tǒng)根據(jù)需要可以定義全局變量,可以使用結(jié)構(gòu)體以及鏈表,來確保本系統(tǒng)的穩(wěn)定性。響應(yīng)速度;本系統(tǒng)因應(yīng)用了鏈表,理論上可以提高查找的速度,整體的響應(yīng)速度也會得到了提升。3.總體設(shè)計(jì)3.1功能模塊設(shè)計(jì)根據(jù)分析整個系統(tǒng)主要劃分為4個模塊,分別執(zhí)行對于功能。商品信息管理實(shí)現(xiàn)商品編號、名稱、類別、數(shù)量、產(chǎn)地等的查詢、添加、修改、刪除等功能。出售和進(jìn)貨管理可對商品在商品有數(shù)量變化時(shí),對應(yīng)變化,當(dāng)商品數(shù)量少于一定數(shù)量時(shí),提醒數(shù)量不夠。功能模塊圖如圖1所示。圖1功能模塊圖商品信息管理子模塊該模塊是對商品編號、名稱、類別、數(shù)量、產(chǎn)地等信息的增加、刪除和修改。出售進(jìn)貨管理子模塊該模塊是對商品的出售進(jìn)貨時(shí),數(shù)量的隨之變化,當(dāng)數(shù)量少于一定數(shù)值時(shí),提醒數(shù)量不足。3.2系統(tǒng)設(shè)計(jì)方案(1)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)typedefstructper{charid[10], 定義編號name[10], 定義商品名稱leibie[10], 定義商品類別chandi[10]; 定義商品產(chǎn)地intnum; 定義商品數(shù)量structper*next;}per;(2)菜單設(shè)計(jì)本系統(tǒng)中的菜單有以下幾種:。1.一級菜單:即主菜單。其中包括:1.新建;2.查詢;3.修刪;4.售出或進(jìn)貨;5.退出。2.二級菜單a:新建菜單:包括:1、新建信息庫;2、添加商品;3、返回。b:查詢菜單:包括:1、查看信息庫;2、查找商品號;3、返回。c:修刪菜單:包括:1、修改商品信息;2、刪除商品信息;3返回。d:售出或進(jìn)貨菜單:包括1、售出;2、進(jìn)貨;3、返回。(3)函數(shù)設(shè)計(jì)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);售出或進(jìn)貨詳細(xì)設(shè)計(jì)4.1商品信息管理模塊(1)添加商品模塊先建立商品信息,定義整型變量i和n以及指針變量pl和p2,在開辟新的結(jié)點(diǎn),使結(jié)點(diǎn)為空,輸入商品編號,執(zhí)行n++,當(dāng)p1->number不為0時(shí),繼續(xù)往下輸入商品信息否則p2->next=p1。繼續(xù)執(zhí)行p2=p1,p2->next=null。返回后可繼續(xù)此輸入,可循環(huán)重復(fù),否則回到主函數(shù)。具體實(shí)現(xiàn)程序流程如圖2。圖2商品信息添加流程圖刪除商品模塊定義整型變量i,指針變量pl和p2,輸入商品號i,判斷是否有此商品((i,p1->id)!=0&&p1->next!=NULL),如果有,將p2=p1;p1=p1->next,在匹配與輸入相同的商品,使(i, p1->id)==0,則刪除成功回到主函數(shù)。具體實(shí)現(xiàn)程序流程如圖3圖3商品信息刪除流程圖修改商品模塊定義字符型變量na、整型變量na1、指針變量pl,使p仁head,如果!Head則信息庫為空,否則輸入要修改的商品,如果!P1則商品不存在,否則進(jìn)入后不修改,按‘-'返回,否則繼續(xù)輸入商品信息然后可按‘-'號結(jié)束,返回目錄。具體實(shí)現(xiàn)程序流程如圖4圖4商品信息修改流程圖4.2商品查詢管理模塊建立輸出函數(shù),定義指針p,p1,p1=heacL當(dāng)head等于空,輸出“該信息庫為空!!!”,返回主函數(shù)。當(dāng)head不等于空,輸出信息庫信息,再判斷p->num<3如果是則輸出“數(shù)量太少請進(jìn)貨”返回主函數(shù)。具體實(shí)現(xiàn)程序流程如圖3。圖5商品查詢流程圖調(diào)試與測試5.1調(diào)試調(diào)試是系統(tǒng)開發(fā)的一個重要的步驟。調(diào)試可分為2個步驟,先是運(yùn)行編寫好程序找到問題,然后再解決并改正問題本系統(tǒng)在調(diào)試時(shí),發(fā)現(xiàn)在判斷商品數(shù)量提醒時(shí),有時(shí)出現(xiàn)錯誤,在反復(fù)查找后發(fā)現(xiàn),在前面沒有判斷該商品是否存在,在改正后,程序正確運(yùn)行。5.2測試系統(tǒng)測試是系統(tǒng)開發(fā)的一個重要階段,是系統(tǒng)保證質(zhì)量的關(guān)鍵。如果在測試中不認(rèn)真檢查,在后期維護(hù)過程中將會非常麻煩。本系統(tǒng)測試數(shù)據(jù)過程如下。先進(jìn)入運(yùn)行程序輸入“1”,進(jìn)入新建菜單,再輸入“1”進(jìn)入新建信息庫。請輸入用第個1商品信息:商品號:1商品名稱:三星商品類別:電子產(chǎn)品數(shù)量:2產(chǎn)地:沈陽是否繼續(xù)輸入:(1)是(2)否 輸入“2”。返回到主函數(shù)。輸入“2”,進(jìn)入查看菜單。再輸入“1”,進(jìn)入查看信息庫,屏幕輸出1三星電子產(chǎn)品21沈陽數(shù)量太少請進(jìn)貨返回到主菜單。輸入“4”,進(jìn)入售出或進(jìn)貨菜單。輸入“2”,按提示輸入商品號“1”按提示依次輸入數(shù)量:5屏幕輸出進(jìn)貨成功?。?!返回到主菜單。輸入“2”,進(jìn)入查看菜單。再輸入“1”,進(jìn)入查看信息庫,屏幕輸出1三星電子產(chǎn)品21沈陽返回到主菜單。輸入“5”,進(jìn)入退出程序。屏幕輸出BYEBYE退出程序多次運(yùn)行程序后,發(fā)現(xiàn)各個菜單功能都可執(zhí)行,在輸入錯誤商品號時(shí),給出該商品不存在的提示,因此,該程序無錯誤可正確執(zhí)行。結(jié)論本次課程設(shè)計(jì),根據(jù)任務(wù)書要求,實(shí)現(xiàn)了添加、修改、刪除庫存商品信息,商品信息包括:編號、名稱、類別、數(shù)量、產(chǎn)地等,進(jìn)貨或售出商品后,相應(yīng)的庫存商品數(shù)量應(yīng)該有所改變,當(dāng)某種商品庫存少于一定數(shù)量時(shí),應(yīng)該提醒進(jìn)貨,可以按商品名稱查詢商品信息,可滿足商場對系統(tǒng)的需求。但有部分功能還不太完善,如只可新建一次信息庫,再次創(chuàng)建時(shí),會將上個信息庫覆蓋,且不能保存數(shù)據(jù)。結(jié)束語通過這次的課程設(shè)計(jì)實(shí)驗(yàn),讓我了解了我的一些方面的不足,也提高了我的學(xué)習(xí)能力,在通過查找資料來完成實(shí)驗(yàn)時(shí),使我的知識更加的豐富,培養(yǎng)了我的學(xué)習(xí)興趣。今后我要更加努力來學(xué)習(xí)。參考文獻(xiàn)嚴(yán)蔚敏,吳偉國?數(shù)據(jù)結(jié)構(gòu)(C語言版).北京:清華大學(xué)出版社,2002.9潭浩強(qiáng).C語言程序設(shè)計(jì)(第三版)?北京:清華大學(xué)出版社,2005附錄1-用戶手冊(1)首先打開程序,初始頁面,如圖6。圖6登錄界面輸入“1”進(jìn)入新建菜單,如圖7。圖7新建頁面主界面中輸入“2”進(jìn)入查詢界面,如圖8圖8查詢頁面主界面中輸入“3”進(jìn)入訂票頁面,如圖9圖9修改或刪除頁面主界面中輸入“4”進(jìn)入訂票頁面,如圖10圖10進(jìn)貨或出售頁面附錄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、修刪P("\t\t* 4、售出或進(jìn)貨*\n");*\n");*\n");P("\t\t* *\n");*\n");*\n");P("\t\t***************************************\n");voidxinjian_menu(){P("\t\t<<<<<<<<<<<<<<新建>>>>>>>>>>>>>>>\n");TOC\o"1-5"\h\zP("\t\t 1、新建信息庫 \n");P("\t\t 2、添加商品 \n");P("\t\t 3、返回 \n");P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\n");}voidchazhao_menu(){P("\t\t<<<<<<<<<<<<<<查看>>>>>>>>>>>>>>>\n");TOC\o"1-5"\h\zP("\t\t 1、查看信息庫 \n");P("\t\t 2、查找商品號 \n");P("\t\t 3、返回 \n");P("\t\t<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidxiugai_menu(){P("\t\t<<<<<<<<<<<<修改或刪除>>>>>>>>>>>>\n");TOC\o"1-5"\h\zP("\t\t 1、修改商品信息 \n");P("\t\t 2、刪除商品信息 \n");P("\t\t 3、返回 \n");P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n");}voidshou_menu(){P("\t\t<<<<<<<<<<<<進(jìn)貨或出售>>>>>>>>>>>>\n");TOC\o"1-5"\h\zP("\t\t 1、出售 \n");P("\t\t 2、進(jìn)貨 \n");P("\t\t 3、返回 \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_ANYKEYcontinue;case3:break;}continue;case2:chazhao_menu();P("請輸入序號:");scanf("%d",&i);switch(i){case1:print(link);PRESS_ANYKEYcontinue;case2:chazhao(link);case3:break;}continue;case3:xiugai_menu();P("請輸入產(chǎn)品編號:");scanf("%d",&i);switch(i){case1:link=xiugai(link);print(link);PRESS_ANYKEYcontinue;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("產(chǎn)地:");scanf("%s",&p1->chandi);if(n==1)head=p1;elsep2->next=p1;p2=p1;p2->next=NULL;(2)否\n");printf("是否繼續(xù)輸入:(1)(2)否\n");}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("產(chǎn)地:");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產(chǎn)地\t提醒\n");while(p){p->num,P("%s\t%s\t%s\t%d\t%s\t",p->id,p->name,p->leibie,p->chandi);p->num,if(p->num<3)P("數(shù)量太少請進(jìn)貨\n");elseP("\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產(chǎn)地\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("產(chǎn)地:");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

溫馨提示

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

評論

0/150

提交評論