




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 學生簡歷管理系統第74頁 共 13 頁HUBEIUNIVERSITY OF AUTOMOTIVE TECHNOLOGYC語言程序設計課程設計報告課設題目:學生信息管理系統專 業:電氣工程及其自動化班 級: 商品銷售管理姓 名: 胡軍 成 績:完成日期:2012年6月18日2012年6月22日指導教師: 史旅華 梅琴 目錄TOC o 1-2 h z u HYPERLINK l _Toc325362586 1.課程設計目的 PAGEREF _Toc325362586 h 3 HYPERLINK l _Toc325362587 2.需求分析 PAGEREF _Toc325362587 h 3 HY
2、PERLINK l _Toc325362588 2.1要求 PAGEREF _Toc325362588 h 3 HYPERLINK l _Toc325362590 2.2任務描述 PAGEREF _Toc325362590 h 3 HYPERLINK l _Toc325362591 2.3運行環境 PAGEREF _Toc325362591 h 3 HYPERLINK l _Toc325362592 2.4開發工具PAGEREF _Toc325362592 h 4 HYPERLINK l _Toc325362593 3.總體設計 PAGEREF _Toc325362593 h 4 HYPERL
3、INK l _Toc325362594 3.1系統流設計 PAGEREF _Toc325362594 h 4 HYPERLINK l _Toc325362595 3.2系統模塊設計 PAGEREF _Toc325362595 h 5 HYPERLINK l _Toc325362596 4.詳細設計 PAGEREF _Toc325362596 h 5 HYPERLINK l _Toc325362597 4.1數據結構設計 PAGEREF _Toc325362597 h 5 HYPERLINK l _Toc325362598 4.2模塊接口設計 PAGEREF _Toc325362598 h 7
4、HYPERLINK l _Toc325362599 4.3 以下是幾個主要模塊的流程圖: PAGEREF _Toc325362599 h 8 HYPERLINK l _Toc325362600 5.運行結果 PAGEREF _Toc325362600 h 16 HYPERLINK l _Toc325362601 5.1主菜單界面: PAGEREF _Toc325362601 h 16 HYPERLINK l _Toc325362602 5.2信息錄入界面: PAGEREF _Toc325362602 h 16 HYPERLINK l _Toc325362603 5.3信息瀏覽界面: PAGER
5、EF _Toc325362603 h 17 HYPERLINK l _Toc325362604 5.4 信息查詢界面: PAGEREF _Toc325362604 h 17 HYPERLINK l _Toc325362605 5.5信息修改界面: PAGEREF _Toc325362605 h 18 HYPERLINK l _Toc325362606 6.程序調試與測試 PAGEREF _Toc325362606 h 20 HYPERLINK l _Toc325362607 6.1程序調試 PAGEREF _Toc325362607 h 20 HYPERLINK l _Toc325362608
6、 6.2程序測試 PAGEREF _Toc325362608 h 21 HYPERLINK l _Toc325362609 7.問題與不足 PAGEREF _Toc325362609 h 23 HYPERLINK l _Toc325362610 8.建議 PAGEREF _Toc325362610 h 23 HYPERLINK l _Toc325362611 9.編程體會 PAGEREF _Toc325362611 h 24 HYPERLINK l _Toc325362612 10.程序源代碼: PAGEREF _Toc325362612 h 24 HYPERLINK l _Toc325362
7、613 11.參考文獻 PAGEREF _Toc325362613 h 39 HYPERLINK l _Toc325362614 12.用戶使用手冊 PAGEREF _Toc325362614 h 401.課程設計目的通過課程設計,加深對結構化程序設計思想的理解,能對系統功能進行分析,并設計合理的模塊化結構。通過課程設計,進一步掌握C語言中重要的數據結構。掌握并熟練運用指針、鏈表、結構體、文件等數據結構。通過課程設計,提高程序開發能力,能運用合理的控制流編寫清晰高效的程序。通過課程設計,培養C語言知識運用和自學能力,真正的把課堂上獲得的知識運用起來,培養自己對程序編寫的興趣,并能獨立設計和實現
8、一個小型系統。通過課程設計,加強了自己的程序分析能力。2.需求分析2.1要求遵循軟件開發過程的基本規范;能靈活應用,初步具備運用C程序解決實際問題的能力。運用結構化程序設計方法,按照課程設計題目要求,完成包括需求分析、數據結構設計、概要設計、詳細設計、編寫代碼、調試和測試C程序等過程。學會利用數組、結構體、鏈表進行相關信息表示。功能模塊劃分清晰,系統結構圖符合功能操作要求,且有詳盡的功能描述各主要功能模塊有詳盡的流程圖及描述,用函數的形式實現,且調用入口、功能、出口等關系正確。所設計的C程序較好的可讀性和可靠性;程序書寫風格規范,注釋清晰。界面友好(良好的人機互交),凡需要輸入信息時,都有較詳
9、盡的提示信息,并對輸入信息有較完善的值域分析。程序經上機調試通過,不應出現語法型、功能型錯誤,并獲得滿意的結果。學會通過各功能性測試用例測試程序的能力,盡可能避免原則性錯誤的出現。掌握編寫、調試和測試C語言程序的基本技巧,充分理解結構化程序設計的基本方法。C語言課程設計報告的內容反應實際設計過程,且符合格式要求,無抄襲現象。2.2任務描述此系統以鍵盤輸入和導入文件獲得商品信息,通過選擇操作碼實現錄入信息、查詢信息、保持你信息等不同的功能。具體有以下功能:顯示主界面并提示用戶選擇。導入商品信息:實現從鍵盤輸入或從文件導入10個商品信息。輸入銷售記錄:從鍵盤輸入銷售記錄,以進行下面的查詢。按編號查
10、詢銷售歷史:根據輸入的商品編號從銷售信息中顯出對應的銷售信息。按顧客姓名查詢銷售歷史:根據輸入的顧客姓名在輸入的銷售記錄查詢其購買的商品信息。計算時間段內銷售總額:更具輸入的時間從銷售信息中計算銷售總和。顯示顧客信息:從銷售記錄中抽取并顯示顧客姓名。保存銷售信息:保存所輸入的銷售信息。保存顧客信息:保存顧客的編碼及姓名。退出:退出系統,謝謝使用。2.3運行環境WindowsXP/7系統VC+6.0編譯環境2.4開發工具C語言3.總體設計3.1系統流設計開始開始主菜單導入商品信息退出保存顧客信息保存商品信息顯示顧客姓名按顧客姓名按編碼查詢輸入銷售記錄按時間段查詢3.2系統模塊設計主菜單界面:構造
11、函數int select(),實現系統主菜單的顯示。商品信息導入:構造函數void Enter_productmessage(),實現商品信息的導入及顯示。并通過分別調用函數void comp()和void file(),實現從鍵盤輸入信息和通過文件導入信息。輸入銷售記錄:構造函數void Creat(),實現對從鍵盤輸入銷售記錄并通過調用int judgech(char *a)、int judgedate(char date10)函數判斷商品名、銷售日期是否合法。按編號查詢銷售歷史:構造函數void Search_num(),實現從鍵盤輸入商品編號查詢該編號對應商品的銷售記錄。按顧客姓名查詢
12、銷售歷史:構造函數void Saerch_customername(),實現從鍵盤輸入顧客姓名查詢該顧客的購買歷史信息。如果沒有該顧客信息可選擇新建該顧客銷售記錄。計算各時段內銷售總額:構造函數void Search_date(),實現從鍵盤輸入日期并調用int judgedate(char date10)判斷日期輸入是否合法查詢從輸入時間導系統時間內的銷售總額。顯示顧客姓名:構造函數void Printf_customername(),實現顯示所有顧客的姓名。保存銷售信息:構造函數void Save_product(),實現保存銷售商品的信息。保存顧客信息:構造函數void Save_cus
13、tomername(),實現保存顧客的信息。退出:構造函數void Exit(),實現退出系統,顯示“謝謝使用”。4.詳細設計4.1數據結構設計根據系統要求,系統中需要保存的數據信息,其結構如下:數據項名稱數據項系統表示數據類型數據長度備注商品名稱productnamechar20必須漢子商品編碼numint商品產地placechar30必須漢子商品價格pricefloat顧客名字namechar20必須漢子顧客購買編碼numint顧客購買數量countint顧客購買日期datechar10顧客編碼IDint根據系統要求,系統中需要保存的類別信息,其結構如下:類別代號datecoutIDnam
14、e類別名稱銷售日期銷售數量顧客編碼顧客名字為了能實現不受限制的增加商品,各科信息,采用鏈表的結構保存商品和銷售信息,在增加商品和顧客的基本信息時,分別創建一個對應的節點,將其插入到對應的鏈表中,示意圖如下。 商品商品信息1商品信息2通訊錄信息1221商品信息3商品信息4銷售銷售信息1銷售信息2通訊錄信息1221銷售信息3銷售信息4為此,先聲明一個類型為struct product和sturctsell的結構體,對應的成員分別為商品編碼、商品名稱、商品售價、商品產地商品庫存和顧客代碼、顧客姓名、商品編碼、銷售數量、銷售日期信息。然后通過對指針、鏈表、文件等數據結構的操作,實現對商品和顧客信息的錄
15、入、查詢、瀏覽等一系列操作。其中,結構體定義如下:struct product /定義商品數據結構 int num; /商品編號 char productname20; /商品名稱 float price; /商品售價 char place30; /商品產地 int storage; /商品庫存 struct product *next;*head,*p1,*p2;、struct time /定義時間結構體int year; / 年int month; /月int day; /天struct sell /定義銷售數據結構 int ID; /顧客代碼 char customername20; /
16、顧客姓名 int num; /商品編號 int count; /銷售數量 char date10; /日期 struct sell * next1; *head1; 4.2模塊接口設計所有函數模塊聲明如下:int select(); /主菜單函數void Enter_productmessage(); /導入商品信息void Creat(); /導入銷售記錄void Search_num(); /按編號查詢銷售歷史void Search_customername(); /按顧客姓名查詢購買歷史void Search_date(); /計算時間段內銷售總額void Printf_customer
17、name(); /顯示顧客信息void Save_product(); /保存銷售信息void Save_customername(); /保存顧客信息void Exit(); /退出程序int judgech(char *a) /判斷是否為漢字int judgedate(char date10) /判斷日期是否合法void file() /從文件導入商品信息void comp() /從鍵盤輸入商品信息主要模塊的實現系統以主函數int main()為入口,首先通過int select()函數,顯示課程設計名稱、作者信息及主菜單。提示用戶選擇,系統接收用戶輸入的選擇,通過主函數根據用戶選擇進行判
18、斷,選擇合法后調用相應的函數,進入到下一級菜單進行,在下一個功能中進行對應的工作。4.3 以下是幾個主要模塊的流程圖:主菜單函數:主菜單主菜單判斷對應功能用戶選擇YN信息導入函數: 導入信息菜單 導入信息菜單判斷從文件導入從鍵盤輸入用戶選擇12N輸入商品信息函數輸入商品的信息輸入商品的信息判斷顯示信息Y修正N判斷YN返回主菜單按編碼查詢函數輸入要查詢商品的編碼輸入要查詢商品的編碼判斷顯示信息Y返回主菜單N按顧客姓名查詢函數返回主菜單Y判斷輸入要查詢商品的編碼輸入要查詢顧客的姓名判斷顯示信息Y返回主菜單Y判斷輸入要查詢商品的編碼輸入要查詢顧客的姓名判斷顯示信息YN時間段內銷售總額函數輸入要查詢時
19、間段輸入要查詢時間段判斷顯示信息YN保存銷售商品信息函數輸入保存文件名輸入保存文件名判斷顯示信息保存成功YN保存顧客信息函數輸入保存文件名輸入保存文件名判斷顯示信息保存成功YN5.運行結果5.1主菜單界面:主菜單界5.2信息導入界面:信息導入界面從文件導入信息界面從鍵盤輸入商品信息5.3銷售信息錄入界面: 從鍵盤輸入銷售信息5.4 按編碼信息查詢界面:從鍵盤中輸入要查詢的商品編碼,進行查詢,并顯示結果。5.5按顧客姓名信息界面:從鍵盤輸入要查詢顧客的姓名,進行查詢,并顯示結果。5.6查詢時間段內信息界面: 從鍵盤輸入兩個時間,查詢改時間內的銷售信息,是結果5.7顯示顧客姓名 保存顧客學名5.8
20、保存銷售商品信息 保存銷售商品信息5.9保存顧客信息 保存顧客信息5.10退出程序 退出程序6.程序調試與測試6.1程序調試 導入商品信息模塊從文件導入從鍵盤輸入輸入銷售記錄6.2程序測試查詢:輸入數字大于10輸入1輸入錯誤顧客姓名真確姓名輸入時間段不符合(2011-05-052011-05-05)輸入真確日期(2011-02-032011-02-03)7.問題與不足(1)題目重要求判斷是否是漢字,要求時間調用系統時間。但是由于這些并不會,所以借用了判斷漢子。但調用時間任然不會。(2)在設計中不能一次輸入多條商品信息和多條銷售記錄,而是需選擇Y/y后輸入下一條。(3)沒有設計一個判斷商品信息是
21、否錯誤的函數。(4)在編碼中由于沒有判斷商品信息是否合法的函數,使程序很長。有些是反復使用,有些語句顯得太羅嗦。(5)在調試時,如果看提示信息,不按要求而是亂輸可能會導致程序不能正常運行或者結果錯誤。8.建議 在本次課設中,在時間上我覺得時間有點短,雖然差不多是兩個周,但是由于要準備考試所以不能完全投入到課設中去。課設的題目分配時難易度不一樣,而又不是自己選取題目,這樣對于學得好的與學的差的所接受的任務不符合。對我自己來說,我的題目讓同學幫忙,基本都說鏈表不會。在輔導時候老師只有兩個,有時候有問題卻沒有老師。等老師有時間我們自己又不想弄了。在以后的課設中,我希望老師按照個人所學的程度來分配難易
22、的題目或者都是一樣的題目,當然我知道老師也有老師的道理,但是學習是自己的事,想抄襲的人不管啥樣的題目他都會抄襲的。在時間上可以放寬一些以便程序更完美。輔導老師辛苦些,多加幾個老師輔導更多的學生。9.編程體會通過這次課設,我知道了自己C語言不懂不會的地方,在前面學習的知識后來不能靈活運用,有些東西雖然當時覺得很簡單,也掌握了,但是到自己用的時候卻總是出錯!自從上了結構體之后,C語言的學習難度加大,但我依舊不重視,和前面一樣的學習。結果后面的全聽不懂,特別是鏈表和指針。本次的課設編程題目對我來說是很難的。里面要用到鏈表指針但通過課設,這些都是我不會的。通過請教同學和老師總算編好了程序,同時對鏈表和
23、指針有些了解,雖然用的不靈活但知道了怎么用。編完程序我反思自己的學習,發現學習C語言只看懂書是沒用的,平時要多練習。當然不是簡單的題,而是難題。在練習難題的時候多思考,運用不同的方法解決問題。遇到不懂的要問老師問同學或者看書來解決。總之,在課設中我清楚的認識了自己C語言的現狀,在經后的練習中我會努力克服不足學好C語言、靈活運用C語言。10.程序源代碼:#include#include#include#includestruct product /定義商品數據結構 int num; /商品編號 char productname20; /商品名稱 float price; /商品售價 char p
24、lace30; /商品產地 int storage; /商品庫存 struct product *next; *head,*p1,*p2; /定義主結構體數組和備用結構體數組及指針struct time /定義時間結構體int year;int month;int day;struct sell /定義銷售數據結構 int ID; /顧客代碼 char customername20; /顧客姓名 int num; /商品編號 int count; /銷售數量 char date10; /日期 struct sell * next1; *head1; /定義頭指針head,緩沖指針p1,以及尾指
25、針p2/*函數申明*/void Enter_productmessage(); /導入商品信息void Creat(); /輸入銷售記錄void Search_num(); /按編號查詢銷售歷史void Search_customername(); /按顧客姓名查詢購買歷史void Printf_customername(); /顯示顧客信息void Search_date(); /計算時間段內銷售總額void Save_product(); /保存銷售信息void Save_customername(); /保存顧客信息void Exit(); /退出程序/*主菜單*/int select(
26、)int c; printf(tt*歡迎使用商品銷售管理程序*n);printf(tt T1123-5班 胡 軍 一分耕耘 一分收獲 n);printf(nn);printf(n);printf(tt*n); printf(tt*歡迎使用商品銷售管理系統*n); printf(tt* *n); printf(tt* 1:導入商品信息 *n); printf(tt* 2:輸入銷售記錄 *n);printf(tt* 3:按編號查詢銷售歷史 *n); printf(tt* 4: 按顧客姓名查詢購買歷史 *n); printf(tt* 5:計算時段內各銷售總額 *n); printf(tt* 6:顯示
27、顧客信息 *n); printf(tt* 7:保存銷售信息 *n); printf(tt* 8:保存顧客信息 *n);printf(tt* 0:退出 *n); printf(tt*n); printf(nn); printf(tt請輸入您的選擇(08的整數): );scanf(%d,&c);return c;/*主函數*/int main()for(;)switch(select()case 1:system(cls);Enter_productmessage();break;case 2:system(cls);Creat();break;case 3:system(cls);Search_
28、num();break;case 4:system(cls);Search_customername();break;case 5:system(cls);Search_date();break;case 6:system(cls);Printf_customername();break;case 7:system(cls);Save_product();break;case 8:system(cls);Save_customername();break; case 0:system(cls);Exit();break;default : system(cls); printf(nnnnnn)
29、;printf(tt*n); printf(tt* 輸入錯誤!請重新輸入您的選擇(08的整數) *n);printf(tt* 請按Enter鍵返回! *n);printf(tt*n);getchar();getchar();system(cls);return 0;/*/int judgech(char *a) /判斷是否為漢字int i,flag;for(i=0;ai!=0;i+)if(ai=0)flag=0;break;else flag=1; return flag;int judgedate(char date10) /判斷日期是否合法int i,year,month,day,s1=0
30、; /日期格式輸入正確則s1=1,否則s1=0for(i=0;i0&day0&day0&day0&daynext=p1;p1-next=NULL;p2=p1;fscanf(fp,%d%s%f%s%d,&p2-num,p2-productname,&p2-price,p2-place,&p2-storage); while(k=1)if(p2-num10|p2-numnum);k=1;else k=0;while(j=1)if(judgech(p2-productname)=0)printf(tt第%d個商品名稱錯誤!請重新輸入(漢字):,i+1); rewind(stdin);scanf(%s
31、,p2-productname);j=1;else j=0;while(o=1)if(p2-price0):,i+1); rewind(stdin); scanf(%f,&p2-price);o=1; else o=0;while(c=1)if(judgech(p2-place)=0) printf(tt第%d個商品產地格式錯誤!請重新輸入(漢字):,i+1); rewind(stdin);scanf(%s,p2-place);c=0; else c=0;while(v=1)if(p2-storage!=1000) printf(t*n); printf(tt第%d個商品數量錯誤!請輸入100
32、0:,i+1); rewind(stdin);scanf(%d,&p2-storage);v=1;else v=0;printf(t%-12d%-15s %-15.2f%-15s%-12dn,p2-num,p2-productname,p2-price,p2-place,p2-storage); fclose(fp); void comp() FILE *fp;int i=0,n,k=1,m=1,c=1,l=1,d=1;char filename20,a;printf(t請輸入商品信息保存路徑:);rewind(stdin);gets(filename);p1=p2=head=(struct
33、product*)malloc(sizeof(struct product);if(fp=fopen(filename,a+)=NULL) printf(tt*n); printf(tt* 不能打開文件!請檢查文件路徑! *n); printf(tt*n); getchar();system(cls); Enter_productmessage(); printf(nnn); printf(tt*n);printf(tt* 若輸入路徑與從文件導入商品信息路徑相同!*n); printf(tt* 并已導入十個商品信息,請不要再導入! *n); printf(tt* 注意商品編號不要和已導入的編碼
34、重復! *n);printf(tt*n);printf(nnn);getchar();system(cls);printf(t已從文件導入的個數和要輸入的個數和不超過十!nn);printf(t請輸入要導入的銷售記錄個數:);scanf(%d,&n);if(n0)dop1=(struct product*)malloc(sizeof(struct product); p2-next=p1;p1-next=NULL;p2=p1; printf(*商品信息*n);printf( 編號(整數) 名稱(漢字) 價格(數字) 產地(漢字) 庫存數量n); scanf(%d%s%f%s%d,&p2-num
35、,p2-productname,&p2-price,p2-place,&p2-storage); while(k=1)if(p2-num10|p2-numnum);k=1;else k=0;while(m=1)if(judgech(p2-productname)=0)printf(tt商品名稱錯誤!請重新輸入(漢字):); rewind(stdin);scanf(%s,p2-productname);m=1;else m=0;while(l=1)if(p2-price0):); rewind(stdin); scanf(%f,&p2-price);l=1; else l=0;while(c=1
36、)if(judgech(p2-place)=0) printf(tt商品產地格式錯誤!請重新輸入(漢字):); rewind(stdin);scanf(%s,p2-place);c=1; else c=0;while(d=1)if(p2-storage!=1000) printf(t*n); printf(tt 商品數量錯誤!請輸入1000:); rewind(stdin);scanf(%d,&p2-storage);d=1;else d=0;p2=head-next;fprintf(fp,n%-6d%-6s%-6.2f%-6s%-6dn,p2-num,p2-productname,p2-pr
37、ice,p2-place,p2-storage);printf(n%-6d%-6s%-6.2f%-6s%-6dn,p2-num,p2-productname,p2-price,p2-place,p2-storage); printf(tt是否繼續輸入信息(Y/N)?n);getchar(); a=getchar();while(a=Y|a=y);fclose(fp); /關閉文件夾if(n=0) printf(tt不從鍵盤輸入入信息!);getchar(); getchar();system(cls); fclose(fp); /關閉文件夾 void Enter_productmessage(
38、) /導入銷售信息 int a;printf(t*n); printf(t* 請輸入10種產品的信息-編號、名稱、價格、產地、數量: *n);printf(t* 1:通過文件導入(推薦)! *n);printf(t* 2: 通過鍵盤輸入! *n);printf(t*n); printf(t 請輸入您的選擇(1或2): ); scanf(%d,&a);getchar();system(cls);if(a!=1&a!=2)printf(tt輸入錯誤!請重新輸入您的選擇(1或2):); scanf(%d,&a);switch(a) case 1:system(cls); file();break;
39、case 2:system(cls); comp();break; printf(*n);printf(t*n);printf(t* 數據類信息操作成功!請按Enter鍵繼續! *n);printf(t*n); getchar();getchar();system(cls);void Creat() /輸入銷售信息函數 int i=0,k=1,code; char a; struct sell *p3,*p4; srand(0); code=1+rand()%90;p3=p4=head1=(struct sell *)malloc(sizeof(struct sell); p3=head1;
40、printf(tt請輸入銷售記錄:n); /提示輸入記錄 printf(n); do p3=(struct sell *)malloc(sizeof(struct sell); p4-next1=p3; p3-next1=NULL; p4=p3; printf( 顧客姓名(漢字) 商品編號(1-10的整數) 銷售數量(數字) 銷售日期(YYYY-MM-DD)n); printf(n); scanf(%s%d%d%s,p4-customername,&p4-num,&p4-count,p4-date); /輸入記錄 do if(judgech(p4-customername)=0) printf
41、(t*n); printf(tt顧客名字輸入錯!請重新輸入顧客名字(漢字):); scanf(%s,p4-customername); rewind(stdin); k=1; else k=0; while(k=1); do if(p4-num10|p4-numnum); rewind(stdin); k=1; else k=0; while(k=1); do if(p4-count1000|p4-countcount);rewind(stdin);k=1;else k=0; while(k=1); doif(judgedate(p4-date)!=1) printf(t*n);printf(
42、t 輸入日期不合法!請重新輸入(YYYY-MM-DD):); scanf(%s,p4-date); rewind(stdin);k=1;else k=0; while(k=1);p4-ID=code+i; i+; printf(nn); printf(是否繼續輸入銷售記錄(Y/N)?n); getchar(); a=getchar(); while(a=Y|a=y); system(cls); printf(nnnn); printf(t*n); printf(t* 銷售信息輸入成功!按Enter鍵繼續! *n); printf(t*n); getchar(); getchar(); syst
43、em(cls); return; void Search_num() /根據產品編號查詢產品的銷售歷史int num,flag=1,i=0;struct sell *p3;struct product *p;printf(tt請輸入商品編號(1-10的整數):);scanf(%d,&num);getchar();system(cls);printf( 顧客姓名 商品編號 銷售數量 銷售總額 銷售日期n);printf( n);p3=head1;p=head;while(p3!=NULL) if(p3-num=num)p=head;while(p!=NULL)if(p-num=num)break
44、;elsep=p-next;printf( %-15s%-13d%-13d%-13.2f%-10sn,p3-customername,p3-num,p3-count,p-price*p3-count,p3-date);flag=0;p3=p3-next1;if(flag=1) printf(tt*n); printf(tt* 無此編碼商品銷售記錄!請查實后再輸入! *n);printf(tt* 請按Enter鍵返回! *n); printf(tt*n);getchar();system(cls);return;printf(n);printf(tt*n); printf(tt* 銷售記錄查詢完
45、畢!請按Enter鍵返回! *n);printf(tt*n); getchar();getchar();system(cls);return;void Search_customername() /根據顧客姓名查詢購買歷史 int k=1,m=0;float a=0; char name20,b;struct product *p; struct sell *p3;p3=head1;p=head;printf(tt*n); printf(ttt請輸入顧客姓名(漢字):); scanf(%s,name);getchar();system(cls);if(head1-next1=NULL)prin
46、tf(tt*n);printf(tt* 銷售記錄為空!請按Enter鍵返回! *n);printf(tt*n);getchar(); getchar();system(cls);return ;do if(judgech(name)=0) printf(t*n); printf(tt顧客名字輸入錯!請重新輸入顧客名字(漢字):); rewind(stdin); scanf(%s,name); rewind(stdin); k=1; else k=0; while(k=1);if(judgech(name)=1)printf(顧客姓名(漢字) 顧客代碼 商品編號 購買數量 購買總額 購買日期(Y
47、YYY-MM-DD)n); printf(n);while(m!=1) if(strcmp(name,p3-customername)=0) m=1; while(p!=NULL) if(p3-num=p-num) printf(%5s%15d%10d%10d%15.2f%14sn,p3-customername,p3-ID,p3-num,p3-count,p3-count*p-price,p3-date);break; else p=p-next;else p3=p3-next1;if(p3=NULL)break;if(m=1)printf(n); printf(t*n); printf(t
48、* 查詢完畢!請按Enter鍵返回! *n);printf(t*n); getchar();system(cls); return; if(m=0) printf(tt*n); printf(tt* 不存在此顧客!請按Enter鍵繼續! *n); printf(tt*n);printf(tt是否記錄該顧客銷售記錄!n);printf(tt請輸入選擇(Y/N):);rewind(stdin);b=getchar(); if(b=n|b=N)getchar();system(cls); return;if(b=y|b=Y)getchar(); system(cls); Creat(); void
49、Search_date() /計算時間段內各個商品的銷售總額 int n=0;float temp=0; char a10,b10,c10;struct sell *p3; struct product *p;p3=head1-next1;p=head-next;getchar(); system(cls);if(head1-next1=NULL)printf(tt*n);printf(tt* 無銷售記錄!請按Enter鍵返回! *n);printf(tt*n);getchar();system(cls);return ; printf(tt請輸入開始日期(YYYY-MM-DD):); get
50、s(a); do if(judgedate(a)!=1) printf(tt*n); printf(tt 輸入日期不合法!請重新輸入(YYYY-MM-DD):); gets(a); system(cls);n=1;else n=0;while(n=1);printf(tt*n); printf(tt 請輸入結束日期(YYYY-MM-DD):); gets(b); system(cls);doif(judgedate(b)!=1) printf(tt*n); printf(tt 輸入日期不合法,請重新輸入(YYYY-MM-DD):); gets(b); system(cls); n=1;else
51、 n=0;while(n=1);do if(strcmp(a,p3-date)date)=0) n=1; break; else p3=p3-next1; if(p3=NULL) break; while(n!=1); while(1) p3=head1-next1;if(strcmp(a,p3-date)0&strcmp(b,p3-date)0)|(strcmp(a,p3-date)date)0)printf(時間斷不包括銷售日期!); Search_date();getchar();return;else p3=p3-next1;if(p3=NULL)break;if(n=1)printf
52、(tt銷售記錄如下:n); printf(tt時間: %s至%sn,a,b); printf(t商品編號(1-10的整數) 商品名(漢字) 銷售總額n);printf(nn);while(p!=NULL)p3=head1-next1;if(p3-num=p-num)temp+=(int)p3-count*(float)p-price;strcpy(c,p-productname);printf(tt%-20d%-20s%.2fn,p3-num,c,temp); p=p-next;printf(nn); printf(tt*n); printf(tt* 查詢完畢!請按Enter鍵繼續! *n);
53、printf(tt*n); getchar(); getchar();system(cls); return; void Printf_customername() /顯示所有顧客的姓名 int n=1;struct sell *p3;p3=head1-next1;if(p3!=NULL)printf(tt顧客姓名如下:n); /用來顯示所有顧客的姓名 printf(tt*n); printf(ttttt姓名:n); doprintf(ttttt %sn,p3-customername);p3=p3-next1;while(p3!=NULL);printf(tt*n);printf(tt*n)
54、;printf(tt*顧客姓名查詢完畢!請按Enter鍵繼續!*n); printf(tt*n);getchar(); getchar(); system(cls);return; elseprintf(tt*n); printf(tt* 顧客鏈表為空!沒有顧客銷售記錄! *n);printf(tt*n);getchar(); system(cls); return;void Save_product() /保存銷售信息記錄FILE *fp; /定義文件指針 char filename30; struct product *p;struct sell *p3;p3=head1-next1;p=head-next;printf(請輸入保存路徑:n);r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年社會工作實務知到智慧樹答案大全
- 海洋數字監管體系完善
- 老爸的課件圖片素材
- 老年飲食護理課件
- 老年癡呆癥課件
- 老年護理培訓教程課件
- 老年健康培訓課件
- 機動車抵押擔保合同范本
- 車床租賃與精密制造技術轉移合同
- 拆墻施工與歷史文化街區保護合同
- 毀林毀草違規行為集中整治實施方案
- 日本2025年食品過敏原培訓
- GB/T 45817-2025消費品質量分級陶瓷磚
- 安徽省池州市貴池區2024-2025學年八年級下學期數學期末檢測試卷(含答案)
- 電廠安規考試題庫及答案
- 2021-2022學年浙江省杭州市拱墅區英語小升初新生分班考試卷 附解析
- 正畸接診標準化流程
- 中心靜脈壓(CVP)監測與護理
- 2024-2025學年人教版(2024)初中英語七年級下冊教學工作總結(共4套)
- Unit 1 Happy Holiday 第5課時(Section B 2a-3c) 2025-2026學年人教版英語八年級下冊
- 4輸變電工程施工質量驗收統一表式(電纜工程電氣專業)-2024年版
評論
0/150
提交評論