服裝銷售管理系統附源程序.doc
下載文檔
上傳人:地**
編號:1286226
2024-12-17
28頁
580.50KB
該文檔所屬資源包:
服裝銷售管理方案促銷執行方案資源包下載
1、*實踐教學*蘭州理工大學計算機與通信學院2011年秋季學期 面向對象 課程設計題 目: 服裝銷售管理系統 專業班級: 10級計算機科學與技術1班姓 名: 學 號: 指導教師: 成 績: 27目 錄中文摘要2序 言31課程設計概述 目的與意義42程序說明5 3可行性分析64函數的調用關系圖75. 調試分析96. 測試結果10 7. 設計總結148. 參考文獻15致 謝16附錄:源程序(帶注釋)17 中文摘要 本文介紹了小型服裝管理系統的設計與實現。通過對服裝基本功能的分析,該程序實現了對小型服裝管理的基本操作。設計要求主要是產品入庫、出庫、查找及顯示服裝量等最基本功能操作。在課程設計過程中,對問2、題的所采用的數據結構和算法分析,及程序設計語言采用VC,程序運行的平臺是WindowsXP(visual C+6.0),逐步對基本要求進行分布實現,在設計中采用單鏈表和文件對錄入的基本數據進行存儲,最終對產品進行的基本操作如產品入庫、出庫及查找都基本以實現。該小型服裝管理系統的界面可視化程度較高,操作者和使用者使用較為方便。 關鍵字:服裝管理 ;統計分析;存貯 序言隨著計算機技術的飛速發展,以及它在各行各業的廣泛應用,給人們的生活及工作帶來了很大的便捷。如今人們消費水平的顯著提高,人們需求的產品量逐步在增加,需求的產品也逐步趨向多元化,如何來管理這些物品就成企業級公司服裝管理者所解決的問題,其3、中主要面臨的問題主要有如何快速準確的對服裝的物品進行入庫出庫分類及查找,從整體上提高服裝管理的效率。如今市場經濟的競爭變的越來越激烈,如何解決他們的產品的管理問題,提高企業管理水平,顯然也成了在競爭中立足的一部分。如今必須利用先進的服裝管理手段,提高企業及公司的管理水平,成為了服裝發展的關鍵元素。我們現在處在信息科學的時代,面對時代的機遇和挑戰,利用科技手段解決和提高現在企業及公司的管理水平是企業的一條行之有效的途徑。然而計算機對企業及公司的管理還存在著很多不足,但通過技術的不斷發展改進,計算機的管理所發揮的作用揮越來越大。雖然計算機管理并不是服裝管理走向成功的關鍵因素,但它可以最大限度地發揮4、準確,快捷,高效等作用,對服裝的管理提供強有力的支持。因此,對于企業采用先進全新的計算機網絡技術和服裝管理系統,已成為提高企業整體管理效率,改善服務水平的重要手段之一。在很大程度上,企業服裝管理方面技術化和信息化已成為現代化公司服裝的重要標志。隨著計算機技術廣泛的應用,同時有在推動計算機技術的快速發展。 1.課程設計概述 課程設計的目的: 企業的服裝管理往往是很復雜、很繁瑣的。由于所掌握的物資種類眾多,出入庫、管理、供銷商的渠道各有差異,各個企業之間的管理體制不盡相同,因此倉庫的服裝管理必須編制一套服裝管理系統,實現計算機化操作,而且必須根據企業的具體情況制定相應的方案。 根據當前的企業管理體5、制,一般的服裝管理系統,總是根據所掌握的物資類別,相應分成幾個模塊來進行商品的出入庫,服裝盤點,以及對供銷商的詳細記錄。為了加強關鍵物資、設備的管理,要定期掌握其儲備,消耗情況,根據計劃進行進貨,使得各商品不會缺貨,使物資設備的儲備最佳。 因此有必要開發一套服裝管理系統來提高企業工作效率, 而所使用的這套服裝管理系統是企業生產經營管理活動中的核心,此系統必須可以用來控制合理的服裝費用、適時適量的服裝數量,使企業生產活動效率最大化。通過對這些情況的仔細調查,我們開發了下面的倉庫服裝管理系統。課程設計的意義: 服裝管理的主要目標就是通過對倉庫所有入出庫活動的管理及對服裝數據有效的統計和分析,以保證6、企業生產中暢通的物流,使決策人員及早發現問題,采取相應措施,同時,通過周期性的倉庫盤點,及時補救管理中的漏洞,使服裝管理系統實時地反映企業中各個倉庫的現時情況,為各類管理人員從不同側面提供所需信息,以便協調企業經營收到更大效益,服裝管理系統是協調企業生產經營的基礎,其數據的準確性、方便的查詢、有效的分析是整個計算機管理系統順利運行的關鍵。對于每個企業來說,隨著企業規模的不斷擴大,所生產產品的種類也會不斷地更新與發展,有關產品的各種信息量也會成倍增長。如何有效地管理服裝產品,對這些企業來說是非常重要的,服裝管理的重點是銷售信息能否及時反饋,從而確保企業運行效益。如何管理這些信息數據,是一項復雜的7、系統工程,充分考驗著倉庫管理員的工作能力,工作量的繁重是可想而知的,所以這就需要由服裝管理系統來提高服裝管理工作的效率,這對信息的規范管理、科學統計和快速查詢,減少管理方面的工作量,同時對于調動廣大員工的工作積極性,提高企業的生產效率,都具有十分重要的現實意義。 2 程序說明 本系統是一個針對企業商品的倉庫管理的軟件,我們需要做到的是讓企業能夠更好的對旗下的倉庫進行記錄,匯總查詢,以及掌握商品的供銷商的信息記錄。l 原始產品入庫:顯示入庫商品信息l 新購成品入庫:顯示新購產品信息l 修改產品信息:對商品進行修改操作l 現實產品情況:商品的現實情況信息 l 查詢產品信息:查詢所有商品信息,并顯示8、商品總數等l 打開文件:顯示所有商家信息,并顯示商品總數等l 保存文件:保存所有的入庫信息l 退出系統:退出程序系統服裝管理系統 訪問函數:operation原始產品入庫新購產品入庫修改產品信息現實服裝情況查詢產品信息產品出庫打開文件保存文件刷新屏幕退出系統 圖1.13 可行性分析技術可行性現在的社會計算機普及應用,各種軟件應運而生,不管是一般的應用軟件,還是開發軟件,都能在一般操作系統(Windows 2000以上的版本或相應的Windows NT版本)上工作,當然也包括Visual C+ 2005和SQL Server 2000,所以用這兩種開發平臺開發出來的應用軟件操作系統在Window9、s 2000以上的版本或相應的Windows NT版本系統上也是可以運行的。而且現在計算機技術已經很成熟,設計人員不用自己編寫繁瑣的代碼,很多都是庫類中已經存在的,編程人員在需要使用的時候只要調用就可以了。所以綜上所述,在技術方面考慮是可行的。 經濟可行性雖然開發該軟件是需要一定成本的,比如人力和物力,但是通過該軟件的使用可以減少企業管理費用和人力開支,而其它一些繁瑣的事物都通過新系統來加以分析解決,不僅節省了大量的時間,還為企業的各項決策提供了寶貴的資料,為企業帶來的是更大的經濟效益。從根本上提高了超市的經濟效益,所以從經濟上完全是可行的。 操作可行性本系統采用基于Windows的圖形用戶界10、面,所以不必具備計算機的專業技能,只要有一般的計算機知識的人員就可以輕松上手。而整個超市庫存管理系統采用友好的交互界面,簡潔明了,不需要對數據庫進行深入的了解。由此,該系統的操作是可行的,有必要開發該系統。綜合以上三方面,該系統具有很高的開發可行性,無論是從技術上或者經濟上還是操作上。 4 函數的調用關系圖產品入庫流程圖 :產品入庫原始產品入庫新購產品入庫繼續入庫退出入庫 圖1.2產品出庫流程圖:產品出庫按總量刪除按名稱刪除按時間刪除退出 圖1.3服裝銷管理系統 Main()操作函數Operation()原品入庫新品入庫產品查詢Query ()輸每個產品信息printinfor()輸所需產品v11、oid Show()產品出庫Search()Creatlist()Add()Remove ()服裝顯示 圖1.45 調試分析 調試中遇到的問題及對問題的解決方法:在我調試過程中遇到了不少的問題,主要是對語法正確的定義,比如,分號的缺失、多加及中英文符號的轉換。函數合適的返回類型,還有是函數庫的說明,對文件的打開與保存,指針的某些操作。對語法錯誤的不斷改正,和老師同學的幫助,經過長時間的調試,通過了編譯。對各個模塊的函數進行編譯并調試通過運行,但將它們全部寫到一塊兒,問題非常的多,其中使我最為困惑的是函數的返回類型,通過不懈努力終于通過的編譯,可是錄入數據,沒有數據的輸出。通過查課本,查資料,還12、有在同學老師的熱心幫助下完成了程序的調試。并且基本是滿足了課題的要求。通過本次的課程設計,我體會到了,調試程序需要耐心,冷靜分析每一個問題,對書本基礎知識不僅要了解,還要會用。 6 測試結果6.1輸入商品C: 圖2.16.2顯示服裝量D: 圖2.26.3:輸入新A: 圖2.36.4:查詢Q: 圖2.46.5:產品出庫R: 圖2.56.6:保存文件S: 圖2.66.7:打開文件O; 圖2.76.8:顯示總服裝D: 圖2.8 7 設計總結在這次算法與數據結構和C+語言程序設計實習中,我的確遇到了很多困難。首先,對以前基本知識的遺忘、生疏,以及以前學習中遺留下的難點指針和文件。在以前學C語言的時候,13、指針的基本操作是我最困惑的,雖然每次遇到相關的問題,查書和資料解決了較簡單的問題,但從根本上沒有理解指針的精髓,更別說現在能夠熟練的應用了。在這三周的課程設計中,我的課題很多地方要用到鏈表和文件。尤其是對產品的入庫、出庫操作,通過請教老師同學解決了相關的問題。最終,設計完成了小型服裝管理系統,它實現了最基本的要求,服裝產品的入庫、查找、出庫、保存及產品顯示等基本操作。但對于一些較高的要求未能實現,比如,服裝產品的統計。它同時也基本滿足了界面友好,便于操作,利于操作使用。從而可以對小型服裝進行快速,高效率的管理。經過本次課程設計,使我的基礎知識更加牢固,對以前難的知識不再畏懼,初步掌握了把基礎知14、識與實際問題能夠聯系起來,運用課本中理論知識去解決實際問題,這樣才達到了這門課的實際要求。在本次課設的實習中,我學到了很多東西,學到了在課堂中學習不到的知識,就是思考和解決實際問題的方法。在以后的課設中我會充分利用它來提高自己的水平。 8 參考文獻1初小璐完全掌握SQL Server 2000 M 機械工業出版社,20042Jeraod V.Post.數據庫管理系統(英文版.第三版)美清華大學出版社,2006.13張海藩.軟件工程導論M.北京:清華大學出版社,1998.14謝希仁.計算機網絡(第二版)M.北京:電子工業出版社,2003.6 5戴志誠,趙國峰.JSP信息化系統建設案例M.北京:人15、民郵電出版社,2006.126成曉靜,畢靖.網頁設計三劍客完全學習手冊M.北京:中國電力出版社,2004.117趙強.精通JSP編程M.北京:電子工業出版社,2006.38薩師煊,王珊.數據庫系統概論M.北京:高等教育出版社,2002.29張海藩,李勁,謝兆陽.SQL Server2000數據庫設計與系統管理M.北京:清華大學出版社,2000.910劉禾,蔡鋒.Web數據庫假設技巧M.北京:科技技術出版社,1999.411徐建波. Internet與Web設計教程M.北京:中國礦業大學出版社,2000.12致謝在此向所有在這次課程設計中給予我關心、支持和幫助的老師、朋友們,致以最誠摯的謝意,在16、整個的設計過程中,很多老師、同學們都給予我們莫大的幫助。我深知,只有不斷的拼搏進取、不斷的前進,才是對大家最好的感謝。老師的嚴謹的工作作風、親切的待人方式,淵博的專業知識都給我留下了深刻的印象,老師細心的講解和指點使我從課程設計之中受益匪淺,使我從實際的算法實現中更好地掌握了理論知識。她深厚的理論水平都使我受益匪淺,無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高,這對于我以后的工作和學習都是一種巨大的幫助!最后還要感謝我的同學們,感謝他們耐心的講解和細心的指導,也感謝他們給我提出那么多的解決方案和指導性意見,幫我順利完成我的課程設計和論文! 附錄:源程序(帶注釋)# incl17、ude /包含文件讀寫# include # include /包含strcmp()字符是否相等#include /包含system(cls)清屏#define MAX 20 /下列字符數組的大小struct Date/日期 char yearMAX;/年 char monthMAX;/月 char dayMAX;/日;struct Goods/物品信息 char nameMAX;/商品名稱 char priceMAX;/商品價格 char numberMAX;/商品數量 char costMAX;/商品總價 char kindMAX;/商品的種類 Date indate;/購進日期 Good18、s * next;/下一個結點 ;class Cangkuguanli /類定義與實現private: int length;/客戶數量 Goods * head;/列表的頭結點 Goods * current;/當前結點public: Cangkuguanli()/構造函數 head=new Goods;/創建頭結點 current=head; current-next=NULL; length=0;/長度為0 void Creatlist()/創建新的列表 char g=Y; int s=0; length=0;/初始長度為0;current=head;do Goods * temp=ne19、w Goods ;/構建新結點信息 length+; /每加一個結點 鏈表長度增1 temp-next=NULL; couttemp-name; couttemp-price; couttemp-number; couttemp-cost; couttemp-indate.yeartemp-indate.monthtemp-indate.day; couttemp-kind; if(head=NULL)head=temp;current=temp; /head頭指針,current尾指針 else current-next=temp,current=temp; do coutg; if(g!=20、Y&g!=N) coutn error !n ; while(g!=Y&g!=N); while(g=Y);/判斷是否繼續插入新結點 void Open ()/打開一個數據文件,并建立鏈表關聯 和文件中的記錄對應 char fname20;/文件名稱 coutfname; /輸入要打開的文件名ifstream infile (fname);/創建輸入文件流 infilelength;coutn length is: lengthendl;/if(length=0)cout 數據為空n; for(int i=0;inext=NULL;infilet-namet-pricet-numbert-co21、stt-kind t-indate.yeart-indate.montht-indate.day; if(head=NULL)head=t;current=t;/跟上面的鏈表創建相似else current-next=t,current=t;infile.close();/關閉文件流/open void Save ()/保存鏈表信息到文件 if(length=0) cout 列表為空 不需存盤 n; return ; char fname20;/文件名稱 coutfname; ofstream outfile(fname);/創建輸出文件流 Goods * temp=head-next; ou22、tfilelengthendl;/先寫入文件的長度 while (temp!=NULL)/把所有結點寫入到文件fname outfilename price number cost kind indate.year indate.month indate.daynext; outfile.close();/關閉文件流 void printinfor( Goods * current)/輸出一個結點的信息到字符界面 if(current=NULL) coutn元素為空! n ; return; cout.fill( );coutname;cout.width(8); cout.width(8);23、coutprice;cout.width(8); coutnumber;cout.width(8);coutcost; /就是給current-cost10個字符輸出,不夠往前面加 空格 cout.width(10);coutkind; cout.width(10); coutindate.year.indate.month.indate.day; coutnext;if(current=NULL)cout列表為空 n;return ;cout.fill( );cout.width(2);cout名稱; cout.width(8);cout價格;cout.width(8);cout數量;cou24、t.width(8);cout總費用;cout.width(10);cout商品的種類;cout.width(15);cout購進時間;coutnext; /showGoods *Searchindate(Date t) /按購入日期搜索 返回結點指針temp/結構體t含有t.year t.month t.day三個信息塊Date d;bool f=false;Goods * temp;current=head-next; while(current!=NULL) d=current-indate; if(!strcmp(d.year,t.year)&!strcmp(d.month,t.mon25、th)&!strcmp(d.day,t.day) temp=current;f=true; break; current=current-next; if(f=false) coutn 沒有滿足要求的信息 n; return NULL; return temp;void Queryindate()/按購入日期查詢Date t;coutt.yeart.montht.day; printinfor(Searchindate (t);/Queryindate()Goods * Searchname (char r)/搜索商品名 返回結點指針temp Goods * temp; current=hea26、d-next;bool f=false; while(current!=NULL) if(strcmp(current-name,r)=0) temp=current; f=true; break; current=current-next; if(f=false) coutn 商品名為 : r 的商品不存在 n ; return NULL; return temp;void Queryname() /按商品名查詢char rMAX;coutr;printinfor(Searchname (r);void Query ()/查詢函數 一個次級菜單char m; do cout * endl; 27、cout* 按購進的時間查詢 *endl; cout* 按物品的名稱查詢 *endl; cout* 退出 *endl; cout * m; switch (m) /分別調用按不同查詢方式下的函數 case a: Queryindate();break; case b: Queryname();break; case c: return ; default: couterror! ; while(m!=h);/Query void Removebynumber () /按總量刪除某個結點char tMAX; /需要刪除的總量值 bool f=false; /表示是否找到滿足要求的結點 Goods28、 * temp; /指向找到的結點,并刪除 coutt; current=head; while(current-next!=NULL) if(strcmp(current-next-number,t)=0) /判斷是否滿足條件 temp=current-next; current-next=temp-next; length-; /沒刪除一個結點,鏈表長度減1 f=true; delete temp;/釋放結點coutnext; if(f=false)/false沒有改動,表示沒有滿足條件的結點 cout此元素不存在 ,無須刪除 n; /Removebynumbervoid Removeby29、name () /按名稱刪除某個結點char t20; bool f=false; Goods * temp; coutt; current=head; while(current-next!=NULL) if(strcmp(current-next-name,t)=0) temp=current-next; current-next=temp-next; length-; f=true; delete temp;coutnext; if(f=false) cout此元素不存在 ,無須刪除 n; /Removebynamevoid Removebyindate () /按購進時間刪除某個結點 30、Date t,d; bool f=false; Goods * temp; coutt.yeart.montht.day; current=head; while(current-next!=NULL) d=current-next-indate; if(d.year=t.year&d.month=t.month&d.day=t.day) temp=current-next; current-next=temp-next; length-; f=true; delete temp;coutnext; if(f=false) cout此元素不存在 ,無須刪除 n; /Removebyindate31、void Remove ()/刪除函數char g=Y; do cout * endl; cout* 按物品總數量刪除 *endl; cout* 按物品名稱刪除 *endl; cout* 按購進時間刪除 *endl; cout* 退出 *endl; cout * g; switch (g) case a: Removebynumber ();break; case b: Removebyname();break; case c: Removebyindate();break; case d: return ; default: coutnext!=NULL)/找到尾指針 current=cur32、rent-next;temp=new Goods; temp-next=NULL;length+;/鏈表長加1 couttemp-name; couttemp-price; couttemp-number; couttemp-cost; couttemp-indate.yeartemp-indate.monthtemp-indate.day; cout 請輸入商品的種類:temp-kind; current-next=temp;/這時current指向尾指針,將要插入的結點接到current后面 current=temp;/addvoid Modify ()/通過商品名找到要修改的數據項cha33、r nMAX;cout請輸入您要修改的商品名:n; Goods * temp=Searchname (n);/按商品名查找 couttemp-name; couttemp-price; couttemp-cost; couttemp-indate.yeartemp-indate.monthtemp-indate.day; couttemp-number; couttemp-kind;void operation ()char g=Y;docout.fill(*);cout.width(14);cout*;cout服裝銷售管理系統;cout.fill(*);cout.width(14);cout34、*;coutendl; cout* 原始產品入庫 *endl; cout* 新購產品入庫 *endl; cout* 修改產品信息 *endl;cout* 顯示服裝情況 *endl;cout* 查詢產品信息 *endl;cout* *產品出庫* *endl;cout* *打開文件* *endl;cout* *保存文件* *endl;cout* *刷新屏幕* *endl;cout* *退出系統* *endl;cout.fill(*);cout.width(14);cout*;cout服裝銷售管理系統;cout.fill(*);cout.width(14);cout*;coutg;switch (g35、)case C: Creatlist();break;case A: Add();break;case M: Modify ();break;case D: Show ();break;case Q: Query ();break;case R: Remove();break;case O: Open ();break;case S: Save();break;case N: system (cls);break;case E: return ;default: cout error! input the right character ! n;/switchwhile(g!=E);/operation;/Cangkuguanliint main ()Cangkuguanli A; A.operation(); return 0;