版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、僚!3“看車(chē)工此學(xué)院HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGYC語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)題目:學(xué)生信息管理系統(tǒng)專(zhuān)業(yè):電氣工程及其自動(dòng)化班級(jí):商品銷(xiāo)售管理姓名:W成績(jī):完成日期:2012年6月18日2012年6月22日指導(dǎo)教師:史旅華梅琴1. 課程設(shè)計(jì)目的22. 需求分析22.1 要求22.2 任務(wù)描述22.3 運(yùn)行環(huán)境32.4 開(kāi)發(fā)工具33. 總體設(shè)計(jì)43.1 系統(tǒng)流設(shè)計(jì)43.2 系統(tǒng)模塊設(shè)計(jì)44. 詳細(xì)設(shè)計(jì)54.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)54.2 模塊接口設(shè)計(jì)74.3 以下是幾個(gè)主要模塊的流程圖:85. 運(yùn)行結(jié)果125.1 主菜單界面:125.2 信息錄入界面:13
2、5.3 信息瀏覽界面:145.4 信息查詢(xún)界面:155.5 信息修改界面:156. 程序調(diào)試與測(cè)試186.1 程序調(diào)試196.2 程序測(cè)試207. 問(wèn)題與不足238. 建議239. 編程體會(huì)2310. 程序源代碼:2411. 參考文獻(xiàn)4312. 用戶(hù)使用手冊(cè)441. 課程設(shè)計(jì)目的1) 通過(guò)課程設(shè)計(jì),加深對(duì)結(jié)構(gòu)化程序設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)。2) 通過(guò)課程設(shè)計(jì),進(jìn)一步掌握C語(yǔ)言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運(yùn)用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。3) 通過(guò)課程設(shè)計(jì),提高程序開(kāi)發(fā)能力,能運(yùn)用合理的控制流編寫(xiě)清晰高效的程序。4) 通過(guò)課程設(shè)計(jì),培養(yǎng)C語(yǔ)言知識(shí)運(yùn)用和自
3、學(xué)能力,真正的把課堂上獲得的知識(shí)運(yùn)用起來(lái),培養(yǎng)自己對(duì)程序編寫(xiě)的興趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個(gè)小型系統(tǒng)。5) 通過(guò)課程設(shè)計(jì),加強(qiáng)了自己的程序分析能力。2. 需求分析2.1 要求1) 遵循軟件開(kāi)發(fā)過(guò)程的基本規(guī)范;能靈活應(yīng)用,初步具備運(yùn)用C程序解決實(shí)際問(wèn)題的能力。2) 運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法,按照課程設(shè)計(jì)題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫(xiě)代碼、調(diào)試和測(cè)試C程序等過(guò)程。3) 學(xué)會(huì)利用數(shù)組、結(jié)構(gòu)體、鏈表進(jìn)行相關(guān)信息表示。4) 功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡的功能描述5) 各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實(shí)現(xiàn),且調(diào)用入口、功能、出口等關(guān)
4、系正確。6) 所設(shè)計(jì)的C程序較好的可讀性和可靠性;程序書(shū)寫(xiě)風(fēng)格規(guī)范,注釋清晰。7) 界面友好(良好的人機(jī)互交),凡需要輸入信息時(shí),都有較詳盡的提示信息,并對(duì)輸入信息有較完善的值域分析。8) 程序經(jīng)上機(jī)調(diào)試通過(guò),不應(yīng)出現(xiàn)語(yǔ)法型、功能型錯(cuò)誤,并獲得滿(mǎn)意的結(jié)果。9) 學(xué)會(huì)通過(guò)各功能性測(cè)試用例測(cè)試程序的能力,盡可能避免原則性錯(cuò)誤的出現(xiàn)。10) 掌握編寫(xiě)、調(diào)試和測(cè)試C語(yǔ)言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。11) C語(yǔ)言課程設(shè)計(jì)報(bào)告的內(nèi)容反應(yīng)實(shí)際設(shè)計(jì)過(guò)程,且符合格式要求,無(wú)抄襲現(xiàn)象。2.2 任務(wù)描述此系統(tǒng)以鍵盤(pán)輸入和導(dǎo)入文件獲得商品信息,通過(guò)選擇操作碼實(shí)現(xiàn)錄入信息、查詢(xún)信息、保持你信息等不
5、同的功能。具體有以下功能:1) 顯示主界面并提示用戶(hù)選擇。2) 導(dǎo)入商品信息:實(shí)現(xiàn)從鍵盤(pán)輸入或從文件導(dǎo)入10個(gè)商品信息。3) 輸入銷(xiāo)售記錄:從鍵盤(pán)輸入銷(xiāo)售記錄,以進(jìn)行下面的查詢(xún)。4) 按編號(hào)查詢(xún)銷(xiāo)售歷史:根據(jù)輸入的商品編號(hào)從銷(xiāo)售信息中顯出對(duì)應(yīng)的銷(xiāo)售信息。5) 按顧客姓名查詢(xún)銷(xiāo)售歷史:根據(jù)輸入的顧客姓名在輸入的銷(xiāo)售記錄查詢(xún)其購(gòu)買(mǎi)的商品信息。6) 計(jì)算時(shí)間段內(nèi)銷(xiāo)售總額:更具輸入的時(shí)間從銷(xiāo)售信息中計(jì)算銷(xiāo)售總和。7) 顯示顧客信息:從銷(xiāo)售記錄中抽取并顯示顧客姓名。8) 保存銷(xiāo)售信息:保存所輸入的銷(xiāo)售信息。9) 保存顧客信息:保存顧客的編碼及姓名。10) 退出:退出系統(tǒng),謝謝使用。2.3 運(yùn)行環(huán)境1)
6、WindowsXP/7系統(tǒng)2) VC+6.0編譯環(huán)境2.4 開(kāi)發(fā)工具C語(yǔ)言3. 總體設(shè)計(jì)3.1 系統(tǒng)流設(shè)計(jì)3.2 系統(tǒng)模塊設(shè)計(jì)1)主菜單界面:構(gòu)造函數(shù)intselect(),實(shí)現(xiàn)系統(tǒng)主菜單的顯示。2)商品信息導(dǎo)入:構(gòu)造函數(shù)voidEnter_productmessage(),實(shí)現(xiàn)商品信息的導(dǎo)入及顯示。并通過(guò)分別調(diào)用函數(shù)voidcomp()和voidfile(),實(shí)現(xiàn)從鍵盤(pán)輸入信息和通過(guò)文件導(dǎo)入信息。3)輸入銷(xiāo)售記錄:構(gòu)造函數(shù)voidCreat(),實(shí)現(xiàn)對(duì)從鍵盤(pán)輸入銷(xiāo)售記錄并通過(guò)調(diào)用intjudgech(char*a)、intjudgedate(chardate10)函數(shù)判斷商品名、銷(xiāo)售日期是否
7、合法。4)按編號(hào)查詢(xún)銷(xiāo)售歷史:構(gòu)造函數(shù)voidSearch_num(),實(shí)現(xiàn)從鍵盤(pán)輸入商品編號(hào)查詢(xún)?cè)摼幪?hào)對(duì)應(yīng)商品的銷(xiāo)售記錄。5)按顧客姓名查詢(xún)銷(xiāo)售歷史:構(gòu)造函數(shù)voidSaerch_customername(),實(shí)現(xiàn)從鍵盤(pán)輸入顧客姓名查詢(xún)?cè)擃櫩偷馁?gòu)買(mǎi)歷史信息。如果沒(méi)有該顧客信息可選擇新建該顧客銷(xiāo)售記錄。6)計(jì)算各時(shí)段內(nèi)銷(xiāo)售總額:構(gòu)造函數(shù)voidSearch_date(),實(shí)現(xiàn)從鍵盤(pán)輸入日期并調(diào)用intjudgedate(chardate10)判斷日期輸入是否合法查詢(xún)從輸入時(shí)間導(dǎo)系統(tǒng)時(shí)間內(nèi)的銷(xiāo)售總額。7)顯示顧客姓名:構(gòu)造函數(shù)voidPrintf_customername(),實(shí)現(xiàn)顯示所有顧客的
8、姓名。8)保存銷(xiāo)售信息:構(gòu)造函數(shù)voidSave_product(),實(shí)現(xiàn)保存銷(xiāo)售商品的信息。9)保存顧客信息:構(gòu)造函數(shù)voidSave_customername(),實(shí)現(xiàn)保存顧客的信息。10)退近:構(gòu)造函數(shù)voidExit(),實(shí)現(xiàn)退出系統(tǒng),顯示“謝謝使用”。4.詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的數(shù)據(jù)信息,其結(jié)構(gòu)如下:數(shù)據(jù)項(xiàng)名稱(chēng)數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度備注冏品名稱(chēng)productnamechar20必須漢子冏品編碼numint商品產(chǎn)地placechar30必須漢子商品價(jià)格pricefloat顧客名字namechar20必須漢子顧客購(gòu)買(mǎi)編碼numint顧客購(gòu)買(mǎi)數(shù)量co
9、untint顧客購(gòu)買(mǎi)日期datechar10顧客編碼IDint根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的類(lèi)別信息,其結(jié)構(gòu)如下:類(lèi)別代號(hào)datecoutIDname類(lèi)別名稱(chēng)銷(xiāo)售日期銷(xiāo)售數(shù)量顧客編碼顧客名字為了能實(shí)現(xiàn)不受限制的增加商品,各科信息,采用鏈表的結(jié)構(gòu)保存商品和銷(xiāo)售信息,在增加商品和顧客的基本信息時(shí),分別創(chuàng)建一個(gè)對(duì)應(yīng)的節(jié)點(diǎn),將其插入到對(duì)應(yīng)的鏈表中,示意圖如下。為此,先聲明一個(gè)類(lèi)型為 struct product和sturct sell的結(jié)構(gòu)體,對(duì)應(yīng)的成員分別為商品編碼、商品名稱(chēng)、商品售價(jià)、商品產(chǎn)地商品庫(kù)存和顧客代碼、顧客姓 名、商品編碼、銷(xiāo)售數(shù)量、銷(xiāo)售日期信息。然后通過(guò)對(duì)指針、鏈表、文件等數(shù)據(jù)結(jié) 構(gòu)的
10、操作,實(shí)現(xiàn)對(duì)商品和顧客信息的錄入、查詢(xún)、瀏覽等一系列操作。其中,結(jié)構(gòu)體定義如下:struct productint num;char productname20;float price;char place30;int storage;struct product *next;*head,*p1 , *p2;、struct timeint year;int month;int day;/定義商品數(shù)據(jù)結(jié)構(gòu)/冏品編號(hào)/商品名稱(chēng)/商品售價(jià)/商品產(chǎn)地/商品庫(kù)存/定義時(shí)間結(jié)構(gòu)體/年/月/天struct sell/定義銷(xiāo)售數(shù)據(jù)結(jié)構(gòu)int ID;char customername20;int num;int
11、 count;char date10;struct sell * nextl;*head1;4.2模塊接口設(shè)計(jì)1)所有函數(shù)模塊聲明如下:int select();void Enter_productmessage();void Creat();void Search_num();void Search_customername();void Search_date();void Printf_customername();void Save_product();void Save_customername();void Exit();int judgech(char *a)int judged
12、ate(char date10)void file()void comp()/顧客代碼/顧客姓名/冏品編號(hào)/銷(xiāo)售數(shù)量/日期/主菜單函數(shù)/導(dǎo)入商品信息/導(dǎo)入銷(xiāo)售記錄/按編號(hào)查詢(xún)銷(xiāo)售歷史/按顧客姓名查詢(xún)購(gòu)買(mǎi)歷史/計(jì)算時(shí)間段內(nèi)銷(xiāo)售總額/顯示顧客信息/保存銷(xiāo)售信息/保存顧客信息/退出程序/判斷是否為漢字/判斷日期是否合法/從文件導(dǎo)入商品信息/從鍵盤(pán)輸入商品信息2)主要模塊的實(shí)現(xiàn)系統(tǒng)以主函數(shù)intmain()為入口,首先通過(guò)intselect()函數(shù),顯示課程設(shè)計(jì)名稱(chēng)、作者信息及主菜單。提示用戶(hù)選擇,系統(tǒng)接收用戶(hù)輸入的選擇,通過(guò)主函數(shù)根據(jù)用戶(hù)選擇進(jìn)行判斷,選擇合法后調(diào)用相應(yīng)的函數(shù),進(jìn)入到下一級(jí)菜單進(jìn)行,
13、在下一個(gè)功能中進(jìn)行對(duì)應(yīng)的工作4.3以下是幾個(gè)主要模塊的流程圖:1)主菜單函數(shù):2)信息導(dǎo)入函數(shù):3)輸入商品信息函數(shù)4)按編碼查詢(xún)函數(shù)輸入商品的信息5)按顧客姓名查詢(xún)函數(shù)返回主菜單返回主菜單輸入要查詢(xún)商品的輸入要“到商品的編碼顯示彳肯息以6)時(shí)間段內(nèi)銷(xiāo)售總額函數(shù)顯示信息輸入要查詢(xún)時(shí)間段7)保存銷(xiāo)售商品信息函數(shù)8)保存顧客信息函數(shù)輸入保存文件名5.運(yùn)行結(jié)果5.1 主菜單界面:顯示信息保存成功*欣迎"史用商品箱售管理?xiàng)n統(tǒng)*請(qǐng)輸入您的注擇總楚數(shù)X.3E主菜單界口桌一息息息S12345G78M-售封錯(cuò)三口衛(wèi)旬生內(nèi)在且1115款查靜Gfl銳一1號(hào)癖時(shí)顧情顧Ais¥8'C:U鋪
14、rsureDe$口。p'比軍、Debu語(yǔ)言.exe,信息導(dǎo)入界面'C:Uersu50Desktop、第RDEbug:語(yǔ)言ejce,.txtHMXMMMHXliIMfNUNWIiiJiaKMXMHXWrKXKWKMHM:編號(hào)1T后的整數(shù)3名稱(chēng)誠(chéng)字)咻粽數(shù)尹產(chǎn)地漢字庫(kù)存皴量MKHMMXHMKMMrK>M<M>EXMHMMMMMMKC9-MtMMMMMMHKMMMMMKMMXMMXMMMM9cMMMMHX>EXMMMMMMM水鞋機(jī)著腦礦面杯H口電雷2.S01.5U15.幽20.8025.66200.091000.0EI00e.ee2曬.胸6000.06二0B6
15、10Q6000000100Q1006數(shù)據(jù)類(lèi)信息操作成功,請(qǐng)按Ent”握繼續(xù)H?從文件導(dǎo)入信息界面從鍵盤(pán)輸入商品信息5.3銷(xiāo)售信息錄入界面:從鍵盤(pán)輸入銷(xiāo)售信息從鍵盤(pán)中輸入要查詢(xún)的商品編碼,進(jìn)行查詢(xún),并顯示結(jié)果5.5按顧客姓名信息界面:從鍵盤(pán)輸入要查詢(xún)顧客的姓名,進(jìn)行查詢(xún),并顯示結(jié)果。5.6查詢(xún)時(shí)間段內(nèi)信息界面:從鍵盤(pán)輸入兩個(gè)時(shí)間,查詢(xún)改時(shí)間內(nèi)的銷(xiāo)售信息,是結(jié)果1.7 顯示顧客姓名uj回保存顧客學(xué)名1.8 保存銷(xiāo)售商品信息保存銷(xiāo)售商品信息5.9保存顧客信息保存顧客信息5.10退出程序51'C:MJwnusre>esctopiDetHJW.exe"=回責(zé)謝使用continue
16、退出程序6 .程序調(diào)試與測(cè)試6.1 程序調(diào)試導(dǎo)入商品信息模塊"C:Useru5reDeslrtopDebugiaWexe,適輸入讀入文件路徑"七"XPfiPIMfMEXKlIEXMT*XJfXJfK*MKJtJt商品信編號(hào)&ID的整數(shù)名郡漢字、竹落激字產(chǎn)地放字庫(kù)存數(shù)量第1個(gè)商品編碼?請(qǐng)重新輸入一1目)=MM MH MKM第工人商品數(shù)量錯(cuò)誤?請(qǐng)輸入1的。壯目2.001.5015.082H.0A25.00200.031000.064曲姻.血2000.906000.39濱 西泉陽(yáng)江春 士舞式南山陂哈沈漸長(zhǎng)1QUU 1Q80 1曬 曬1003 1003 1003
17、1MUU1Q99 1093數(shù)據(jù)美信息操年成珈清按Ee尸鍵M續(xù)H從文件導(dǎo)入,CJ:U.e0u$reDe5lrtopiSDebugi=.£?ce"已從文件導(dǎo)入的個(gè)數(shù)和要輸入的個(gè)數(shù)和不超過(guò)十,?請(qǐng)輸入要導(dǎo)入的銷(xiāo)售記錄個(gè)數(shù)二品"1 百,息7舞圣 MMX麻充*,*=班*蓑MM3CMMSMMSHX父梵魏XKJiMltMSM.尚編號(hào)整教名稱(chēng)漢字11 shui 510800價(jià)格溫壬I聲地雙字)庫(kù)存數(shù)量商品數(shù)量錯(cuò)誤f清輸入000;1008水S-MW武漢1MWM是否維經(jīng)輸入信息50?從鍵盤(pán)輸入輸入銷(xiāo)售記錄6.2程序測(cè)試查詢(xún):輸入數(shù)字大于10輸入1輸入錯(cuò)誤顧客姓名真確姓名輸入時(shí)間段不符
18、合(2011-05-052011-05-05)F :胡曲 Debug'語(yǔ)言 £加".尸_回i3"T7 .問(wèn)題與不足(1)題目重要求判斷是否是漢字,要求時(shí)間調(diào)用系統(tǒng)時(shí)間。但是由于這些并不會(huì),所以借用了判斷漢子。但調(diào)用時(shí)間任然不會(huì)。Y/y后輸入下一條。(2)在設(shè)計(jì)中不能一次輸入多條商品信息和多條銷(xiāo)售記錄,而是需選擇(3)沒(méi)有設(shè)計(jì)一個(gè)判斷商品信息是否錯(cuò)誤的函數(shù)。(4)在編碼中由于沒(méi)有判斷商品信息是否合法的函數(shù),使程序很長(zhǎng)。有些是反復(fù)使用,有些語(yǔ)句顯得太羅嗦。(5)在調(diào)試時(shí),如果看提示信息,不按要求而是亂輸可能會(huì)導(dǎo)致程序不能正常運(yùn)行或者結(jié)果錯(cuò)誤。8.建議在本次課設(shè)
19、中,在時(shí)間上我覺(jué)得時(shí)間有點(diǎn)短,雖然差不多是兩個(gè)周,但是由于要準(zhǔn)備考試所以不能完全投入到課設(shè)中去。課設(shè)的題目分配時(shí)難易度不一樣,而又不是自己選取題目,這樣對(duì)于學(xué)得好的與學(xué)的差的所接受的任務(wù)不符合。對(duì)我自己來(lái)說(shuō),我的題目讓同學(xué)幫忙,基本都說(shuō)鏈表不會(huì)。在輔導(dǎo)時(shí)候老師只有兩個(gè),有時(shí)候有問(wèn)題卻沒(méi)有老師。等老師有時(shí)間我們自己又不想弄了。在以后的課設(shè)中,我希望老師按照個(gè)人所學(xué)的程度來(lái)分配難易的題目或者都是一樣的題目,當(dāng)然我知道老師也有老師的道理,但是學(xué)習(xí)是自己的事,想抄襲的人不管啥樣的題目他都會(huì)抄襲的。在時(shí)間上可以放寬一些以便程序更完美。輔導(dǎo)老師辛苦些,多加幾個(gè)老師輔導(dǎo)更多的學(xué)生。9.編程體會(huì)通過(guò)這次課設(shè),
20、我知道了自己C語(yǔ)言不懂不會(huì)的地方,在前面學(xué)習(xí)的知識(shí)后來(lái)不能靈活運(yùn)用,有些東西雖然當(dāng)時(shí)覺(jué)得很簡(jiǎn)單,也掌握了,但是到自己用的時(shí)候卻總是出錯(cuò)!自從上了結(jié)構(gòu)體之后,C語(yǔ)言的學(xué)習(xí)難度加大,但我依舊不重視,和前面一樣的學(xué)習(xí)。結(jié)果后面的全聽(tīng)不懂,特別是鏈表和指針。本次的課設(shè)編程題目對(duì)我來(lái)說(shuō)是很難的。里面要用到鏈表指針但通過(guò)課設(shè),這些都是我不會(huì)的。通過(guò)請(qǐng)教同學(xué)和老師總算編好了程序,同時(shí)對(duì)鏈表和指針有些了解,雖然用的不靈活但知道了怎么用。編完程序我反思自己的學(xué)習(xí),發(fā)現(xiàn)學(xué)習(xí)C語(yǔ)言只看懂書(shū)是沒(méi)用的,平時(shí)要多練習(xí)。當(dāng)然不是簡(jiǎn)單的題,而是難題。在練習(xí)難題的時(shí)候多思考,運(yùn)用不同的方法解決問(wèn)題。遇到不懂的要問(wèn)老師問(wèn)同學(xué)或者
21、看書(shū)來(lái)解決??傊?,在課設(shè)中我清楚的認(rèn)識(shí)了自己C語(yǔ)言的現(xiàn)狀,在經(jīng)后的練習(xí)中我會(huì)努力克服不足學(xué)好C語(yǔ)言、靈活運(yùn)用C語(yǔ)言。10.程序源代碼:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<malloc.h>/ 定義商品數(shù)據(jù)結(jié)構(gòu)/ 商品編號(hào)/ 商品名稱(chēng)/ 商品售價(jià)/ 商品產(chǎn)地/ 商品庫(kù)存structproductintnum;charproductname20;floatprice;charplace30;intstorage;structproduct*next;*head,*
22、p1,*p2;struct time/定義主結(jié)構(gòu)體數(shù)組和備用結(jié)構(gòu)體數(shù)組及指針/定義時(shí)間結(jié)構(gòu)體intyear;intmonth;intday;struct sellint ID;char customername20;int num;int count;char date10;struct sell * next1;*head1;/*/ 定義銷(xiāo)售數(shù)據(jù)結(jié)構(gòu)/ 顧客代碼/ 顧客姓名/ 商品編號(hào)/ 銷(xiāo)售數(shù)量/ 日期/ 定義頭指針head, 緩沖指針 p1, 以及尾指針p2函數(shù)申明 */void Enter_productmessage();/ 導(dǎo)入商品信息void Creat();void Searc
23、h_num();void Search_customername();void Printf_customername();void Search_date();void Save_product();void Save_customername();void Exit();/ 輸入銷(xiāo)售記錄/ 按編號(hào)查詢(xún)銷(xiāo)售歷史/ 按顧客姓名查詢(xún)購(gòu)買(mǎi)歷史/ 顯示顧客信息/ 計(jì)算時(shí)間段內(nèi)銷(xiāo)售總額/ 保存銷(xiāo)售信息/ 保存顧客信息/ 退出程序/*、 t t - ,、/, 主菜單*/intselect()intc;printf("tt*歡迎使用商品銷(xiāo)售管理程序*n");n");print
24、f("ttT1123-5班胡軍一分耕耘一分收獲printf("nn");printf("n");printf("tt*n");printf("tt*歡迎使用商品銷(xiāo)售管理系統(tǒng)*n");printf("tt*n");printf("tt*1:導(dǎo)入商品信息*n");printf("tt*2:輸入銷(xiāo)售記錄*n");printf("tt*3:按編號(hào)查詢(xún)銷(xiāo)售歷史*n");printf("tt*4:按顧客姓名查詢(xún)購(gòu)買(mǎi)歷史*n&qu
25、ot;);printf("tt*5:計(jì)算時(shí)段內(nèi)各銷(xiāo)售總額*n");printf("tt*6:顯示顧客信息*n");printf("tt*7:保存銷(xiāo)售信息*n");printf("tt*8:保存顧客信息*n");printf("tt*0:退出*n");printf("tt*n");printf("nn");printf("tt請(qǐng)輸入您的選擇(08的整數(shù)):");scanf("%d",&c);returnc;/*
26、主函數(shù)*/intmain()for(;)switch(select()case1:system("cls");Enter_productmessage();break;case2:system("cls");Creat();break;case3:system("cls");Search_num();break;case4:system("cls");Search_customername();break;case5:system("cls");Search_date();break;case6
27、:system("cls");Printf_customername();break;case7:system("cls");Save_product();break;case8:system("cls");Save_customername();break;case0:system("cls");Exit();break;default:system("cls");printf("nnnnnn");printf("tt*n");printf("
28、tt*輸入錯(cuò)誤!請(qǐng)重新輸入您的選擇(08*n");printf("tt*請(qǐng)按Enter鍵*n");printf("tt*n");getchar();getchar();system("cls");return0;的整數(shù))返回!/*/intjudgech(char*a)inti,flag;for(i=0;ai!='0'i+)if(ai>=0)flag=0;break;elseflag=1;returnflag;/判斷是否為漢字intjudgedate(chardate10)inti,year,month,
29、day,s1=0;for(i=0;i<10;i+)if(datei='0')/判斷日期是否合法/日期格式輸入正確則s1=1,否則s1=0s1=0;break;if(date4='-'&&date7='-')if(strlen(date)=10)year=1000*(date0-48)+100*(date1-48)+10*(date2-48)+(date3-48);/年月日month=10*(date5-48)+(date6-48);day=10*(date8-48)+(date9-48);if(i=10)if(year%4=
30、0&&month=2&&day>0&&day<=29)s1=1;elseif(year%4!=0&&month=2&&day>0&&day<=28)s1=1;elseif(month=1|month=3|month=5|month=7|month=8|month=10|month=12)&&day>0&&day<=31)s1=1;elseif(month=4|month=6|month=9|month=11)&&da
31、y>0&&day<=30)s1=1;returns1;voidfile()/讀入文件操作inti=0,m=0,k=1,j=1,c=1,o=1,v=1;FILE*fp;charfilename30;printf("請(qǐng)輸入讀入文件路徑:");rewind(stdin);gets(filename);rewind(stdin);p1=p2=head=(structproduct*)malloc(sizeof(structproduct);if(fp=fopen(filename,"r+")=NULL)printf("tt*
32、n");printf("tt*導(dǎo)入信息文件錯(cuò)誤!請(qǐng)檢查文件路徑!*n");printf("tt*n");getchar();system("cls");Enter_productmessage();printf("*商品信息printf(" 編號(hào) (1-10 的整數(shù) ) 名稱(chēng)(漢字)*價(jià)格(數(shù)字)產(chǎn)地(漢字)*n");庫(kù)存數(shù)量n");printf("*n");while(!feof(fp)p1=(structproduct*)malloc(sizeof(struct
33、product);p2->next=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->num>10|p2->num<=0)printf("t*n");printf("tt第個(gè)商品編碼!請(qǐng)重新輸入(1-10):",i+1);rewind(stdin);sc
34、anf("%d",&p2->num);k=1;elsek=0;while(j=1)if(judgech(p2->productname)=0)printf("tt第個(gè)商品名稱(chēng)錯(cuò)誤!請(qǐng)重新輸入(漢字):",i+1);rewind(stdin);scanf("%s",p2->productname);j=1;elsej=0;while(o=1)if(p2->price<=0)printf("tt第個(gè)商品價(jià)格錯(cuò)誤!請(qǐng)重新輸入價(jià)格(>0):",i+1);rewind(stdin)
35、;scanf("%f",&p2->price);o=1;elseo=0;while(c=1)if(judgech(p2->place)=0)printf("tt第個(gè)商品產(chǎn)地格式錯(cuò)誤!請(qǐng)重新輸入(漢字):",i+1);rewind(stdin);scanf("%s",p2->place);c=0;elsec=0;while(v=1)if(p2->storage!=1000)printf("t*n");printf("tt第個(gè)商品數(shù)量錯(cuò)誤!請(qǐng)輸入1000:",i+1)
36、;rewind(stdin);scanf("%d",&p2->storage);v=1;elsev=0;printf("t%-12d%-15s%-15.2f%-15s%-12dn",p2->num,p2->productname,p2->price,p2->place,p2->storage);fclose(fp);voidcomp()FILE*fp;inti=0,n,k=1,m=1,c=1,l=1,d=1;charfilename20,a;printf("t請(qǐng)輸入商品信息保存路徑:");r
37、ewind(stdin);gets(filename);p1=p2=head=(structproduct*)malloc(sizeof(structproduct);if(fp=fopen(filename,"a+")=NULL)printf("tt*n");printf("tt*不能打開(kāi)文件!請(qǐng)檢查文件路徑!printf("tt*n");getchar();system("cls");Enter_productmessage();printf("nnn");*n");pr
38、intf("tt* printf("tt* printf("tt* printf("tt* printf("tt*n");若輸入路徑與從文件導(dǎo)入商品信息路徑相同并已導(dǎo)入十個(gè)商品信息 , 請(qǐng)不要再導(dǎo)入 !注意商品編號(hào)不要和已導(dǎo)入的編碼重復(fù) !*n");!*n");*n");*n");printf("nnn");getchar();system("cls");printf("t 已從文件導(dǎo)入的個(gè)數(shù)和要輸入的個(gè)數(shù)和不超過(guò)十printf("t
39、請(qǐng)輸入要導(dǎo)入的銷(xiāo)售記錄個(gè)數(shù) :");scanf("%d",&n);if(n>0)dop1=(struct product*)malloc(sizeof(struct product);p2->next=p1;p1->next=NULL;p2=p1;printf("*n");printf(" 編號(hào) (整數(shù) ) 名稱(chēng) (漢字 ) 價(jià)格 (數(shù)字 )!nn");產(chǎn)地(漢字)庫(kù)存數(shù)量 n");scanf("%d%s%f%s%d",&p2->num,p2->pr
40、oductname,&p2->price,p2->place,&p2->storage);while(k=1)if(p2->num>10|p2->num<=0)printf("t*n");printf("tt商品編碼!請(qǐng)重新輸入(1-10):");rewind(stdin);scanf("%d",&p2->num);k=1;elsek=0;while(m=1)if(judgech(p2->productname)=0)printf("tt商品名稱(chēng)錯(cuò)
41、誤!請(qǐng)重新輸入(漢字):");rewind(stdin);scanf("%s",p2->productname);m=1;elsem=0;while(l=1)if(p2->price<=0)printf("tt商品價(jià)格錯(cuò)誤!請(qǐng)重新輸入價(jià)格(>0):");rewind(stdin);scanf("%f",&p2->price);l=1;elsel=0;while(c=1)if(judgech(p2->place)=0)printf("tt商品產(chǎn)地格式錯(cuò)誤!請(qǐng)重新輸入(漢字)
42、:");rewind(stdin);scanf("%s",p2->place);c=1;elsec=0;while(d=1)if(p2->storage!=1000)printf("t*n");printf("tt商品數(shù)量錯(cuò)誤!請(qǐng)輸入1000:");rewind(stdin);scanf("%d",&p2->storage);d=1;elsed=0;p2=head->next;fprintf(fp,"n%-6d%-6s%-6.2f%-6s%-6dn",p
43、2->num,p2->productname,p2->price,p2->place,p2->storage);printf("n%-6d%-6s%-6.2f%-6s%-6dn",p2->num,p2->productname,p2->price,p2->place,p2->storage);printf("tt是否繼續(xù)輸入信息(Y/N)?n");getchar();a=getchar();while(a='Y'|a='y');fclose(fp);/關(guān)閉文件夾i
44、f(n=0)printf("tt不從鍵盤(pán)輸入入信息!");getchar();getchar();system("cls");fclose(fp);/關(guān)閉文件夾voidEnter_productmessage()/導(dǎo)入銷(xiāo)售信息inta;printf("t* printf("t* printf("t* printf("t* printf("t* printf("t*n");*n");*n");*n");請(qǐng)輸入10種產(chǎn)品的信息-編號(hào)、名稱(chēng)、價(jià)格、產(chǎn)地、數(shù)量1:
45、通過(guò)文件導(dǎo)入(推薦)!2:通過(guò)鍵盤(pán)輸入!*n");請(qǐng)輸入您的選擇(1或2):");scanf("%d",&a);getchar();system("cls");if(a!=1&&a!=2)printf("tt輸入錯(cuò)誤!請(qǐng)重新輸入您的選擇(1或2):");scanf("%d",&a);switch(a)case1:system("cls");file();break;case2:system("cls");comp();bre
46、ak;printf("*n");printf("t*n");printf("t*數(shù)據(jù)類(lèi)信息操作成功!請(qǐng)按Enter鍵繼續(xù)!*n");printf("t*n");getchar();getchar();system("cls");voidCreat()/輸入銷(xiāo)售信息函數(shù)inti=0,k=1,code;chara;structsell*p3,*p4;srand(0);code=1+rand()%90;p3=p4=head1=(structsell*)malloc(sizeof(structsell)
47、;p3=head1;printf("tt請(qǐng)輸入銷(xiāo)售記錄:n");printf("dop3=(structsell*)malloc(sizeof(structsell);p4->next1=p3;p3->next1=NULL;/提示輸入記錄n");p4=p3;printf("顧客姓名(漢字)商品編號(hào)(YYYY-MM-DD)n");printf("(1-10的整數(shù))銷(xiāo)售數(shù)量(數(shù)字)銷(xiāo)售日期n");scanf("%s%d%d%s",p4->customername,&p4-&
48、gt;num,&p4->count,p4->date);/輸入記錄doif(judgech(p4->customername)=0)printf("t*n");printf("tt顧客名字輸入錯(cuò)!請(qǐng)重新輸入顧客名字(漢字):");scanf("%s",p4->customername);rewind(stdin);k=1;elsek=0;while(k=1);doif(p4->num>10|p4->num<=0)printf("t*n");printf("tt商品編碼!請(qǐng)重新輸入(1-10):");scanf("%d",&p4->num);rewind(stdin);k=1;elsek=0;while(k=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車(chē)運(yùn)輸行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 便攜式取暖器產(chǎn)品供應(yīng)鏈分析
- 碗碟晾干架項(xiàng)目營(yíng)銷(xiāo)計(jì)劃書(shū)
- 紙制筷子套細(xì)分市場(chǎng)深度研究報(bào)告
- 醫(yī)用或獸醫(yī)用培養(yǎng)細(xì)菌用介質(zhì)產(chǎn)品供應(yīng)鏈分析
- 醫(yī)用減肥茶產(chǎn)品供應(yīng)鏈分析
- 體育訓(xùn)練服務(wù)行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 電腦游戲操縱桿用充電器項(xiàng)目運(yùn)營(yíng)指導(dǎo)方案
- 物位變送器項(xiàng)目營(yíng)銷(xiāo)計(jì)劃書(shū)
- 樂(lè)譜架產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 醫(yī)院優(yōu)質(zhì)護(hù)理服務(wù)評(píng)價(jià)細(xì)則
- 中國(guó)民歌介紹課件
- 《望天門(mén)山》-優(yōu)質(zhì)課件
- 高中數(shù)學(xué)必修一黃岡中學(xué)試卷(內(nèi)含答案)
- 學(xué)寫(xiě)一種植物(三年級(jí)作文指導(dǎo))課件
- 加油站安全承諾書(shū)
- 豬的呼吸道疾病課件
- (中職) 電子商務(wù)基礎(chǔ)(第二版)教案
- 氣溫和氣溫的分布 詳細(xì)版課件
- 汽車(chē)品牌保時(shí)捷課件
- 人教版數(shù)學(xué)三年級(jí)上冊(cè)《分?jǐn)?shù)的初步認(rèn)識(shí)》課件 (共7張PPT)
評(píng)論
0/150
提交評(píng)論