C語言課程設(shè)計(jì)報(bào)告(商品銷售信息管理原創(chuàng))_第1頁
C語言課程設(shè)計(jì)報(bào)告(商品銷售信息管理原創(chuàng))_第2頁
C語言課程設(shè)計(jì)報(bào)告(商品銷售信息管理原創(chuàng))_第3頁
C語言課程設(shè)計(jì)報(bào)告(商品銷售信息管理原創(chuàng))_第4頁
C語言課程設(shè)計(jì)報(bào)告(商品銷售信息管理原創(chuàng))_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.:.;HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC言語程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)標(biāo)題: 學(xué)生信息管理系統(tǒng) 專 業(yè): 電氣工程及其自動(dòng)化 班 級(jí): 商品銷售管理 姓 名: 胡軍 成 績: 完成日期: 年月日年月日指點(diǎn)教師: 史旅華 梅琴 目 錄 TOC o - h z u HYPERLINK l _Toc .課程設(shè)計(jì)目的 PAGEREF _Toc h HYPERLINK l _Toc .需求分析 PAGEREF _Toc h HYPERLINK l _Toc .要求 PAGEREF _Toc h HYPERLINK l _Toc .義務(wù)描畫 PAGEREF

2、 _Toc h HYPERLINK l _Toc .運(yùn)轉(zhuǎn)環(huán)境 PAGEREF _Toc h HYPERLINK l _Toc .開發(fā)工具 PAGEREF _Toc h HYPERLINK l _Toc .總體設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .系統(tǒng)流設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .系統(tǒng)模塊設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .詳細(xì)設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .數(shù)據(jù)構(gòu)造設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc .模塊接

3、口設(shè)計(jì) PAGEREF _Toc h HYPERLINK l _Toc . 以下是幾個(gè)主要模塊的流程圖: PAGEREF _Toc h HYPERLINK l _Toc .運(yùn)轉(zhuǎn)結(jié)果 PAGEREF _Toc h HYPERLINK l _Toc .主菜單界面: PAGEREF _Toc h HYPERLINK l _Toc .信息錄入界面: PAGEREF _Toc h HYPERLINK l _Toc .信息閱讀界面: PAGEREF _Toc h HYPERLINK l _Toc . 信息查詢界面: PAGEREF _Toc h HYPERLINK l _Toc .信息修正界面: PAGE

4、REF _Toc h HYPERLINK l _Toc .程序調(diào)試與測試 PAGEREF _Toc h HYPERLINK l _Toc .程序調(diào)試 PAGEREF _Toc h HYPERLINK l _Toc .程序測試 PAGEREF _Toc h HYPERLINK l _Toc .問題與缺乏 PAGEREF _Toc h HYPERLINK l _Toc .建議 PAGEREF _Toc h HYPERLINK l _Toc .編程領(lǐng)會(huì) PAGEREF _Toc h HYPERLINK l _Toc .程序源代碼: PAGEREF _Toc h HYPERLINK l _Toc .參

5、考文獻(xiàn) PAGEREF _Toc h HYPERLINK l _Toc .用戶運(yùn)用手冊(cè) PAGEREF _Toc h .課程設(shè)計(jì)目的經(jīng)過課程設(shè)計(jì),加深對(duì)構(gòu)造化程序設(shè)計(jì)思想的了解,能對(duì)系統(tǒng)功能進(jìn)展分析,并設(shè)計(jì)合理的模塊化構(gòu)造。經(jīng)過課程設(shè)計(jì),進(jìn)一步掌握C言語中重要的數(shù)據(jù)構(gòu)造。掌握并熟練運(yùn)用指針、鏈表、構(gòu)造體、文件等數(shù)據(jù)構(gòu)造。經(jīng)過課程設(shè)計(jì),提高程序開發(fā)才干,能運(yùn)用合理的控制流編寫明晰高效的程序。經(jīng)過課程設(shè)計(jì),培育C言語知識(shí)運(yùn)用和自學(xué)才干,真正的把課堂上獲得的知識(shí)運(yùn)用起來,培育本人對(duì)程序編寫的興趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個(gè)小型系統(tǒng)。經(jīng)過課程設(shè)計(jì),加強(qiáng)了本人的程序分析才干。.需求分析.要求遵照軟件開發(fā)過程

6、的根本規(guī)范;能靈敏運(yùn)用,初步具備運(yùn)用C程序處理實(shí)踐問題的才干。運(yùn)用構(gòu)造化程序設(shè)計(jì)方法,按照課程設(shè)計(jì)標(biāo)題要求,完成包括需求分析、數(shù)據(jù)構(gòu)造設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、調(diào)試和測試C程序等過程。學(xué)會(huì)利用數(shù)組、構(gòu)造體、鏈表進(jìn)展相關(guān)信息表示。功能模塊劃分明晰,系統(tǒng)構(gòu)造圖符合功能操作要求,且有詳盡的功能描畫各主要功能模塊有詳盡的流程圖及描畫,用函數(shù)的方式實(shí)現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確。所設(shè)計(jì)的C程序較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋明晰。界面友好良好的人機(jī)互交,凡需求輸入信息時(shí),都有較詳盡的提示信息,并對(duì)輸入信息有較完善的值域分析。程序經(jīng)上機(jī)調(diào)試經(jīng)過,不應(yīng)出現(xiàn)語法型、功能型錯(cuò)誤,并

7、獲得稱心的結(jié)果。學(xué)會(huì)經(jīng)過各功能性測試用例測試程序的才干,盡能夠防止原那么性錯(cuò)誤的出現(xiàn)。掌握編寫、調(diào)試和測試C言語程序的根本技巧,充分了解構(gòu)造化程序設(shè)計(jì)的根本方法。C言語課程設(shè)計(jì)報(bào)告的內(nèi)容反響實(shí)踐設(shè)計(jì)過程,且符合格式要求,無抄襲景象。.義務(wù)描畫此系統(tǒng)以鍵盤輸入和導(dǎo)入文件獲得商品信息,經(jīng)過選擇操作碼實(shí)現(xiàn)錄入信息、查詢信息、堅(jiān)持他信息等不同的功能。詳細(xì)有以下功能:顯示主界面并提示用戶選擇。導(dǎo)入商品信息:實(shí)現(xiàn)從鍵盤輸入或從文件導(dǎo)入個(gè)商品信息。輸入銷售記錄:從鍵盤輸入銷售記錄,以進(jìn)展下面的查詢。按編號(hào)查詢銷售歷史:根據(jù)輸入的商品編號(hào)從銷售信息中顯出對(duì)應(yīng)的銷售信息。按顧客姓名查詢銷售歷史:根據(jù)輸入的顧客姓

8、名在輸入的銷售記錄查詢其購買的商品信息。計(jì)算時(shí)間段內(nèi)銷售總額:更具輸入的時(shí)間從銷售信息中計(jì)算銷售總和。顯示顧客信息:從銷售記錄中抽取并顯示顧客姓名。保管銷售信息:保管所輸入的銷售信息。保管顧客信息:保管顧客的編碼及姓名。退出:退出系統(tǒng),謝謝運(yùn)用。.運(yùn)轉(zhuǎn)環(huán)境WindowsXP/系統(tǒng)VC+.編譯環(huán)境.開發(fā)工具C言語.總體設(shè)計(jì).系統(tǒng)流設(shè)計(jì)開場主菜單導(dǎo)入商品信息退出保管顧客信息保管商品信息顯示顧客姓名按顧客姓名按編碼查詢輸入銷售記錄按時(shí)間段查詢.系統(tǒng)模塊設(shè)計(jì)主菜單界面:構(gòu)造函數(shù)int select(),實(shí)現(xiàn)系統(tǒng)主菜單的顯示。商品信息導(dǎo)入:構(gòu)造函數(shù)void Enter_productmessage(),

9、實(shí)現(xiàn)商品信息的導(dǎo)入及顯示。并經(jīng)過分別調(diào)用函數(shù)void comp()和void file(),實(shí)現(xiàn)從鍵盤輸入信息和經(jīng)過文件導(dǎo)入信息。輸入銷售記錄:構(gòu)造函數(shù)void Creat(),實(shí)現(xiàn)對(duì)從鍵盤輸入銷售記錄并經(jīng)過調(diào)用int judgech(char *a)、 int judgedate(char date)函數(shù)判別商品名、銷售日期能否合法 。按編號(hào)查詢銷售歷史:構(gòu)造函數(shù)void Search_num(),實(shí)現(xiàn)從鍵盤輸入商品編號(hào)查詢?cè)摼幪?hào)對(duì)應(yīng)商品的銷售記錄。按顧客姓名查詢銷售歷史:構(gòu)造函數(shù)void Saerch_ customername (),實(shí)現(xiàn)從鍵盤輸入顧客姓名查詢?cè)擃櫩偷馁徺I歷史信息。假設(shè)沒

10、有該顧客信息可選擇新建該顧客銷售記錄。計(jì)算各時(shí)段內(nèi)銷售總額:構(gòu)造函數(shù)void Search_date(),實(shí)現(xiàn)從鍵盤輸入日期并調(diào)用int judgedate(char date)判別日期輸入能否合法查詢從輸入時(shí)間導(dǎo)系統(tǒng)時(shí)間內(nèi)的銷售總額。顯示顧客姓名:構(gòu)造函數(shù)void Printf_customername(),實(shí)現(xiàn)顯示一切顧客的姓名。保管銷售信息:構(gòu)造函數(shù) void Save_product(),實(shí)現(xiàn)保管銷售商品的信息。保管顧客信息:構(gòu)造函數(shù)void Save_customername(),實(shí)現(xiàn)保管顧客的信息。退出:構(gòu)造函數(shù)void Exit(),實(shí)現(xiàn)退出系統(tǒng),顯示“謝謝運(yùn)用。.詳細(xì)設(shè)計(jì).數(shù)據(jù)

11、構(gòu)造設(shè)計(jì)根據(jù)系統(tǒng)要求,系統(tǒng)中需求保管的數(shù)據(jù)信息,其構(gòu)造如下:數(shù)據(jù)項(xiàng)稱號(hào)數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長度備注商品稱號(hào)productnamechar必需漢子商品編碼numint商品產(chǎn)地placechar必需漢子商品價(jià)錢pricefloat顧客名字namechar必需漢子顧客購買編碼numint顧客購買數(shù)量countint顧客購買日期datechar顧客編碼IDint根據(jù)系統(tǒng)要求,系統(tǒng)中需求保管的類別信息,其構(gòu)造如下:類別代號(hào)datecoutIDname類別稱號(hào)銷售日期銷售數(shù)量顧客編碼顧客名字為了能實(shí)現(xiàn)不受限制的添加商品,各科信息,采用鏈表的構(gòu)造保管商品和銷售信息,在添加商品和顧客的根本信息時(shí),分別創(chuàng)

12、建一個(gè)對(duì)應(yīng)的節(jié)點(diǎn),將其插入到對(duì)應(yīng)的鏈表中,表示圖如下。 商品信息商品信息通訊錄信息商品信息商品信息銷售信息銷售信息通訊錄信息銷售信息銷售信息為此,先聲明一個(gè)類型為struct product和sturct sell的構(gòu)造體,對(duì)應(yīng)的成員分別為商品編碼、商品稱號(hào)、商品售價(jià)、商品產(chǎn)地商品庫存和顧客代碼、顧客姓名、商品編碼、銷售數(shù)量、銷售日期信息。然后經(jīng)過對(duì)指針、鏈表、文件等數(shù)據(jù)構(gòu)造的操作,實(shí)現(xiàn)對(duì)商品和顧客信息的錄入、查詢、閱讀等一系列操作。其中,構(gòu)造體定義如下:struct product /定義商品數(shù)據(jù)構(gòu)造 int num; /商品編號(hào) char productname; /商品稱號(hào) float

13、price; /商品售價(jià) char place; /商品產(chǎn)地 int storage; /商品庫存 struct product *next;*head,*p,*p;、struct time /定義時(shí)間構(gòu)造體int year; / 年int month; /月int day; /天struct sell /定義銷售數(shù)據(jù)構(gòu)造 int ID; /顧客代碼 char customername; /顧客姓名 int num; /商品編號(hào) int count; /銷售數(shù)量 char date; /日期 struct sell * next; *head; .模塊接口設(shè)計(jì)一切函數(shù)模塊聲明如下:int se

14、lect(); /主菜單函數(shù)void Enter_productmessage(); /導(dǎo)入商品信息void Creat(); /導(dǎo)入銷售記錄void Search_num(); /按編號(hào)查詢銷售歷史void Search_customername(); /按顧客姓名查詢購買歷史 void Search_date(); /計(jì)算時(shí)間段內(nèi)銷售總額void Printf_customername(); /顯示顧客信息void Save_product(); /保管銷售信息void Save_customername(); /保管顧客信息void Exit(); /退出程序int judgech(ch

15、ar *a) /判別能否為漢字int judgedate(char date) /判別日期能否合法void file() /從文件導(dǎo)入商品信息void comp() /從鍵盤輸入商品信息主要模塊的實(shí)現(xiàn)系統(tǒng)以主函數(shù)int main()為入口,首先經(jīng)過int select()函數(shù),顯示課程設(shè)計(jì)稱號(hào)、作者信息及主菜單。提示用戶選擇,系統(tǒng)接納用戶輸入的選擇,經(jīng)過主函數(shù)根據(jù)用戶選擇進(jìn)展判別,選擇合法后調(diào)用相應(yīng)的函數(shù),進(jìn)入到下一級(jí)菜單進(jìn)展,在下一個(gè)功能中進(jìn)展對(duì)應(yīng)的任務(wù)。. 以下是幾個(gè)主要模塊的流程圖:主菜單函數(shù):主菜單判別對(duì)應(yīng)功能用戶選擇YN信息導(dǎo)入函數(shù): 導(dǎo)入信息菜單判別從文件導(dǎo)入從鍵盤輸入用戶選擇N輸

16、入商品信息函數(shù)輸入商品的信息判別顯示信息Y修正N判別YN前往主菜單按編碼查詢函數(shù)輸入要查詢商品的編碼判別顯示信息Y前往主菜單N按顧客姓名查詢函數(shù)前往主菜單Y判別輸入要查詢商品的編碼 輸入要查詢顧客的姓名判別顯示信息YN 時(shí)間段內(nèi)銷售總額函數(shù)輸入要查詢時(shí)間段判別顯示信息YN保管銷售商品信息函數(shù) 輸入保管文件名判別顯示信息保管勝利YN保管顧客信息函數(shù)輸入保管文件名判別顯示信息保管勝利YN.運(yùn)轉(zhuǎn)結(jié)果.主菜單界面:主菜單界.信息導(dǎo)入界面:信息導(dǎo)入界面從文件導(dǎo)入信息界面從鍵盤輸入商品信息 .銷售信息錄入界面: 從鍵盤輸入銷售信息. 按編碼信息查詢界面: 從鍵盤中輸入要查詢的商品編碼,進(jìn)展查詢,并顯示結(jié)果

17、。.按顧客姓名信息界面: 從鍵盤輸入要查詢顧客的姓名,進(jìn)展查詢,并顯示結(jié)果。.查詢時(shí)間段內(nèi)信息界面: 從鍵盤輸入兩個(gè)時(shí)間,查詢改時(shí)間內(nèi)的銷售信息,是結(jié)果.顯示顧客姓名 保管顧客學(xué)名.保管銷售商品信息 保管銷售商品信息.保管顧客信息 保管顧客信息.退出程序 退出程序.程序調(diào)試與測試.程序調(diào)試 導(dǎo)入商品信息模塊從文件導(dǎo)入 從鍵盤輸入輸入銷售記錄.程序測試 查詢:輸入數(shù)字大于輸入輸入錯(cuò)誤顧客姓名真確姓名輸入時(shí)間段不符合-輸入真確日期-.問題與缺乏標(biāo)題重要求判別能否是漢字,要求時(shí)間調(diào)用系統(tǒng)時(shí)間。但是由于這些并不會(huì),所以借用了判別漢子。但調(diào)用時(shí)間任然不會(huì)。在設(shè)計(jì)中不能一次輸入多條商品信息和多條銷售記錄,

18、而是需選擇Y/y后輸入下一條。沒有設(shè)計(jì)一個(gè)判別商品信息能否錯(cuò)誤的函數(shù)。在編碼中由于沒有判別商品信息能否合法的函數(shù),使程序很長。有些是反復(fù)運(yùn)用,有些語句顯得太羅嗦。在調(diào)試時(shí),假設(shè)看提示信息,不按要求而是亂輸能夠會(huì)導(dǎo)致程序不能正常運(yùn)轉(zhuǎn)或者結(jié)果錯(cuò)誤。.建議 在本次課設(shè)中,在時(shí)間上我覺得時(shí)間有點(diǎn)短,雖然差不多是兩個(gè)周,但是由于要預(yù)備考試所以不能完全投入到課設(shè)中去。課設(shè)的標(biāo)題分配時(shí)難易度不一樣,而又不是本人選取標(biāo)題,這樣對(duì)于學(xué)得好的與學(xué)的差的所接受的義務(wù)不符合。對(duì)我本人來說,我的標(biāo)題讓同窗協(xié)助 ,根本都說鏈表不會(huì)。在輔導(dǎo)時(shí)候教師只需兩個(gè),有時(shí)候有問題卻沒有教師。等教師有時(shí)間他們本人又不想弄了。在以后的課

19、設(shè)中,我希望教師按照個(gè)人所學(xué)的程度來分配難易的標(biāo)題或者都是一樣的標(biāo)題,當(dāng)然我知道教師也有教師的道理,但是學(xué)習(xí)是本人的事,想抄襲的人不論啥樣的標(biāo)題他都會(huì)抄襲的。在時(shí)間上可以放寬一些以便程序更完美。輔導(dǎo)教師辛勞些,多加幾個(gè)教師輔導(dǎo)更多的學(xué)生。.編程領(lǐng)會(huì)經(jīng)過這次課設(shè),我知道了本人C言語不懂不會(huì)的地方,在前面學(xué)習(xí)的知識(shí)后來不能靈敏運(yùn)用,有些東西雖然當(dāng)時(shí)覺得很簡單,也掌握了,但是到本人用的時(shí)候卻總是出錯(cuò)!自從上了構(gòu)造體之后,C言語的學(xué)習(xí)難度加大,但我照舊不注重,和前面一樣的學(xué)習(xí)。結(jié)果后面的全聽不懂,特別是鏈表和指針。本次的課設(shè)編程標(biāo)題對(duì)我來說是很難的。里面要用到鏈表指針但經(jīng)過課設(shè),這些都是我不會(huì)的。經(jīng)過

20、討教同窗和教師總算編好了程序,同時(shí)對(duì)鏈表和指針有些了解,雖然用的不靈敏但知道了怎樣用。編完程序我反思本人的學(xué)習(xí),發(fā)現(xiàn)學(xué)習(xí)C言語只看懂書是沒用的,平常要多練習(xí)。當(dāng)然不是簡單的題,而是難題。在練習(xí)難題的時(shí)候多思索,運(yùn)用不同的方法處理問題。遇到不懂的要問教師問同窗或者看書來處理。總之,在課設(shè)中我清楚的認(rèn)識(shí)了本人C言語的現(xiàn)狀,在經(jīng)后的練習(xí)中我會(huì)努力抑制缺乏學(xué)好C言語、靈敏運(yùn)用C言語。.程序源代碼:#include#include#include#includestruct product /定義商品數(shù)據(jù)構(gòu)造 int num; /商品編號(hào) char productname; /商品稱號(hào) float pr

21、ice; /商品售價(jià) char place; /商品產(chǎn)地 int storage; /商品庫存 struct product *next; *head,*p,*p; /定義主構(gòu)造體數(shù)組和備用構(gòu)造體數(shù)組及指針struct time /定義時(shí)間構(gòu)造體int year;int month;int day;struct sell /定義銷售數(shù)據(jù)構(gòu)造 int ID; /顧客代碼 char customername; /顧客姓名 int num; /商品編號(hào) int count; /銷售數(shù)量 char date; /日期 struct sell * next; *head; /定義頭指針head,緩沖指針

22、p,以及尾指針p/*函數(shù)聲明*/void Enter_productmessage(); /導(dǎo)入商品信息void Creat(); /輸入銷售記錄void Search_num(); /按編號(hào)查詢銷售歷史void Search_customername(); /按顧客姓名查詢購買歷史void Printf_customername(); /顯示顧客信息void Search_date(); /計(jì)算時(shí)間段內(nèi)銷售總額void Save_product(); /保管銷售信息void Save_customername(); /保管顧客信息void Exit(); /退出程序/*主菜單*/int se

23、lect()int c; printf(tt*歡迎運(yùn)用商品銷售管理程序*n);printf(tt T-班 胡 軍 一分耕耘 一分收獲 n);printf(nn);printf(n);printf(tt*n); printf(tt*歡迎運(yùn)用商品銷售管理系統(tǒng)*n); printf(tt* *n); printf(tt* :導(dǎo)入商品信息 *n); printf(tt* :輸入銷售記錄 *n); printf(tt* :按編號(hào)查詢銷售歷史 *n); printf(tt* : 按顧客姓名查詢購買歷史 *n); printf(tt* :計(jì)算時(shí)段內(nèi)各銷售總額 *n); printf(tt* :顯示顧客信息

24、*n); printf(tt* :保管銷售信息 *n); printf(tt* :保管顧客信息 *n);printf(tt* :退出 *n); printf(tt*n); printf(nn); printf(tt請(qǐng)輸入您的選擇(的整數(shù)): );scanf(%d,&c);return c;/*主函數(shù)*/int main()for(;)switch(select()case :system(cls);Enter_productmessage();break;case :system(cls);Creat();break;case :system(cls);Search_num();break;c

25、ase :system(cls);Search_customername();break;case :system(cls);Search_date();break;case :system(cls);Printf_customername();break;case :system(cls);Save_product();break;case :system(cls);Save_customername();break; case :system(cls);Exit();break;default : system(cls); printf(nnnnnn);printf(tt*n); prin

26、tf(tt* 輸入錯(cuò)誤!請(qǐng)重新輸入您的選擇(的整數(shù)) *n);printf(tt* 請(qǐng)按Enter鍵前往! *n);printf(tt*n); getchar();getchar();system(cls);return ;/*/int judgech(char *a) /判別能否為漢字int i,flag;for(i=;ai!=;i+)if(ai=)flag=;break;else flag=; return flag;int judgedate(char date) /判別日期能否合法int i,year,month,day,s=; /日期格式輸入正確那么s=,否那么s=for(i=;i&

27、day&day&day&daynext=p;p-next=NULL;p=p;fscanf(fp,%d%s%f%s%d,&p-num,p-productname,&p-price,p-place,&p-storage); while(k=)if(p-num|p-numnum);k=;else k=;while(j=)if(judgech(p-productname)=)printf(tt第%d個(gè)商品稱號(hào)錯(cuò)誤!請(qǐng)重新輸入(漢字):,i+); rewind(stdin);scanf(%s,p-productname);j=;else j=;while(o=)if(p-price):,i+); rew

28、ind(stdin); scanf(%f,&p-price);o=; else o=;while(c=)if(judgech(p-place)=) printf(tt第%d個(gè)商品產(chǎn)地格式錯(cuò)誤!請(qǐng)重新輸入(漢字):,i+); rewind(stdin);scanf(%s,p-place);c=; else c=;while(v=)if(p-storage!=) printf(t*n); printf(tt第%d個(gè)商品數(shù)量錯(cuò)誤!請(qǐng)輸入:,i+); rewind(stdin);scanf(%d,&p-storage);v=;else v=;printf(t%-d%-s %-.f%-s%-dn,p-n

29、um,p-productname,p-price,p-place,p-storage); fclose(fp); void comp() FILE *fp;int i=,n,k=,m=,c=,l=,d=;char filename,a;printf(t請(qǐng)輸入商品信息保管途徑:);rewind(stdin);gets(filename);p=p=head=(struct product*)malloc(sizeof(struct product);if(fp=fopen(filename,a+)=NULL) printf(tt*n); printf(tt* 不能翻開文件!請(qǐng)檢查文件途徑! *n)

30、; printf(tt*n); getchar(); system(cls); Enter_productmessage(); printf(nnn); printf(tt*n);printf(tt* 假設(shè)輸入途徑與從文件導(dǎo)入商品信息途徑一樣!*n); printf(tt* 并已導(dǎo)入十個(gè)商品信息,請(qǐng)不要再導(dǎo)入! *n); printf(tt* 留意商品編號(hào)不要和已導(dǎo)入的編碼反復(fù)! *n);printf(tt*n);printf(nnn);getchar();system(cls);printf(t已從文件導(dǎo)入的個(gè)數(shù)和要輸入的個(gè)數(shù)和不超越十!nn);printf(t請(qǐng)輸入要導(dǎo)入的銷售記錄個(gè)數(shù):)

31、;scanf(%d,&n);if(n)dop=(struct product*)malloc(sizeof(struct product); p-next=p;p-next=NULL; p=p; printf(*商品信息*n); printf( 編號(hào)(整數(shù)) 稱號(hào)(漢字) 價(jià)錢(數(shù)字) 產(chǎn)地(漢字) 庫存數(shù)量n); scanf(%d%s%f%s%d,&p-num,p-productname,&p-price,p-place,&p-storage); while(k=)if(p-num|p-numnum);k=;else k=;while(m=)if(judgech(p-productname)

32、=)printf(tt商品稱號(hào)錯(cuò)誤!請(qǐng)重新輸入(漢字):); rewind(stdin);scanf(%s,p-productname);m=;else m=;while(l=)if(p-price):); rewind(stdin); scanf(%f,&p-price);l=; else l=;while(c=)if(judgech(p-place)=) printf(tt商品產(chǎn)地格式錯(cuò)誤!請(qǐng)重新輸入(漢字):); rewind(stdin);scanf(%s,p-place);c=; else c=;while(d=)if(p-storage!=) printf(t*n); printf

33、(tt 商品數(shù)量錯(cuò)誤!請(qǐng)輸入:); rewind(stdin);scanf(%d,&p-storage);d=;else d=;p=head-next;fprintf(fp,n%-d%-s%-.f%-s%-dn,p-num,p-productname,p-price,p-place,p-storage);printf(n%-d%-s%-.f%-s%-dn,p-num,p-productname,p-price,p-place,p-storage); printf(tt能否繼續(xù)輸入信息(Y/N)?n);getchar(); a=getchar();while(a=Y|a=y);fclose(fp

34、); /封鎖文件夾if(n=) printf(tt不從鍵盤輸入入信息!);getchar(); getchar();system(cls); fclose(fp); /封鎖文件夾 void Enter_productmessage() /導(dǎo)入銷售信息 int a;printf(t*n); printf(t* 請(qǐng)輸入種產(chǎn)品的信息-編號(hào)、稱號(hào)、價(jià)錢、產(chǎn)地、數(shù)量: *n);printf(t* :經(jīng)過文件導(dǎo)入(引薦)! *n);printf(t* : 經(jīng)過鍵盤輸入! *n);printf(t*n); printf(t 請(qǐng)輸入您的選擇(或): ); scanf(%d,&a);getchar();syst

35、em(cls);if(a!=&a!=)printf(tt輸入錯(cuò)誤!請(qǐng)重新輸入您的選擇(或):); scanf(%d,&a);switch(a) case :system(cls); file();break; case :system(cls); comp();break; printf(*n);printf(t*n);printf(t* 數(shù)據(jù)類信息操作勝利!請(qǐng)按Enter鍵繼續(xù)! *n);printf(t*n); getchar();getchar();system(cls); void Creat() /輸入銷售信息函數(shù) int i=,k=,code; char a; struct sel

36、l *p,*p; srand(); code=+rand()%; p=p=head=(struct sell *)malloc(sizeof(struct sell); p=head; printf(tt請(qǐng)輸入銷售記錄:n); /提示輸入記錄 printf(n); do p=(struct sell *)malloc(sizeof(struct sell); p-next=p; p-next=NULL; p=p; printf( 顧客姓名(漢字) 商品編號(hào)(-的整數(shù)) 銷售數(shù)量(數(shù)字) 銷售日期(YYYY-MM-DD)n); printf(n); scanf(%s%d%d%s,p-custom

37、ername,&p-num,&p-count,p-date); /輸入記錄 do if(judgech(p-customername)=) printf(t*n); printf(tt顧客名字輸入錯(cuò)!請(qǐng)重新輸入顧客名字(漢字):); scanf(%s,p-customername); rewind(stdin); k=; else k=; while(k=); do if(p-num|p-numnum); rewind(stdin); k=; else k=; while(k=); do if(p-count|p-countcount);rewind(stdin);k=;else k=; wh

38、ile(k=); doif(judgedate(p-date)!=) printf(t*n);printf(t 輸入日期不合法!請(qǐng)重新輸入(YYYY-MM-DD):); scanf(%s,p-date); rewind(stdin);k=;else k=; while(k=); p-ID=code+i; i+; printf(nn); printf(能否繼續(xù)輸入銷售記錄(Y/N)?n); getchar(); a=getchar(); while(a=Y|a=y); system(cls); printf(nnnn); printf(t*n); printf(t* 銷售信息輸入勝利!按Ente

39、r鍵繼續(xù)! *n); printf(t*n); getchar(); getchar(); system(cls); return; void Search_num() /根據(jù)產(chǎn)品編號(hào)查詢產(chǎn)品的銷售歷史int num,flag=,i=;struct sell *p;struct product *p;printf(tt請(qǐng)輸入商品編號(hào)(-的整數(shù)):);scanf(%d,&num);getchar();system(cls);printf( 顧客姓名 商品編號(hào) 銷售數(shù)量 銷售總額 銷售日期n);printf( n);p=head;p=head;while(p!=NULL) if(p-num=num

40、)p=head;while(p!=NULL)if(p-num=num)break;elsep=p-next;printf( %-s%-d%-d%-.f%-sn,p-customername,p-num,p-count,p-price*p-count,p-date);flag=;p=p-next;if(flag=) printf(tt*n); printf(tt* 無此編碼商品銷售記錄!請(qǐng)查實(shí)后再輸入! *n);printf(tt* 請(qǐng)按Enter鍵前往! *n); printf(tt*n);getchar();system(cls);return;printf(n);printf(tt*n);

41、 printf(tt* 銷售記錄查詢終了!請(qǐng)按Enter鍵前往! *n);printf(tt*n); getchar();getchar();system(cls);return;void Search_customername() /根據(jù)顧客姓名查詢購買歷史 int k=,m=;float a=; char name,b;struct product *p; struct sell *p;p=head;p=head;printf(tt*n); printf(ttt請(qǐng)輸入顧客姓名(漢字):); scanf(%s,name);getchar();system(cls);if(head-next=

42、NULL)printf(tt*n);printf(tt* 銷售記錄為空!請(qǐng)按Enter鍵前往! *n);printf(tt*n);getchar(); getchar();system(cls);return ;do if(judgech(name)=) printf(t*n); printf(tt顧客名字輸入錯(cuò)!請(qǐng)重新輸入顧客名字(漢字):); rewind(stdin); scanf(%s,name); rewind(stdin); k=; else k=; while(k=);if(judgech(name)=)printf(顧客姓名(漢字) 顧客代碼 商品編號(hào) 購買數(shù)量 購買總額 購買

43、日期(YYYY-MM-DD)n); printf(n);while(m!=) if(strcmp(name,p-customername)=) m=; while(p!=NULL) if(p-num=p-num) printf(%s%d%d%d%.f%sn,p-customername,p-ID,p-num,p-count,p-count*p-price,p-date);break; else p=p-next;else p=p-next;if(p=NULL)break;if(m=)printf(n); printf(t*n); printf(t* 查詢終了!請(qǐng)按Enter鍵前往! *n);p

44、rintf(t*n); getchar();system(cls); return; if(m=) printf(tt*n); printf(tt* 不存在此顧客!請(qǐng)按Enter鍵繼續(xù)! *n); printf(tt*n);printf(tt能否記錄該顧客銷售記錄!n);printf(tt請(qǐng)輸入選擇(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 Search_date() /計(jì)算時(shí)間段內(nèi)各個(gè)商

45、品的銷售總額 int n=;float temp=; char a,b,c;struct sell *p; struct product *p;p=head-next;p=head-next;getchar(); system(cls);if(head-next=NULL)printf(tt*n);printf(tt* 無銷售記錄!請(qǐng)按Enter鍵前往! *n);printf(tt*n);getchar();system(cls);return ; printf(tt請(qǐng)輸入開場日期(YYYY-MM-DD):); gets(a); do if(judgedate(a)!=) printf(tt*

46、n); printf(tt 輸入日期不合法!請(qǐng)重新輸入(YYYY-MM-DD):); gets(a); system(cls); n=;else n=;while(n=);printf(tt*n); printf(tt 請(qǐng)輸入終了日期(YYYY-MM-DD):); gets(b); system(cls);doif(judgedate(b)!=) printf(tt*n); printf(tt 輸入日期不合法,請(qǐng)重新輸入(YYYY-MM-DD):); gets(b); system(cls); n=;else n=;while(n=);do if(strcmp(a,p-date)date)=)

47、 n=; break; else p=p-next; if(p=NULL) break; while(n!=); while() p=head-next;if(strcmp(a,p-date)&strcmp(b,p-date)|(strcmp(a,p-date)date)printf(時(shí)延續(xù)不包括銷售日期!); Search_date();getchar();return;else p=p-next;if(p=NULL)break;if(n=)printf(tt銷售記錄如下:n); printf(tt時(shí)間: %s至%sn,a,b); printf(t商品編號(hào)(-的整數(shù)) 商品名(漢字) 銷售總

48、額n); printf(nn);while(p!=NULL)p=head-next;if(p-num=p-num)temp+=(int)p-count*(float)p-price;strcpy(c,p-productname);printf(tt%-d%-s%.fn,p-num,c,temp); p=p-next;printf(nn); printf(tt*n); printf(tt* 查詢終了!請(qǐng)按Enter鍵繼續(xù)! *n);printf(tt*n); getchar(); getchar();system(cls); return; void Printf_customername()

49、/顯示一切顧客的姓名 int n=;struct sell *p;p=head-next;if(p!=NULL)printf(tt顧客姓名如下:n); /用來顯示一切顧客的姓名 printf(tt*n); printf(ttttt姓名:n); doprintf(ttttt %sn,p-customername); p=p-next;while(p!=NULL);printf(tt*n);printf(tt*n); printf(tt*顧客姓名查詢終了!請(qǐng)按Enter鍵繼續(xù)!*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 filename; struct product *p; struct sell *p;p=head-next;p=head-next;printf(請(qǐng)輸入保管途徑:n);rewind(stdin);gets(filename);rewind(std

溫馨提示

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

評(píng)論

0/150

提交評(píng)論