版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、汽車零部件采購(gòu)管理第0頁(yè)共48頁(yè)制作人:徐倩HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)題目:汽車零部件采購(gòu)管理業(yè):電子信息工程(汽車電子)T1323-15名:徐倩績(jī):血Info%*Om mD6汽車零部件采購(gòu)管理第1頁(yè)共48頁(yè)制作人:徐倩完成日期:2014年 19 周指導(dǎo)教師:吳年志目錄C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告1.課程設(shè)計(jì)目的2.-需求分析-2.1要求-2.2任務(wù)描述-2.3運(yùn)行環(huán)境-2.4開發(fā)工具-3.-總體設(shè)計(jì)-3.1系統(tǒng)流設(shè)計(jì)-_ 3.2系統(tǒng)模塊設(shè)計(jì)-4.-詳細(xì)設(shè)計(jì)-4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)-4.2模塊接口設(shè)計(jì)-1)所 有
2、函 數(shù) 聲 明-2)全局變量 -3)主要模塊的實(shí)現(xiàn)4.3主要功能模塊的流程圖5.-運(yùn)行結(jié)果-5.15.28-8-9-91111歡迎界面-主菜單頁(yè)面135.35.45.55.6信息查詢頁(yè)面統(tǒng)計(jì)菜單頁(yè)面顯示信息頁(yè)面退 出 頁(yè) 面-12151516161717汽車零部件采購(gòu)管理6.程序調(diào)試與測(cè)試6.1主菜單選擇測(cè)試-6.2采購(gòu)信息未從文件讀入6.3采購(gòu)信息輸入調(diào)試-18第2頁(yè)共48頁(yè)制作人:徐倩1818197.問題與不足8建議-編程體會(huì)-程序源代碼232424241)2)通過課程設(shè)計(jì),加深對(duì)結(jié)構(gòu)化程序設(shè)計(jì)思想的理解, 系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)。通過課程設(shè)計(jì),進(jìn)一步掌握C語(yǔ)言中重要的數(shù)
3、據(jù)結(jié)構(gòu)。 掌 握并熟練運(yùn)用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。能對(duì)3)4)5)通過課程設(shè)計(jì),提高程序開發(fā)能力,能運(yùn)用合理的控制流 編寫清晰高效的程序。通過課程設(shè)計(jì),培養(yǎng)C語(yǔ)言知識(shí)運(yùn)用和自學(xué)能力, 把課堂上獲得的知識(shí)運(yùn)用起來, 培養(yǎng)自己對(duì)程序編寫的 趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個(gè)小型系統(tǒng)。通過課程設(shè)計(jì),加強(qiáng)了自己的程序分析能力真正的八2.2.需求分析2.1要求1)遵循軟件開發(fā)過程的基本規(guī)范;能靈活應(yīng)用,初步具備運(yùn)用C程序解決實(shí)際問題的能力。2)運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法, 按照課程設(shè)計(jì)題目要求, 包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編完成汽車零部件采購(gòu)管理6.程序調(diào)試與測(cè)試6.1主菜單選擇測(cè)
4、試-6.2采購(gòu)信息未從文件讀入6.3采購(gòu)信息輸入調(diào)試-18第3頁(yè)共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第4頁(yè) 共48頁(yè)制作人:徐倩寫代碼、調(diào)試和測(cè)試C程序等過程。 學(xué)會(huì)利用數(shù)組、結(jié)構(gòu)體、鏈表進(jìn)行相關(guān)信息表示。程序經(jīng)上機(jī)調(diào)試通過,不應(yīng)出現(xiàn)語(yǔ)法型、 功能型錯(cuò)誤,并 獲得滿意的結(jié)果。學(xué)會(huì)通過各功能性測(cè)試用例測(cè)試程序的能力, 盡可能避免 原則性錯(cuò)誤的出現(xiàn)。10)掌握編寫、調(diào)試和測(cè)試C語(yǔ)言程序的基本技巧,充分 理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。11) C語(yǔ)言課程設(shè)計(jì)報(bào)告的內(nèi)容反應(yīng)實(shí)際設(shè)計(jì)過程, 且符合 格式要求,無抄襲現(xiàn)象。2.2任務(wù)描述已知在汽車生產(chǎn)時(shí),需要向零部件生產(chǎn)廠商采購(gòu)零部件, 設(shè)計(jì)一個(gè)汽車零部件
5、采購(gòu)管理程序,以方便采購(gòu)管理部門對(duì)采購(gòu)零部件的管理。 該單位每次采購(gòu)都有一個(gè)采購(gòu)編號(hào), 每 次采購(gòu)一種零部件。該程序應(yīng)該具有如下功能添加并保存采購(gòu)信息: 輸入采購(gòu)編號(hào), 零部件名稱,采購(gòu)員名字,采購(gòu)日期,采購(gòu)價(jià)格,采購(gòu)數(shù)量,供3)4)5)6)7)功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,詳盡的功能描述 各主要功能模塊有詳盡的流程圖及描述, 用函數(shù)的形式實(shí) 現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確。所設(shè)計(jì)的C程序較好的可讀性和可靠性; 程序書寫風(fēng)格規(guī) 范,注釋清晰。界面友好(良好的人機(jī)互交) ,凡需要輸入信息時(shí),都有 較詳盡的提示信息,并對(duì)輸入信息有較完善的值域分析。且有8)9)號(hào),號(hào),汽車零部
6、件采購(gòu)管理制作人:徐倩貨單位,需要判斷采購(gòu)價(jià)格和數(shù)量是否大于零,采 購(gòu)編號(hào)是否已存在,采購(gòu)日期是否合法(形如,例如2013-09-08)。的采購(gòu)編號(hào)的唯一性,采購(gòu)日期的合法性(形如,例如2013-09-08)。6)2.3運(yùn)行環(huán)境VC+6.0編譯環(huán)境2.4開發(fā)工具C語(yǔ)言3.3.總體設(shè)計(jì)3.1系統(tǒng)流設(shè)計(jì)程序整體功能結(jié)構(gòu)如圖一所示:2)根據(jù)采購(gòu)編號(hào)查詢零部件采購(gòu)信息3)根據(jù)零部件名稱查詢其采購(gòu)信息4)根據(jù)采購(gòu)編號(hào)修改已有采購(gòu)信息:需要判斷修改后5)根據(jù)采購(gòu)編號(hào)刪除此條采購(gòu)信息汽車零部件采購(gòu)管理第5頁(yè)共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第6頁(yè)共48頁(yè)制作人:徐倩讀 取文 件中 的采 購(gòu)信 息由采購(gòu)編
7、號(hào)查找零部件采購(gòu)信 息由零部件名稱查找其采購(gòu)信息刪除并保存余下采顯 示所 有采 購(gòu)信 息汽車零部件采購(gòu)管理V V第7頁(yè)共48頁(yè)制作人:徐倩3.23.2系統(tǒng)模塊設(shè)計(jì)1)圭寸面模塊函數(shù)void huanying()和函數(shù)void byebye()構(gòu)成圭寸面模塊,構(gòu)造和諧人機(jī)環(huán)境。2 2)菜單模塊函數(shù)void menu()和函數(shù)void choise()構(gòu)成選擇菜單,二級(jí)菜單void ton gji()構(gòu)成統(tǒng)計(jì)功能菜單。根據(jù)零部件名稱統(tǒng)計(jì)其總根據(jù)采購(gòu)員名字統(tǒng)計(jì)數(shù)量其采購(gòu)次數(shù)汽車零部件采購(gòu)管理第8頁(yè)共48頁(yè)制作人:徐倩3 3)查詢模塊函數(shù)void numshow()和函數(shù)void nameshow()
8、分別實(shí)現(xiàn)根據(jù)采購(gòu)編號(hào)和零部件名稱查詢采購(gòu)信息的功能,其中會(huì)有其他函數(shù)輔助。實(shí)現(xiàn)信息刪除功能,void inp ut()實(shí)現(xiàn)save()實(shí)現(xiàn)信息保存功能,void listCG()實(shí)現(xiàn)信息顯示功能,其中會(huì)有其他函數(shù)輔助。5 5)統(tǒng)計(jì)模塊函數(shù)int number()實(shí)現(xiàn)根據(jù)零部件名稱統(tǒng)計(jì)其總數(shù)量功能,int times()實(shí)現(xiàn)根據(jù)采購(gòu)員名字顯示其采購(gòu)次數(shù)的功能,其中會(huì)有其他函數(shù)輔助。函數(shù)void checkdate()使用標(biāo)志位方法實(shí)現(xiàn)對(duì)時(shí)間的審查。4.4.詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)要求,采購(gòu)信息包括:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注采購(gòu)編號(hào)P1-bu ynum字符串10零部件
9、名稱P 1-ite mn ame字符串10采購(gòu)日期P1-day字符串30采購(gòu)員名字P 1-buyername字符串104 4)信息處理模塊函數(shù)void change()實(shí)現(xiàn)信息修改功能,函數(shù)void disapperr()信息添加功能,void汽車零部件采購(gòu)管理第9頁(yè)共48頁(yè)制作人:徐倩采購(gòu)數(shù)量P1-cou nt整型4采購(gòu)價(jià)格P1- pr ice單精度8供貨單位P1-source字符串104.2模塊接口設(shè)計(jì)1 1)所有函數(shù)聲明viod huanyingO;/*封面函數(shù),顯示課程題目,學(xué)為了能實(shí)現(xiàn)系統(tǒng)的優(yōu)越性和c語(yǔ)言的精華采用鏈表的建立采購(gòu)信息記錄示意圖采購(gòu)信息2采購(gòu)信息1表采購(gòu)信息3汽車零部件
10、采購(gòu)管理第10頁(yè) 共48頁(yè)制作人:徐倩生信息*void menu();*主菜單函數(shù),顯示各項(xiàng)功能*void choise();/*根據(jù)主菜單選擇并執(zhí)行功能*void readinto();/*讀取文件內(nèi)的采購(gòu)信息*voidinput();*從鍵盤添加采購(gòu)信息并保存到文件中*void listCG();*顯示所有采購(gòu)信息*void numshow(); /*根據(jù)采購(gòu)編號(hào)查詢對(duì)應(yīng)采購(gòu)信息并顯示*void nameshow(); /*根據(jù)零部件名稱查詢其采購(gòu)信息并顯示*void change(); /*根據(jù)采購(gòu)編號(hào)修改并顯示采購(gòu)信息*void disapper();/*根據(jù)采購(gòu)編號(hào)刪除并顯示余下采購(gòu)
11、信息*void tongji();/*統(tǒng)計(jì)功能菜單,顯示兩項(xiàng)統(tǒng)計(jì)功能*intnumber();*根據(jù)零部件名稱統(tǒng)計(jì)其購(gòu)買總數(shù)量汽車零部件采購(gòu)管理第11頁(yè) 共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第12頁(yè) 共48頁(yè)制作人:徐倩*/*int checktime(int year,int month,int day );*全局變量1, 用于存儲(chǔ)采購(gòu)信息的結(jié)構(gòu)體struct buy;2,判斷文件是否正確讀入的標(biāo)志位變量int flag;3,用 于 存 儲(chǔ) 采 購(gòu) 信 息 的 結(jié) 構(gòu) 體 指 針 :struct buy*head=NULL,*p,*p1,*p2,*p3.主要模塊的實(shí)現(xiàn)系統(tǒng)以int main
12、()為入口,首先調(diào)用void huanying()顯示課程名稱和學(xué)生信息, 調(diào)用void menu()和void choise()實(shí)現(xiàn)功能顯示和功能選擇。 接著,按照用戶的要求, 調(diào)用void numshow()或void nameshow()實(shí)現(xiàn)查詢功能,或調(diào)用voidchange(),void disapper()實(shí)現(xiàn)修改和刪除功能int times();*根據(jù)采購(gòu)員名字統(tǒng)計(jì)其采購(gòu)次數(shù)*審查日期輸入是否符合要求void byebye();*告別界面void save()*保存采購(gòu)信息*不管汽車零部件采購(gòu)管理制作人:徐倩是刪除還是修改還是添加都要調(diào)用void save()實(shí)現(xiàn)信息保存功能。添
13、加和修改時(shí)還要調(diào)用int checktime(int當(dāng)不需要再執(zhí)行各項(xiàng)功能時(shí),調(diào)用void byebye()退出管理器。4.3主要功能模塊的流程圖1)封面模塊(以歡迎界面為例,退出界面與此類似)year,int month,int day)函數(shù)對(duì)時(shí)間審查。2)菜單模塊汽車零部件采購(gòu)管理制作人:徐倩顯示題目和學(xué)生信息1 1f進(jìn)入系統(tǒng)汽車零部件采購(gòu)管理制作人:徐倩5)統(tǒng)計(jì)模塊(以根據(jù)零部件名稱統(tǒng)計(jì)采購(gòu)總數(shù)量為例)汽車零部件采購(gòu)管理第14頁(yè)共48頁(yè)制作人:徐倩6)日期審查模塊汽車零部件采購(gòu)管理第15頁(yè)共48頁(yè)制作人:徐倩5.5.運(yùn)行結(jié)果5.1歡迎界面5.2主菜單汽車零部件采購(gòu)管理第16頁(yè)共48頁(yè)制作
14、人:徐倩十量W-W-數(shù)總數(shù)菜的員d能購(gòu)購(gòu)號(hào)H H匚廠廠型頓統(tǒng)鑿二 *十二1 12 2咁二二,- -二將二4F-*喘1212搜狗拼音輸入法半:5.3信息查詢頁(yè)面5.4統(tǒng)計(jì)菜單頁(yè)面匚:Use rsa cerVDes ktoip、 新建文件夾Debugk esh e_t mI.eKe汽車零部件采購(gòu)管理第17頁(yè)共48頁(yè)制作人:徐倩5.5顯示信息頁(yè)面 C:Use rsd cerDes lctoip新建丈件夾Debu gkesh e_t ml.exe汽車零部件采購(gòu)管理第18頁(yè)共48頁(yè)制作人:徐倩塞購(gòu)181履貨單牡十堰丞購(gòu)編號(hào):001003001003害諮各稱=后視鏡 踽昇舗r r翻躍褊貨法半:5.6退出頁(yè)
15、面C:Use rsa cerDes k:toip新建文件夾Debu gkesh e_t m1.exe助麗:成稱暮件旦裁單單祜購(gòu)部購(gòu)購(gòu)醤貨麗號(hào):001002001002性名稱I I輪胎: 字:徐倩:67:67:78.78.0000600006a aCOOO OCOJC歡迎下次使用PressPress mnymny keykey toto continuecontinue搜狗拼音輸入法半:p-p-0 0O OO0 0 OJOJOSOOK汽車零部件采購(gòu)管理第19頁(yè)共48頁(yè)制作人:徐倩6.6.程序調(diào)試與測(cè)試測(cè)試數(shù)據(jù):采購(gòu)編號(hào)001001001002001003001004零部件名 稱活塞輪胎后視鏡方向
16、盤采購(gòu)日期2013-09-272013-04-232013-09-082013-09-07米購(gòu)員名字劉堯徐倩衛(wèi)添翼李林琳采購(gòu)數(shù)量90679089米購(gòu)價(jià)格90.00000078.00000078.00000067.000000供貨單位汽院十堰黃岡河南6.1主菜單選擇測(cè)試若用戶輸入錯(cuò)誤選項(xiàng),則如圖顯示C:Use rsa cerDes ktoip、新建丈件夾DebugXk esh e_t m 1.EEG硏修改井保存釆購(gòu)信息筑刪除井保存余下采購(gòu)信息汽車零部件采購(gòu)管理第20頁(yè)共48頁(yè)制作人:徐倩7,7,統(tǒng)計(jì)采購(gòu)信息8 8 , ,顯不采購(gòu)信息d 退岀菅理系統(tǒng)皿鍵瞬睡擇 3 內(nèi)的整數(shù))=汽車零部件采購(gòu)管理第
17、21頁(yè)共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第22頁(yè)共48頁(yè)制作人:徐倩6.2采購(gòu)信息未從文件讀入6.36.3采購(gòu)信息的輸入測(cè)試1 ) 若添加的采購(gòu)編號(hào)已存在,則如圖顯示汽車零部件采購(gòu)管理第21頁(yè)共48頁(yè)制作人:徐倩2)若添加的采購(gòu)信息日期格式輸入錯(cuò)誤,貝 y 如圖顯示3)若查詢的采購(gòu)編號(hào)輸入錯(cuò)誤,則如圖顯示4)若查詢的零部件名稱輸入錯(cuò)誤,貝 y 如圖顯示汽車零部件采購(gòu)管理第22頁(yè)共48頁(yè)制作人:徐倩6)若輸入的數(shù)量為負(fù)值時(shí),如圖顯示5)若輸入價(jià)格為負(fù)數(shù)時(shí),如圖顯示CAUse rsa cerDes件夾Debu gkesh e_t m1.exe劉改改改改改曙輸訶否否否窠呆翳請(qǐng)MassssMass
18、ss T T價(jià)以空格鍵結(jié)束):1111#1111#是?是?暑叢木?稱?字?購(gòu)onsons購(gòu)部購(gòu)閤屠曲奪采奠采改0 0 0 0U U0 0t t否t t否1(1(否門否門否否粉0 00 0搜狗拼音輸入法半:汽車零部件采購(gòu)管理第23頁(yè)共48頁(yè)制作人:徐倩 C:LJse rsa cerVDes k:toip新建文件夾Debu gkesh e_t mI.eKe7.7.問題與不足1、需求分析中存在的問題每次只能從鍵盤中添加一條采購(gòu)信息,當(dāng)遇到需要添加多條信息時(shí),比較麻煩。統(tǒng)計(jì)功能太少,如果要求幾個(gè)零部件的總價(jià),無法實(shí)現(xiàn)。2、程序中存在的缺陷每次運(yùn)行其他功能前都要先從文件中讀入,比較耗時(shí)。有些功能裁2 2
19、文負(fù)%稱研字t t為人件bisssk-黑購(gòu)購(gòu)購(gòu)量采采數(shù)曇結(jié)即調(diào)磊鍵吟工結(jié)回醉劭和回型理串符黑串入雯牽新搜狗拼音輸入法半:汽車零部件采購(gòu)管理第24頁(yè)共48頁(yè)制作人:徐倩輸入錯(cuò)誤時(shí)無法重新輸入,而是直接跳到主菜單。緩存較多8.8.建議題目應(yīng)更加貼近生活,這樣可以讓同學(xué)們看到 c 語(yǔ)言的有用之 處,激發(fā)同學(xué)們的學(xué)習(xí)熱情。課程設(shè)計(jì)的題目涉及范圍應(yīng)該更廣。程序設(shè)計(jì)的功能應(yīng)相對(duì)更加復(fù)雜一點(diǎn),這樣有利培養(yǎng)同學(xué)們的分析 問題,解決問題的能力,同時(shí)也能提高同學(xué)們對(duì)代碼的掌握能力。再者,就是驗(yàn)收時(shí)應(yīng)該要學(xué)生畫出鏈表結(jié)構(gòu)圖,幫助他們更加深刻 的掌握知識(shí)。9.9.編程體會(huì)經(jīng)歷了編 c 語(yǔ)言課程設(shè)計(jì)后,我對(duì)這一學(xué)期 c
20、 語(yǔ)言所學(xué)內(nèi)容有了 更加深刻的了解和掌握, 特別是一直不懂的鏈表和指針, 現(xiàn)在發(fā)現(xiàn)自 己都能運(yùn)用了,很開心自己的進(jìn)步。所以,雖然寫程序的過程中,遇 到各種問題, 調(diào)試的時(shí)候也是遇到各種令人頭大的問題, 但能借助課 程設(shè)計(jì)提高自己對(duì)指針和鏈表的熟練度, 提高自己對(duì) c 語(yǔ)言編程的熟 練度,也希望學(xué)??梢远嚅_設(shè)一些這樣的課程,既是讓我們對(duì)自己所 學(xué)知識(shí)的一個(gè)綜合理解與使用, 也可以提高我們的動(dòng)手實(shí)踐能力、 對(duì) 知識(shí)的運(yùn)用能力,更是一個(gè)讓我們學(xué)會(huì)獨(dú)立思考的好機(jī)會(huì)。10.10.程序源代碼#include#include#include#include#include#include#define LE
21、N sizeof(struct buy) / #defineN 100申請(qǐng)結(jié)構(gòu)體空間汽車零部件采購(gòu)管理第25頁(yè) 共48頁(yè)制作人:徐倩/*申明程序中運(yùn)用的函數(shù)*/void huanying();void readinto();void input();void listCG();void numshow();void nameshow();void change();void disapper();void menu();void choise();void tongji(); intnumber();/封面函數(shù)讀取文件 添加采購(gòu)信息/顯示采購(gòu)信息/根據(jù)采購(gòu)編號(hào)顯示采購(gòu)信息 根據(jù)零部件名稱顯示采
22、購(gòu)信息 修改采購(gòu)信息 刪除采購(gòu)信息 顯示主菜單/選擇所需功能 統(tǒng)計(jì)功能菜單 根據(jù)零部件名稱統(tǒng)計(jì)采購(gòu)的零部件總數(shù)量int times();int checkdate(int year,int month,int day);/ void byebye();void save();/根據(jù)采購(gòu)員名字統(tǒng)計(jì)采購(gòu)的零部件總數(shù)量檢測(cè)時(shí)間/告別界面/保存文件/* struct buychar buynum10;char itemname10;char day30;char buyername10;int count;float price;char source10;struct buy *next;定義全局變
23、量*/定義結(jié)構(gòu)體intflag=0;/*flag為文件是否以正確讀入的標(biāo)志位*/struct buy *head=NULL,*p,*p1,*p2,*p3; /*定義結(jié)構(gòu)體指針*/*int main()huanying();主函數(shù)*/汽車零部件采購(gòu)管理第26頁(yè) 共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第27頁(yè) 共48頁(yè)制作人:徐倩getch(); while(1)menu();choise();return 0;/*/ void huanying()printf(nnntt*n);*n);printf(tt*n);fflush(stdin);prin tf(請(qǐng)按回車鍵繼續(xù)-printf(tt*pr
24、intf(tt*c語(yǔ) 言課 程 設(shè)計(jì)printf(tt*printf(tt*學(xué)生姓名:徐倩printf(tt*指導(dǎo)老師:吳年志printf(tt*班 級(jí) :T1323-15printf(tt*學(xué)號(hào) :20130231538printf(tt*聯(lián)系方式69180)printf(tt*printf(tt*課程題目:汽車零部件采購(gòu)管理程序printf(tt*n);*n);*n);*n);*n);*n);*n);*n);*n);*n);/*顯示主菜單*/*顯示選擇功能*/封面函數(shù));汽車零部件采購(gòu)管理第28頁(yè) 共48頁(yè)制作人:徐倩/*/ voidbyebye()printf(
25、nnntt*n);printf(tt*n);告別界*n);*n);printf(tt*printf(tt*printf(tt*printf(tt*printf(tt*printf(tt*printf(tt*printf(tt*printf(tt*printf(tt* *n);*n);*n);*n);*n);歡迎*n);*n);下次n);printf(tt*n);/*主菜單函數(shù)void menu()system(cls);汽車零部件采購(gòu)管理第29頁(yè) 共48頁(yè)制作人:徐倩p1=(struct buy *)malloc(LEN); head=p1;p1-next =NULL; while(!feof
26、(fp)printf(nnntt* *n);printf(tt | printf(tt|tt1,printf(tt|printf(tt|tt2,printf(tt | printf(tt|tt3,printf(tt|printf(tt|tt4,printf(tt | printf(tt|tt5,printf(tt|printf(tt|tt6,printf(tt | printf(tt|tt7,printf(tt|printf(tt|tt8,printf(tt | printf(tt|tt0,歡迎使用汽車零部件管理系統(tǒng)tttt|n);讀取采購(gòu)信息ttt|n);tttt|n);從鍵盤添加并保存采購(gòu)
27、信息t|n);tttt|n);根據(jù)采購(gòu)編號(hào)查找零件信息t|n);tttt|n);根據(jù)零部件名稱查找采購(gòu)信息t|n);tttt|n);修改并保存采購(gòu)信息tt|n);tttt|n);刪除并保存余下采購(gòu)信息t|n);tttt|n);統(tǒng)計(jì)采購(gòu)信息ttt|n);tttt|n);顯示采購(gòu)信息ttt|n);tttt|n);退出管理系統(tǒng)ttt|n);printf(tt*n );/*讀入文件函數(shù)void readinto()FILE *fp;int n=0;if(fp=fopen(lingjian.txt,r)=NULL)/* */printf(文件打開錯(cuò)誤:n);exit(0);/*文件指針*/打開文件時(shí)無此
28、文件/*讀取文件內(nèi)的信息*/汽車零部件采購(gòu)管理第30頁(yè) 共48頁(yè)制作人:徐倩fscanf(fp,%s%s%s%s%d%f%s,p1-buynum,p1-itemname,p1-day,p1-buyername,&p1-count,&p1-price,p1-source);p2=(struct buy *)malloc(LEN);點(diǎn)*/p1-next =p2;p3=p1;p1=p2;p1-next =NULL;free(p2); p3-next=NULL; fclose(fp); flag=1;printf(文件讀取成功!n); listCG();/*函數(shù)*/ void choise()int
29、n;printf(-請(qǐng)從鍵盤輸入您的選擇(0-8內(nèi)的整數(shù)):);scanf(%d,&n);while(n8)printf(輸入不合法,請(qǐng)?jiān)佥斎胍淮危?; scanf(%d,&n);switch(n)case 1:system(cls); readinto();break;case 2:system(cls); input(); break;case 3:system(cls); numshow(); break;case 4:system(cls);/*p2指向新申請(qǐng)的節(jié)/*關(guān)閉文件*/選擇所需功能/*清屏*/汽車零部件采購(gòu)管理第31頁(yè) 共48頁(yè)制作人:徐倩nameshow();break;c
30、ase5:system(cls);change(); break;case6:system(cls);disapper();break;case7:system(cls);tongji(); break;case8:system(cls);listCG(); break;case0:system(cls);byebye();exit(0);/*采購(gòu)信息函數(shù)*/ voidinput()從鍵盤添加并保存intn=0,i=0,k;char ch; longy,m,d;if(flag=0)printf (未建立, 采購(gòu)信息數(shù)據(jù)庫(kù)為空n) ;printf(按任意鍵返回);getch();return;p
31、rintf(請(qǐng)輸入將要添加的采購(gòu)編號(hào)(形如001002,以回車鍵結(jié)束)n) ;fflush(stdin);scanf(%s,p2-buynum);p1=head;while(p1!=NULL)if(strcmp(p2-buynum,p1-buynum)=0)信息中與輸入相同的采購(gòu)編號(hào)*/*找到數(shù)據(jù)庫(kù)汽車零部件采購(gòu)管理第32頁(yè) 共48頁(yè)制作人:徐倩printf(printf(printf(printf(printf(printf(printf(printf(printf(n=1;printf(getch();你輸入的采購(gòu)編號(hào)已存在! !);對(duì)應(yīng)零部件信息如下:);采購(gòu)編號(hào):%sn,p1-buyn
32、um);零部件名稱:%sn,p1-itemname);采購(gòu)日期:%sn,p1-day);采購(gòu)員名字:%sn,p1-buyername);采購(gòu)數(shù)量:%dn,p1-count);采購(gòu)價(jià)格:%fn,p1-price);供貨單位:%sn,p1-source);/*標(biāo)志位*/請(qǐng)按任意鍵返回!n);system(cls);break;p1=p1-next;if(n!=1)system(cls);p1=head;while(p1-next!=NULL)p1=p1-next;printf(請(qǐng)輸入);p2=(struct buy *)malloc(LEN);/開辟一個(gè)新單元fflush(stdin);for(i
33、=0;ibuynum);if(i=1)fflush(stdin);printf(零部件名稱(文字或英文字符串型)scanf(%s, p2-itemname);if(i=2)do:);汽車零部件采購(gòu)管理第33頁(yè) 共48頁(yè)制作人:徐倩printf(采購(gòu)日期(形如*-*-*,以回車鍵結(jié)束):);fflush(stdin);scanf(%s,p2-day);if(p2-day4=-&p2-day7=-&strlen(p2-day)=10)y=(p2-day0-48)*1000+(p2-day1-48)*100+(p2-day2-48)*10+(p2-day3-48);m=(p2-day5-48)*10
34、+(p2-day6-48);d=(p2-day8-48)*10+(p2-day9-48);k=checkdate(y,m,d); /*根據(jù)函數(shù)返回值 判斷是否要重新輸入*/if(k=1) break;while(1);if(i=3)fflush(stdin); printf(采購(gòu)員名字(文字或英文字符串型,以回車鍵結(jié)束):);scanf(%s,p2-buyername);if(i=4)fflush(stdin);printf(采購(gòu)數(shù)量 (文字或英文字符串型,以回車鍵結(jié)束):);scanf(%d, &p2-count);while(p2-countcount);n);if(i=5)fflush(
35、stdin);汽車零部件采購(gòu)管理第34頁(yè) 共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第35頁(yè) 共48頁(yè)制作人:徐倩printf(采購(gòu)價(jià)格(數(shù)字型,以回車鍵結(jié)束)scanf(%f,&p2-price);while(p2-priceprice);:);n);if(i=6)fflush(stdin); printf(供貨單位(文字或英文字符串型,以回車鍵結(jié)束):);scanf(%s,p2-source);p2-next=NULL; p1-next =p2; p1=head;system(cls);printf(所有信息如下,請(qǐng)核實(shí)-);while(p1!=NULL)printf(printf(print
36、f(printf(printf(printf(printf(采購(gòu)編號(hào):%sn,p1-buynum);零部件名稱:%sn,p1-itemname);采購(gòu)日期:%sn,p1-day);采購(gòu)員名字:%sn,p1-buyername);采購(gòu)數(shù)量:%dn,p1-count);采購(gòu)價(jià)格:%fn,p1-price);供貨單位:%sn,p1-source);printf(nnn);p1=p1-next;save();printf(fflush(stdin);按任意鍵返回);scanf(%c,&ch);/*采購(gòu)信息函數(shù)*/根據(jù)采購(gòu)編號(hào)查找汽車零部件采購(gòu)管理第36頁(yè) 共48頁(yè)制作人:徐倩void numshow(
37、)char anum10,ch;p1=head;if(p1=NULL)printf(采購(gòu)信息數(shù)據(jù)庫(kù)為空n);printf(按任意鍵返回); getch();system(cls);exit(0);printf(請(qǐng)輸入所查零件編號(hào)(形如000001,以回車鍵結(jié)束):n);getchar(); scanf(%s,anum); while(p1!=NULL)if(strcmp(anum,p1-buynum)=0)中與輸入相同的采購(gòu)編號(hào)*/printf(printf(printf(printf(printf(printf(printf(break;else p1=p1-next;if(p1=NULL)
38、 /*p1=NULL表示到最后都沒有找到與 信息數(shù)據(jù)庫(kù)中與輸入相同的零部件名稱*/printf(文件中沒有您所查找的采購(gòu)信息,請(qǐng)核對(duì)您的采購(gòu)編號(hào)是否輸入正確!n);printf(請(qǐng)按任意鍵返回返回!);fflush(stdin);scanf(%c,&ch);printf(按任意鍵返回);/*找到與信息數(shù)據(jù)庫(kù)采購(gòu)編號(hào):%sn,p1-buynum);零部件名稱:%sn,p1-itemname);采購(gòu)日期:%dn,p1-day);采購(gòu)員名字:%sn,p1-buyername);采購(gòu)數(shù)量:%dn,p1-count);采購(gòu)單價(jià):%fn,p1-price);供貨單位:%sn,p1-source);汽車零部
39、件采購(gòu)管理第37頁(yè) 共48頁(yè)制作人:徐倩fflush(stdin); scanf(%c,&ch);/*名稱查找采購(gòu)信息*/void nameshow()char aname10,ch; int n=0;p1=head; if(p1=NULL)printf(采購(gòu)信息數(shù)據(jù)庫(kù)為空n); printf(按任意鍵返回); getch();system(cls);exit(0);printf(請(qǐng)輸入所查零件名稱(以回車鍵結(jié)束):n); fflush(stdin);scanf(%s,aname); while(p1!=NULL)if(strcmp(p1-itemname,aname)=0)printf( p
40、rintf( printf( printf(printf( printf( printf( n=1;elsep1=p1-next;if(n!=1)printf(文件中沒有您所查找的采購(gòu)信息,請(qǐng)核對(duì)您的零部件名稱是否 輸入正確!n);printf(請(qǐng)按任意鍵返回返回?。?根據(jù)采購(gòu)零部件采購(gòu)編號(hào):%sn,p1-buynum);零部件名稱:%sn,p1-itemname);采購(gòu)日期:%dn,p1-day);采購(gòu)員名字:%sn,p1-buyername);采購(gòu)數(shù)量:%dn,p1-count);采購(gòu)單價(jià):%fn,p1-price);供貨單位:%sn,p1-source);汽車零部件采購(gòu)管理第38頁(yè) 共4
41、8頁(yè)制作人:徐倩fflush(stdin);scanf(%c,&ch);printf(按 任 意 鍵 返 回);fflush(stdin);scanf(%c,&ch);/*購(gòu)信息函數(shù)*/刪除并保存余下采void disapper()char anum10,ch;if(flag=0)立文件,標(biāo)志位法/*flag=0表 示 未 建*/printf(未建立,采購(gòu)信息數(shù)據(jù)庫(kù)為空n);printf(按任意鍵返回);getch(); return; if(head=NULL)printf(n采購(gòu)信息數(shù)據(jù)庫(kù)為空,無法刪除,請(qǐng)按任意鍵返回:n);getch();system(cls);return;p1=he
42、ad;/*p1指向頭結(jié)點(diǎn)*/printf(請(qǐng)輸入要?jiǎng)h除的采購(gòu)信息編號(hào):n);fflush(stdin);scanf(%s,anum);while(strcmp(anum,p1-buynum)!=0&p1-next!=NULL)找到要?jiǎng)h除的學(xué)號(hào)*/p2=p1;p1=p1-next ;if(strcmp(anum,p1-buynum)=0)/*汽車零部件采購(gòu)管理第39頁(yè) 共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第40頁(yè) 共48頁(yè)制作人:徐倩if(head-next=NULL)*/free(head);head=NULL;elseif(head=p1)節(jié)點(diǎn)中*/head=p1-next;free(p1
43、);else/*/*p2-next=p1-next;free(p1);只有一個(gè)節(jié)點(diǎn)的情況要?jiǎng)h除的編號(hào)在第一個(gè)printf(listCG();save();elseprintf(否正確!);printf(已刪除!n);找不到此采購(gòu)編號(hào)對(duì)應(yīng)的采購(gòu)信息,請(qǐng)核您輸入的采購(gòu)編號(hào)是按任意鍵返回:n);fflush(stdin);printf(按 任 意 鍵 返 回);fflush(stdin);scanf(%c,&ch);/*購(gòu)信息函數(shù)*/修改并保存采void change()汽車零部件采購(gòu)管理第41頁(yè) 共48頁(yè)制作人:徐倩汽車零部件采購(gòu)管理第42頁(yè) 共48頁(yè)制作人:徐倩char anum10,ch;in
44、t t,k;long y,m,d;if(flag=0)printf(未建立,采購(gòu)信息數(shù)據(jù)庫(kù)為空n);printf(按任意鍵返回);getch();return;if(head=NULL)printf(n采購(gòu)信息數(shù)據(jù)庫(kù)為空,無法修改,請(qǐng)按任意鍵返回:n);getch(); system(cls);return;p1 = head;printf(請(qǐng)輸入要修改采購(gòu)信息的采購(gòu)編號(hào)(形如001002,以空格鍵結(jié)束):n);fflush(stdin);scanf(%s,anum);while(strcmp(anum, p1-buynum) != 0 & p1-next != NULL ) p1=p1-ne
45、xt;if(strcmp(anum, p1-buynum) = 0 )printf(是否修改采購(gòu)編號(hào)?是(1)否(0);判斷各項(xiàng)是否需要修改*/scanf(%d,&t);if(t=1)printf(請(qǐng)輸入修改后的采購(gòu)編號(hào):n); fflush(stdin);scanf(%s,p1-buynum);printf(是否修改零部件名稱?是(1)否(0); scanf(%d,&t);if(t=1)printf(請(qǐng)輸入修改后的零部件名稱:n); fflush(stdin);scanf(%s,p1-itemname);/*汽車零部件采購(gòu)管理第43頁(yè) 共48頁(yè)制作人:徐倩printf(是否修改采購(gòu)日期?是(
46、1)否(0); scanf(%d,&t);if(t=1)doprintf(請(qǐng)輸入修改后的采購(gòu)日期(形如*-*-*結(jié)束):);fflush(stdin);scanf(%s,p2-day);if(p2-day4=-&p2-day7=-&strlen(p2-day)=10)y=(p2-day0-48)*1000+(p2-day1-48)*100+(p2-day2-48)*10+(p2-day3-48);m=(p2-day5-48)*10+(p2-day6-48);d=(p2-day8-48)*10+(p2-day9-48);k=checkdate(y,m,d); /*根據(jù)函數(shù)返回值判斷是否要重新輸入
47、*/if(k=1)break;else printf(輸入錯(cuò)誤!n);while(1);printf(是否修改采購(gòu)員名字?是(1)否(0); scanf(%d,&t);if(t=1)printf(請(qǐng)輸入修改后的采購(gòu)員名字:n);fflush(stdin);scanf(%s,p1-buyername);printf(是否修改采購(gòu)數(shù)量?是(1)否(0);scanf(%d,&t);if(t=1)printf(請(qǐng)輸入修改后的采購(gòu)數(shù)量:n); fflush(stdin);scanf(%d,&p1-count);while(p1-countcount);printf( scanf(%d,&t);if(t=
48、1)printf(請(qǐng)輸入修改后的采購(gòu)采購(gòu)價(jià)格:n); fflush(stdin);scanf(%f,&p1-price); while(p1-priceprice);printf(scanf(%d,&t);if(t=1)printf(請(qǐng)輸入修改后的供貨單位:n); fflush(stdin);scanf(%s,p1-source);system(cls); printf(修改完畢!n);listCG(); save();elseprintf(文件中沒有您所查找的采購(gòu)信息,請(qǐng)核對(duì)您的零部件名稱是否輸入正確!n);printf(按任意鍵返回); fflush(stdin);scanf(%c,&ch
49、);/*能菜單函數(shù)*/是否修改采購(gòu)價(jià)格?是(1)否(0);是否修改供貨單位?是(1)否(0);統(tǒng)計(jì)功汽車零部件采購(gòu)管理第45頁(yè) 共48頁(yè)制作人:徐倩void tongji()int n,x,y;char ch;printf(t*統(tǒng)計(jì)功能菜單*n);printf(tt1,統(tǒng)計(jì)采購(gòu)的零部件總數(shù)量ttn);printf(tt2,統(tǒng)計(jì)采購(gòu)員采購(gòu)次數(shù)ttn);printf(請(qǐng)輸入你選擇的統(tǒng)計(jì)類型編號(hào)(1或2):n);scanf(%d,&n);switch(n)case 1:system(cls);x=number();量*/*x賦值為函數(shù)返回的零部件總數(shù)printf(總數(shù)量為%dn,x);break;case 2:system(cls);y=times();/*y賦值為函數(shù)返回的采購(gòu)次數(shù)*/printf(采購(gòu)次數(shù)為%dn,y);break;default:printf(無效輸入!請(qǐng)按任意鍵返回);getch();system(cls);printf(fflush(stdin);scanf(%c,&ch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制造業(yè)務(wù)員工作總結(jié)
- 酒店管理崗位考核
- 美容行業(yè)前臺(tái)接待工作總結(jié)
- 教師團(tuán)隊(duì)專業(yè)培訓(xùn)
- 廚具行業(yè)采購(gòu)工作總結(jié)
- 2024年設(shè)備監(jiān)理師考試題庫(kù)帶答案
- 2024年熱的傳遞教案設(shè)計(jì)
- 創(chuàng)意市集活動(dòng)贊助合同(2篇)
- DB33T 2111-2018 福利彩票視頻型彩票銷售管理規(guī)范
- 安徽省阜陽(yáng)市阜南縣2025屆中考三模生物試題含解析
- 社區(qū)依法執(zhí)業(yè)培訓(xùn)課件
- ISO50001能源管理體系管理評(píng)審報(bào)告OK
- 輸送機(jī)械安全培訓(xùn)
- 租房定金協(xié)議電子版本
- 人教版六年級(jí)上冊(cè)計(jì)算題專項(xiàng)練習(xí)1000題及答案
- 農(nóng)村文化建設(shè)培訓(xùn)
- 教育理念和教育方法
- 九小場(chǎng)所安全檢查表
- 第四代住宅百科知識(shí)講座
- 2022-2023學(xué)年佛山市禪城區(qū)六年級(jí)數(shù)學(xué)第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- 《廣聯(lián)達(dá)培訓(xùn)教程》課件
評(píng)論
0/150
提交評(píng)論