版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 湖北汽車工業(yè)學(xué)院科技學(xué)院</p><p> HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY</p><p><b> C語(yǔ)言程序設(shè)計(jì)</b></p><p><b> 課程實(shí)訓(xùn)報(bào)告</b></p><p> 課設(shè)題目: 設(shè)備管理系
2、統(tǒng) </p><p> 專 業(yè): 電子信息工程(汽車電子) </p><p> 班 級(jí): k1223-5 </p><p> 姓 名: </p><p> 成 績(jī)
3、: </p><p> 完成日期: 2013年1月4日-2013年1月11日</p><p> 指導(dǎo)教師: 胡 寧 亞 </p><p><b> 目 錄</b></p>
4、<p> 1.課程實(shí)訓(xùn)目的2</p><p><b> 2.需求分析2</b></p><p><b> 2.1要求2</b></p><p><b> 2.2任務(wù)描述2</b></p><p><b> 2.3運(yùn)行環(huán)境3</b&
5、gt;</p><p><b> 2.4開發(fā)工具3</b></p><p><b> 3.總體設(shè)計(jì)3</b></p><p> 3.1系統(tǒng)流設(shè)計(jì)3</p><p> 3.2系統(tǒng)模塊設(shè)計(jì)4</p><p><b> 4.詳細(xì)設(shè)計(jì)5</b>
6、;</p><p> 4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5</p><p> 4.2模塊接口設(shè)計(jì)6</p><p> 4.3 以下是幾個(gè)主要模塊的流程圖:7</p><p><b> 5.運(yùn)行結(jié)果8</b></p><p> 5.1主菜單界面:8</p><p> 5
7、.2輸入設(shè)備編號(hào)和名稱界面………………………………………………………...9</p><p> 5.3購(gòu)買設(shè)備界面:10</p><p> 5.4 報(bào)廢設(shè)備界面:10</p><p> 5.5查詢指定設(shè)備編號(hào)的購(gòu)買歷史界面11</p><p> 5.6查詢指定部門設(shè)備報(bào)廢歷史的界面…………………………………………………………12
8、</p><p> 5.7統(tǒng)計(jì)指定日期公司各設(shè)備可以使用的數(shù)量的界面…………………………………………13</p><p> 5.8保存信息界面…………………………………………………………………………………13</p><p> 5.9退出系統(tǒng)界面………………………… ……………………………………………………..14</p><p>
9、6.程序調(diào)試與測(cè)試14</p><p><b> 7.編程體會(huì)14</b></p><p> 8.程序源代碼:15</p><p><b> 9.參考文獻(xiàn)29</b></p><p> 10.用戶使用手冊(cè)29</p><p><b> 1.課程實(shí)
10、訓(xùn)目的</b></p><p> 通過(guò)課程實(shí)訓(xùn),加深對(duì)結(jié)構(gòu)化程序設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)。</p><p> 通過(guò)課程實(shí)訓(xùn),進(jìn)一步掌握C語(yǔ)言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運(yùn)用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。</p><p> 通過(guò)課程實(shí)訓(xùn),提高程序開發(fā)能力,能運(yùn)用合理的控制流編寫清晰高效的程序。</p&g
11、t;<p> 通過(guò)課程實(shí)訓(xùn),培養(yǎng)C語(yǔ)言知識(shí)運(yùn)用和自學(xué)能力,真正的把課堂上獲得的知識(shí)運(yùn)用起來(lái),培養(yǎng)自己對(duì)程序編寫的興趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個(gè)小型系統(tǒng)。</p><p> 通過(guò)課程實(shí)訓(xùn),加強(qiáng)了自己的程序分析能力。</p><p><b> 2.需求分析</b></p><p><b> 2.1要求</b>
12、;</p><p> 遵循軟件開發(fā)過(guò)程的基本規(guī)范;能靈活應(yīng)用,初步具備運(yùn)用C程序解決實(shí)際問(wèn)題的能力。</p><p> 運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法,按照課程實(shí)訓(xùn)題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、調(diào)試和測(cè)試C程序等過(guò)程。</p><p> 學(xué)會(huì)利用數(shù)組、結(jié)構(gòu)體、鏈表進(jìn)行相關(guān)信息表示。</p><p>
13、功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡的功能描述</p><p> 各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實(shí)現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確。</p><p> 所設(shè)計(jì)的C程序較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋清晰。</p><p> 界面友好(良好的人機(jī)互交),凡需要輸入信息時(shí),都有較詳盡的提示信息,并對(duì)輸入信息有較完
14、善的值域分析。</p><p> 程序經(jīng)上機(jī)調(diào)試通過(guò),不應(yīng)出現(xiàn)語(yǔ)法型、功能型錯(cuò)誤,并獲得滿意的結(jié)果。</p><p> 學(xué)會(huì)通過(guò)各功能性測(cè)試用例測(cè)試程序的能力,盡可能避免原則性錯(cuò)誤的出現(xiàn)。</p><p> 掌握編寫、調(diào)試和測(cè)試C語(yǔ)言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。</p><p> C語(yǔ)言課程實(shí)訓(xùn)報(bào)告的內(nèi)容反應(yīng)實(shí)際
15、設(shè)計(jì)過(guò)程,且符合格式要求,無(wú)抄襲現(xiàn)象。</p><p><b> 2.2任務(wù)描述</b></p><p><b> 1、問(wèn)題:</b></p><p> 根據(jù)需求,該系統(tǒng)所應(yīng)包含的信息有以下一些:</p><p> 公司設(shè)備管理的基本信息:</p><p> 設(shè)備編
16、號(hào)10個(gè)、設(shè)備名稱10個(gè)、部門編號(hào)4個(gè)、部門名稱4個(gè)、購(gòu)買日期、購(gòu)買單價(jià)、購(gòu)買數(shù)量、購(gòu)買金額、報(bào)廢日期、報(bào)廢數(shù)量。</p><p> 根據(jù)需求,該系統(tǒng)所應(yīng)實(shí)現(xiàn)的功能有以下一些:</p><p> 1) 購(gòu)買:輸入設(shè)備編號(hào)、設(shè)備部門、購(gòu)買日期、設(shè)備數(shù)量、設(shè)備單價(jià),完成購(gòu)買功能。</p><p> 2) 報(bào)廢:輸入設(shè)備編號(hào)、設(shè)備部門、報(bào)廢日期、設(shè)備數(shù)量,完成報(bào)廢功
17、能。</p><p> 3) 查詢指定設(shè)備編號(hào)的購(gòu)買歷史。</p><p> 4) 查詢指定部門的設(shè)備報(bào)廢歷史。</p><p> 5) 統(tǒng)計(jì)指定日期公司各設(shè)備可以使用的數(shù)量。</p><p><b> 2.3運(yùn)行環(huán)境</b></p><p> WindowsXP/7系統(tǒng)</p&g
18、t;<p> VC++6.0編譯環(huán)境</p><p><b> 2.4開發(fā)工具</b></p><p><b> C語(yǔ)言</b></p><p><b> 3.總體設(shè)計(jì)</b></p><p><b> 3.1系統(tǒng)流設(shè)計(jì)</b>&l
19、t;/p><p> 本系統(tǒng)的功能模塊如圖1所示,主要有以下模塊:</p><p> 主界面模塊:完成系統(tǒng)菜單的顯示</p><p> 功能選擇模塊:根據(jù)用戶的選擇,完成其相應(yīng)的功能</p><p> 設(shè)備購(gòu)買:完成用戶從界面輸入購(gòu)買信息,在系統(tǒng)中購(gòu)買定位,并將購(gòu)買金額累加到購(gòu)買總價(jià)格的功能。</p><p> 設(shè)
20、備報(bào)廢:完成用戶從界面輸入報(bào)廢信息,在系統(tǒng)中報(bào)廢定位,并將從設(shè)備總數(shù)減去報(bào)廢數(shù)量。</p><p> 指定設(shè)備編號(hào)的購(gòu)買歷史查詢:完成用戶從界面輸入查詢條件,在系統(tǒng)查詢符合條件的設(shè)備購(gòu)買信息,并在界面上顯示的功能。</p><p> 指定部門的設(shè)備報(bào)廢歷史查詢:完成用戶從界面輸入查詢條件,在系統(tǒng)查詢符合條件的設(shè)備報(bào)廢信息,并在界面上顯示的功能。</p><p>
21、 統(tǒng)計(jì)指定日期公司各設(shè)備可以使用的數(shù)量:完成用戶從界面輸入查詢條件,在系統(tǒng)查詢符合條件的設(shè)備記錄鏈表,并在界面上顯示的功能。</p><p><b> 3.2系統(tǒng)模塊設(shè)計(jì)</b></p><p> 課程名稱界面:構(gòu)造函數(shù)void auther(),實(shí)現(xiàn)課程實(shí)訓(xùn)名稱以及作者的顯示。</p><p> 系統(tǒng)歡迎界面:構(gòu)造函數(shù)void wel
22、come(),實(shí)現(xiàn)歡迎使用學(xué)生簡(jiǎn)歷管理系統(tǒng)的顯示。</p><p> 主菜單界面:構(gòu)造函數(shù)void menu(),實(shí)現(xiàn)系統(tǒng)主菜單的顯示。</p><p> 設(shè)備信息錄入:構(gòu)造函數(shù)void loadRec(),實(shí)現(xiàn)設(shè)備購(gòu)買、報(bào)廢記錄的錄入。</p><p> 購(gòu)買設(shè)備:構(gòu)造函數(shù)void buy(),實(shí)現(xiàn)對(duì)設(shè)備的購(gòu)買功能。</p><p>
23、 報(bào)廢設(shè)備:構(gòu)造函數(shù)void abandon (),實(shí)現(xiàn)對(duì)設(shè)備的報(bào)廢</p><p> 查詢購(gòu)買歷史:構(gòu)造函數(shù)int find_buyhistory(),實(shí)現(xiàn)對(duì)指定設(shè)備的購(gòu)買設(shè)備記錄的查詢。</p><p> 查詢報(bào)廢歷史:構(gòu)造函數(shù)int find_abahistory(),實(shí)現(xiàn)對(duì)指定部門的報(bào)廢設(shè)備記錄的查詢。</p><p> 統(tǒng)計(jì)指定日期可用設(shè)備:構(gòu)造函
24、數(shù)int find_equip(),實(shí)現(xiàn)對(duì)指定日期之前的可用設(shè)備。</p><p> 保存并退出:構(gòu)造函數(shù)void save(),實(shí)現(xiàn)對(duì)設(shè)備購(gòu)買、報(bào)廢記錄的保存。</p><p><b> 圖1系統(tǒng)功能模塊圖</b></p><p><b> 4.詳細(xì)設(shè)計(jì)</b></p><p><b&
25、gt; 4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的數(shù)據(jù)信息,其結(jié)構(gòu)如下:</p><p> 為此,先聲明類型為struct equipment、struct department、truct information、struct data的四個(gè)結(jié)構(gòu)體,其成員分別為設(shè)備和部門的編號(hào)以及名稱信息。然后通過(guò)對(duì)指針、鏈表、文件等數(shù)據(jù)結(jié)構(gòu)的操作,實(shí)
26、現(xiàn)對(duì)設(shè)備和部門的編號(hào)以及名稱信息的錄入,插入,存盤,查詢,等功能。定義的結(jié)構(gòu)體如下:</p><p><b> 定義如下:</b></p><p> /*描述"保存信息"的鏈表類型*/</p><p> typedef struct information</p><p><b>
27、{</b></p><p> DEPARTINFO depar;</p><p> EQUIPINFO equip;</p><p> struct information *next;</p><p><b> }infor;</b></p><p> /*描述"
28、部門信息"的結(jié)構(gòu)體類型*/</p><p> typedef struct</p><p><b> {</b></p><p> char depart_ID[20];</p><p> char depart_name[20];</p><p> }DEPARTINFO;&
29、lt;/p><p> /*描述"設(shè)備信息"的結(jié)構(gòu)體類型*/</p><p> typedef struct</p><p><b> {</b></p><p> char equip_ID[20];</p><p> char equip_name[20];</p
30、><p> DATA buy_date;</p><p> DATA aban_data;</p><p> int b_number;</p><p> int price;</p><p> int a_number;</p><p> }EQUIPINFO;</p>
31、<p> /*描述"時(shí)間"的結(jié)構(gòu)體類型*/</p><p> typedef struct</p><p><b> {</b></p><p><b> int year;</b></p><p> int month;</p><p&g
32、t;<b> int day;</b></p><p><b> }DATA;</b></p><p><b> 4.2模塊接口設(shè)計(jì)</b></p><p> 所有函數(shù)模塊聲明如下:</p><p> void auther();/*顯示課程名稱*/</p>
33、;<p> void welcome();/*顯示歡迎界面*/</p><p> void menu();/*主菜單函數(shù)*/</p><p> void loadRec();/*設(shè)備信息錄入*/</p><p> void buy();/*購(gòu)買設(shè)備*/</p><p> void abandon ()/*報(bào)廢設(shè)備*/&
34、lt;/p><p> int find_buyhistory();/*查詢購(gòu)買歷史*/ </p><p> int find_abahistory();/*查詢報(bào)廢歷史*/</p><p> int find_equip();/*統(tǒng)計(jì)指定日期可用設(shè)備*/</p><p> void save();/*保存購(gòu)買報(bào)廢記錄*/</p>
35、;<p> int sysTime();/*取系統(tǒng)時(shí)間*/</p><p> int DAY();/*判斷該月天數(shù)*/</p><p> void gotoxy(int x,int y);/*光標(biāo)函數(shù)*/</p><p><b> 主要模塊的實(shí)現(xiàn)</b></p><p> 系統(tǒng)以主函數(shù)void
36、main()為入口,首先通過(guò)system("color 0f");將文本顏色置為白色,背景顏色置為黑色。</p><p> 調(diào)用void auther()函數(shù),顯示課程實(shí)訓(xùn)名稱及作者信息。進(jìn)入主菜單界面。系統(tǒng)接收用戶輸入的選擇,調(diào)用相應(yīng)的函數(shù),進(jìn)入到下一級(jí)菜單進(jìn)行相關(guān)工作。</p><p> 4.3以下是主菜單的流程圖:</p><p>&l
37、t;b> 主菜單函數(shù):</b></p><p><b> 圖2 主函數(shù)流程圖</b></p><p><b> 5.運(yùn)行結(jié)果</b></p><p><b> 5.1主菜單界面:</b></p><p><b> 主界面:</b>
38、;</p><p> 根據(jù)系統(tǒng)要求,設(shè)計(jì)一個(gè)字符界面,顯示系統(tǒng)的菜單,為了體現(xiàn)友好性,將在每個(gè)菜單前顯示該菜單項(xiàng)對(duì)應(yīng)的數(shù)字</p><p> 用戶輸入菜單項(xiàng)前面的數(shù)字,主菜單消失,進(jìn)入該模塊的相應(yīng)界面,進(jìn)行相應(yīng)的操作,完成后,回到主界面。</p><p><b> 輸入的主界面:</b></p><p><
39、b> 圖5主菜單界面</b></p><p> 輸入功能選擇,系統(tǒng)自動(dòng)進(jìn)入相應(yīng)功能界面。</p><p><b> 5.2歡迎界面</b></p><p> 圖6 輸入設(shè)備編號(hào)和名稱的界面:</p><p> 5.3購(gòu)買設(shè)備界面:</p><p><b>
40、圖7購(gòu)買設(shè)備界面</b></p><p> 5.4報(bào)廢設(shè)備界面:</p><p><b> 圖8報(bào)廢設(shè)備界面 </b></p><p> 5.5查詢指定設(shè)備編號(hào)的購(gòu)買歷史界面:</p><p> 圖9查詢指定設(shè)備編號(hào)的購(gòu)買歷史界面</p><p> 5.6查詢指定部門設(shè)備報(bào)廢
41、歷史的界面</p><p> 圖10查詢指定部門設(shè)備報(bào)廢歷史的界面</p><p> 5.7統(tǒng)計(jì)指定日期公司各設(shè)備可以使用的數(shù)量的界面:</p><p><b> 6.程序調(diào)試與測(cè)試</b></p><p> 各個(gè)模塊在調(diào)試與分析的過(guò)程中往往會(huì)碰到一些錯(cuò)誤和警告,從而導(dǎo)致了程序的無(wú)法正確運(yùn)行,這時(shí)候我們往往是從錯(cuò)
42、誤開始分析,然后分步調(diào)試程序。</p><p><b> 7.編程體會(huì)</b></p><p> 通過(guò)本學(xué)期實(shí)訓(xùn)課與C語(yǔ)言課相結(jié)合的學(xué)習(xí)模式,以上機(jī)實(shí)驗(yàn)操作為主,平時(shí)理論課程相結(jié)合的特點(diǎn),讓我對(duì)C語(yǔ)言的認(rèn)識(shí)更加深刻,更加深了我對(duì)語(yǔ)言的理解和運(yùn)用能力。在學(xué)習(xí)期間遇到的問(wèn)題先翻看書本再查找資料使我更深入的接觸和了解到更多的C語(yǔ)言知識(shí)。平時(shí)上理論課老師就強(qiáng)調(diào)C語(yǔ)言知識(shí)的
43、重要性和實(shí)用性,學(xué)習(xí)的過(guò)程中也慢慢覺得要想把C語(yǔ)言學(xué)好必須要花費(fèi)大量的精力和時(shí)間。就像這次的最后的大實(shí)訓(xùn),一個(gè)人就一道題,卻花費(fèi)了三四天的時(shí)間去做,先自己做個(gè)框架,然后再一步步做函數(shù),不僅請(qǐng)教同學(xué)幫忙,還請(qǐng)教了老師幫助我改錯(cuò),雖然最后完成了任務(wù),但是程序還做得不是很好,程序運(yùn)行的不是很好,有些功能沒有完全實(shí)現(xiàn)。</p><p> 在這幾天的實(shí)訓(xùn)中,讓我認(rèn)識(shí)到C語(yǔ)言的實(shí)用性,縱觀同學(xué)們做的題目,讓C語(yǔ)言實(shí)現(xiàn)大大小
44、小不同的功能,這就是C語(yǔ)言的應(yīng)用廣泛性。同時(shí)還得出一個(gè)結(jié)論:理論知識(shí)必須通過(guò)實(shí)踐應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西在理論方面以為學(xué)會(huì)了,但真正到應(yīng)用的時(shí)候才發(fā)現(xiàn)是兩回事,看書的時(shí)候我以為函數(shù)功能很簡(jiǎn)單,但是我在用的時(shí)候,卻漏洞百出,不是這錯(cuò)就是那錯(cuò),找老師好幾遍才改過(guò)來(lái)。學(xué)習(xí)C語(yǔ)言就需要縝密的思維,良好的習(xí)慣,這樣才能把C語(yǔ)言編的又快又好!!! </p><p><b> 8.程序源代碼:</b>
45、;</p><p> #include <stdio.h></p><p> #include <string.h></p><p> #include <malloc.h></p><p> #include <stdlib.h></p><p> #incl
46、ude <time.h></p><p> #include <conio.h></p><p> #include <windows.h></p><p> #define LEN sizeof(infor)</p><p> /*描述"時(shí)間"的結(jié)構(gòu)體類型*/</p>
47、;<p> typedef struct</p><p><b> {</b></p><p><b> int year;</b></p><p> int month;</p><p><b> int day;</b></p><
48、;p><b> }DATA;</b></p><p> /*描述"設(shè)備信息"的結(jié)構(gòu)體類型*/</p><p> typedef struct</p><p><b> {</b></p><p> char equip_ID[10];</p><
49、;p> char equip_name[10];</p><p> DATA buy_date;</p><p> DATA aban_data;</p><p> int b_number;</p><p> int price;</p><p> int a_number;</p>
50、<p> }EQUIPINFO;</p><p> /*描述"部門信息"的結(jié)構(gòu)體類型*/</p><p> typedef struct</p><p><b> {</b></p><p> char depart_ID[30];</p><p> ch
51、ar depart_name[20];</p><p> }DEPARTINFO;</p><p> /*描述"保存信息"的鏈表類型*/</p><p> typedef struct information</p><p><b> {</b></p><p> D
52、EPARTINFO depar;</p><p> EQUIPINFO equip;</p><p> struct information *next;</p><p><b> }infor;</b></p><p> infor *p1,*p2,*head;</p><p> in
53、t flag=-1;</p><p><b> /*函數(shù)聲明*/</b></p><p> void welcome();</p><p> void auther();</p><p> int buy();</p><p> int abandon();</p><
54、;p> int find_buyhistory();</p><p> int find_abahistory();</p><p> int sysTime();</p><p> int DAY(int year,int month);</p><p> int find_equip();</p><p
55、> void loadRec();</p><p> void save();</p><p> void gotoxy(int x,int y);</p><p><b> /*主函數(shù)*/</b></p><p> int main()</p><p><b> {&
56、lt;/b></p><p> system("color 0a");</p><p> auther();/*軟件名稱及開發(fā)者顯示*/</p><p> welcome();/*歡迎界面顯示*/</p><p> loadRec();</p><p><b> while
57、(1)</b></p><p><b> {</b></p><p> switch(menu())</p><p><b> {</b></p><p> system("cls");</p><p> case 1:buy();b
58、reak;</p><p> case 2:abandon();getchar();break;</p><p> case 3:find_buyhistory();break;</p><p> case 4:find_abahistory();break;</p><p> case 5:find_equip();break;&l
59、t;/p><p> case 0:save();exit(0);break;</p><p><b> default:{</b></p><p> printf("\n選擇錯(cuò)誤,請(qǐng)按主菜單提示輸入您的正確選擇(0~4)\n");</p><p> printf("按任意鍵返回繼續(xù):&q
60、uot;);</p><p> rewind(stdin);/*清空緩沖區(qū)*/</p><p><b> getch();</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
61、}</b></p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*菜單*/</b></p><p> int menu()</p><p><b> {&
62、lt;/b></p><p> int choice;</p><p> system("cls");</p><p> gotoxy(33,5);printf("主菜單\n\n");Sleep(500);</p><p> gotoxy(33,7);printf("1.購(gòu)買設(shè)
63、備\n\n");Sleep(500);</p><p> gotoxy(33,9);printf("2.報(bào)廢設(shè)備\n\n");Sleep(500);</p><p> gotoxy(33,11);printf("3.查詢?cè)O(shè)備購(gòu)買歷史\n\n");Sleep(500);</p><p> gotoxy(33
64、,13);printf("4.查詢?cè)O(shè)備報(bào)廢歷史\n\n");Sleep(500);</p><p> gotoxy(33,15);printf("5.統(tǒng)計(jì)指定日期公司各設(shè)備可以使用的數(shù)量\n\n");Sleep(500);</p><p> gotoxy(33,17);printf("0.保存并退出\n\n\n");Sl
65、eep(500);</p><p> gotoxy(33,19);printf("請(qǐng)輸入您的選擇(0~5):");Sleep(500);</p><p> rewind(stdin);/*清空緩沖區(qū)*/</p><p> choice=-1;</p><p> scanf("%d",&
66、choice);</p><p> rewind(stdin);</p><p> return choice;/*返回用戶的選擇*/</p><p><b> }</b></p><p> /*軟件名稱及開發(fā)者顯示*/</p><p> void auther()</p>
67、<p><b> {</b></p><p> system("cls");</p><p> printf("\n\n\n\n\n\n\n\t\t\t 軟件名稱:設(shè)備管理系統(tǒng)\n\n");</p><p> printf("\t\t\t 學(xué)生:k1223-5
68、 \n\n");</p><p> printf("\t\t\t 指導(dǎo)老師:胡寧亞\n\n");</p><p> printf("\t\t\t 時(shí)間:%ld\n\n",sysTime());</p><p> printf("\t\t\t 按回任意鍵進(jìn)入系統(tǒng):");
69、</p><p><b> getch();</b></p><p><b> }</b></p><p> /*歡迎界面顯示*/</p><p> void welcome()</p><p><b> {</b></p>&l
70、t;p> int i,x,y;</p><p><b> char ch;</b></p><p> system("cls");</p><p> for(i=0;i<500;i++)</p><p><b> {</b></p><
71、p> x=rand()%80;</p><p> y=rand()%25;</p><p> ch=rand()%26+65;</p><p> gotoxy(x,y);</p><p> printf("%c",ch);</p><p><b> Sleep(1);&l
72、t;/b></p><p><b> }</b></p><p> Sleep(1500);</p><p> system("cls");</p><p> printf("\n\n\n\n\n\t\t\t 歡迎使用設(shè)備管理系統(tǒng)!");</p>
73、;<p><b> getch();</b></p><p><b> }</b></p><p> int buy(FILE *fp)</p><p><b> {</b></p><p> char choice='y';</p
74、><p><b> infor *p;</b></p><p> time_t rawtime;</p><p> struct tm *timeinfo;</p><p> time(&rawtime);</p><p> timeinfo=localtime(&rawti
75、me);</p><p> if(flag==1)</p><p><b> {</b></p><p> printf("請(qǐng)輸入部門編號(hào) 部門名稱 設(shè)備編號(hào) 設(shè)備名稱 設(shè)備數(shù)量 設(shè)備價(jià)格:\n"); </p><p> loop1:p=head;</p><p>
76、 while(p->next!=NULL)</p><p><b> {</b></p><p> p=p->next;</p><p><b> }</b></p><p> p1=(infor *)malloc(LEN);//為新節(jié)點(diǎn)分配空間 </p><
77、;p> scanf("%s%s%s%s%d%d",p1->depar.depart_ID,p1->depar.depart_name,p1->equip.equip_ID,p1->equip.equip_name,&p1->equip.b_number,&p1->equip.price);</p><p> p1->equip
78、.a_number=0;</p><p> p1->equip.buy_date.year=1900+timeinfo->tm_year;</p><p> p1->equip.buy_date.month=1+timeinfo->tm_mon;</p><p> p1->equip.buy_date.day=timeinfo-&
79、gt;tm_mday;</p><p> printf("花費(fèi)了%d元\n",p1->equip.price*p1->equip.b_number);</p><p> rewind(stdin);</p><p> printf("是否繼續(xù)(y/n)?");</p><p> sc
80、anf("%c",&choice); </p><p> p->next=p1;</p><p> p1->next=NULL;</p><p> if(choice=='y'||choice=='Y') goto loop1;</p><p><b>
81、 }</b></p><p><b> else</b></p><p><b> {</b></p><p> head=(infor *)malloc(LEN);</p><p><b> p=head;</b></p><p>
82、<b> flag=1;</b></p><p><b> do</b></p><p><b> {</b></p><p> p1=(infor *)malloc(LEN);//為新節(jié)點(diǎn)分配空間 </p><p> p1->next=NULL;</p
83、><p> printf("請(qǐng)輸入部門編號(hào) 部門名稱 設(shè)備編號(hào) 設(shè)備名稱 設(shè)備數(shù)量 設(shè)備價(jià)格:\n"); </p><p> scanf("%s%s%s%s%d%d",p1->depar.depart_ID,p1->depar.depart_name,p1->equip.equip_ID,</p><p>
84、 p1->equip.equip_name,&p1->equip.b_number,&p1->equip.price);</p><p> p1->equip.a_number=0;</p><p> p1->equip.buy_date.year=1900+timeinfo->tm_year;</p><p&g
85、t; p1->equip.buy_date.month=1+timeinfo->tm_mon;</p><p> p1->equip.buy_date.day=timeinfo->tm_mday;</p><p> printf("花費(fèi)了%d元\n",p1->equip.price*p1->equip.b_number);<
86、;/p><p> rewind(stdin);</p><p> printf("是否繼續(xù)(y/n)?");</p><p> scanf("%c",&choice); </p><p> p->next=p1;</p><p><b> p=p1;
87、</b></p><p> }while((choice=='y'||choice=='Y'));</p><p><b> }</b></p><p><b> }</b></p><p> int abandon()</p>&l
88、t;p><b> {</b></p><p> if(flag==1)</p><p><b> {</b></p><p> int a,c,i=0;</p><p> DATA time1,time2;</p><p> char d_ID[20],e_
89、ID[20];</p><p> infor *p,*h;</p><p> system("cls");</p><p> printf("請(qǐng)輸入要報(bào)廢設(shè)備的部門編號(hào)、設(shè)備編號(hào)\n");</p><p> scanf("%s%s",d_ID,e_ID);</p>
90、<p> p1=head->next;</p><p> while(p1!=NULL)</p><p><b> {</b></p><p> if(strcmp(e_ID,p1->equip.equip_ID)==0&&strcmp(d_ID,p1->depar.depart_ID)=
91、=0&&p1->equip.b_number>0)</p><p><b> {</b></p><p><b> i++;</b></p><p> a=p1->equip.b_number;</p><p> time2=p1->equip.b
92、uy_date;</p><p><b> h=p1;</b></p><p><b> }</b></p><p> p1=p1->next;</p><p><b> }</b></p><p><b> if(i==0)&
93、lt;/b></p><p><b> {</b></p><p> printf("設(shè)備%s不存在",e_ID);getch();</p><p><b> return ;</b></p><p><b> }</b></p>
94、<p><b> else</b></p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p> system("cls");</p&g
95、t;<p> printf("請(qǐng)輸入要報(bào)廢時(shí)間的年(>=%d )\n",time2.year);</p><p> scanf("%d",&time1.year);</p><p> if(time1.year<time2.year) </p><p><b> contin
96、ue;</b></p><p> else if(time1.year==time2.year)</p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p>
97、printf("請(qǐng)輸入要報(bào)廢時(shí)間的月(%d<=month<=12)\n",time2.month);</p><p> scanf("%d",&time1.month);rewind(stdin);</p><p> }while(time1.month>12||time1.month<1);</p>
98、<p> if(time1.month<time2.month) continue;</p><p> else if(time1.month==time2.month)</p><p><b> {</b></p><p><b> do</b></p><p><
99、b> {</b></p><p> printf("請(qǐng)輸入要報(bào)廢時(shí)間的日(%d<=day<=%d)\n",time2.day,DAY(time1.year,time1.month));</p><p> scanf("%d",&time1.day);rewind(stdin);</p><
100、;p> }while(time1.day<=0||time1.day>DAY(time1.year,time1.month));</p><p> if(time1.day<time2.day) continue;</p><p><b> else </b></p><p><b> {</b&
101、gt;</p><p> goto loop;</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p&g
102、t;<p><b> do</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入要報(bào)廢時(shí)間的日(1<=day<=%d)\n",DAY(time1.year,time1.month));</p><p> scanf("%d&q
103、uot;,&time1.day);rewind(stdin);</p><p> }while(time1.day<=0||time1.day>DAY(time1.year,time1.month));</p><p> goto loop;</p><p><b> }</b></p><p>
104、;<b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p>
105、 printf("請(qǐng)輸入要報(bào)廢時(shí)間的月(1<=month<=12)\n");</p><p> scanf("%d",&time1.month);rewind(stdin);</p><p> }while(time1.month>12||time1.month<1);</p><p>&
106、lt;b> do</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入要報(bào)廢時(shí)間的日(1<=day<=%d)\n",DAY(time1.year,time1.month));</p><p> scanf("%d",&time
107、1.day);rewind(stdin);</p><p> }while(time1.day<=0||time1.day>DAY(time1.year,time1.month));</p><p> goto loop;</p><p><b> }</b></p><p> }while(1);&
108、lt;/p><p><b> loop:do</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入報(bào)廢臺(tái)數(shù)(1~%d)\n",a);</p><p> scanf("%d",&c);rewind(stdin);&l
109、t;/p><p> }while(c>a||c<=0);</p><p> p1=head->next;</p><p> while(p1!=NULL)</p><p><b> {</b></p><p> if(strcmp(e_ID,p1->equip.equ
110、ip_ID)==0&&strcmp(d_ID,p1->depar.depart_ID)==0&&p1->equip.b_number>0) </p><p> p1->equip.b_number-=c;</p><p> p1=p1->next;</p><p><b> }</b
111、></p><p><b> p=head;</b></p><p> while(p->next!=NULL)</p><p> p=p->next;</p><p> p2=(infor *)malloc(LEN);//為新節(jié)點(diǎn)分配空間 </p><p><b
112、> p2=h;</b></p><p> strcpy(p2->depar.depart_ID,d_ID);</p><p> strcpy(p2->equip.equip_ID,e_ID);</p><p> p2->equip.a_number=c;</p><p> p2->equip
113、.aban_data=time1;</p><p> p2=p2->next;</p><p> printf("報(bào)廢成功");</p><p><b> }</b></p><p><b> }</b></p><p><b>
114、 else</b></p><p> printf("無(wú)設(shè)備記錄,請(qǐng)先購(gòu)買設(shè)備\n");getch();</p><p><b> }</b></p><p> int find_buyhistory()</p><p><b> {</b></p>
115、;<p> if(flag==1)</p><p><b> {</b></p><p><b> int i=0;</b></p><p> char e_ID[20];</p><p> system("cls");</p><p&
116、gt; printf("\n\n\n\n\n\t\t\t 請(qǐng)輸入要查詢?cè)O(shè)備的設(shè)備編號(hào)\n");</p><p> scanf("%s",e_ID);</p><p> p1=head->next;</p><p> while(p1!=NULL)</p><p><b>
117、{</b></p><p> if(strcmp(e_ID,p1->equip.equip_ID)==0&&p1->equip.b_number>0)</p><p><b> i++;</b></p><p> p1=p1->next;</p><p><
118、;b> }</b></p><p><b> if(i!=0)</b></p><p><b> {</b></p><p> p1=head->next;</p><p> while(p1!=NULL)</p><p><b>
119、 {</b></p><p> if(strcmp(e_ID,p1->equip.equip_ID)==0&&p1->equip.b_number>0) </p><p> printf("部門編號(hào): %s\n部門名稱: %s\n設(shè)備編號(hào): %s\n設(shè)備名稱: %s\n購(gòu)買臺(tái)數(shù):%d\n購(gòu)買時(shí)間: %d-%d-%d\n\n&qu
120、ot;,</p><p> p1->depar.depart_ID,p1->depar.depart_name,p1->equip.equip_ID,p1->equip.equip_name,</p><p> p1->equip.b_number,p1->equip.buy_date.year,p1->equip.buy_date.month
121、,</p><p> p1->equip.buy_date.day); </p><p> p1=p1->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b&g
122、t;</p><p> printf("無(wú)%s的購(gòu)買歷史",e_ID);</p><p><b> getch();</b></p><p><b> }</b></p><p><b> else</b></p><p>
123、 printf("無(wú)設(shè)備記錄,請(qǐng)先購(gòu)買設(shè)備\n");getch();</p><p><b> }</b></p><p> int find_abahistory()</p><p><b> {</b></p><p> if(flag==1)</p>
124、<p><b> {</b></p><p><b> int i=0;</b></p><p> char d_ID[20];</p><p> system("cls");</p><p> printf("請(qǐng)輸入要查詢的部門編號(hào)\n"
125、);</p><p> scanf("%s",d_ID);</p><p> p1=head->next;</p><p> while(p1!=NULL)</p><p><b> {</b></p><p> if(strcmp(d_ID,p1->de
126、par.depart_ID)==0&&p1->equip.a_number>0) </p><p><b> i++;</b></p><p> p1=p1->next;</p><p><b> }</b></p><p><b> if(i!=
127、0)</b></p><p><b> {</b></p><p> p1=head->next;</p><p> while(p1!=NULL)</p><p><b> {</b></p><p> if(strcmp(d_ID,p1->
128、;depar.depart_ID)==0&&p1->equip.a_number>0) </p><p><b> {</b></p><p> printf("部門編號(hào): %s\n部門名稱: %s\n設(shè)備編號(hào): %s\n設(shè)備名稱: %s\n報(bào)廢臺(tái)數(shù): %d\n報(bào)廢日期: %d-%d-%d\n",p1->dep
129、ar.depart_ID,p1->depar.depart_name,p1->equip.equip_ID,p1->equip.equip_name,p1->equip.a_number,p1->equip.aban_data.year,p1->equip.aban_data.month,p1->equip.aban_data.day); </p><p><b&g
130、t; }</b></p><p> p1=p1->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> printf("
131、;無(wú)%s部門的報(bào)廢歷史",d_ID);</p><p><b> getch();</b></p><p><b> }</b></p><p><b> else</b></p><p> printf("無(wú)設(shè)備記錄,請(qǐng)先購(gòu)買設(shè)備\n")
132、;getch();</p><p><b> }</b></p><p> int find_equip()</p><p><b> {</b></p><p> if(flag==1)</p><p><b> {</b></p>
133、;<p><b> int i=0;</b></p><p> unsigned long day;</p><p> system("cls");</p><p> printf("請(qǐng)輸入要查詢的日期\n");</p><p> scanf("%
134、ld",&day);</p><p> p1=head->next;</p><p> while(p1!=NULL)</p><p><b> {</b></p><p> if((p1->equip.aban_data.year*10000+p1->equip.aban_d
135、ata.month*100+p1->equip.aban_data.day)>=day&&p1->equip.b_number>0) </p><p><b> {</b></p><p> printf("部門編號(hào): %s\n部門名稱: %s\n設(shè)備編號(hào): %s\n設(shè)備名稱: %s\n臺(tái)數(shù): %d%\n\n&qu
136、ot;,p1->depar.depart_ID,p1->depar.depart_name,p1->equip.equip_ID,p1->equip.equip_name,p1->equip.b_number); </p><p><b> i++;</b></p><p><b> }</b></p>
137、;<p> p1=p1->next;</p><p><b> }</b></p><p><b> getch();</b></p><p><b> if(i==0)</b></p><p> printf("\n\n\n\t\t\t
138、%ld之后無(wú)可用設(shè)備",day);</p><p><b> }</b></p><p><b> else</b></p><p> printf("無(wú)設(shè)備記錄,請(qǐng)先購(gòu)買設(shè)備\n");getch();</p><p><b> }</b>
139、</p><p> int DAY(int year,int month)</p><p><b> {</b></p><p> if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)</p><p> return
140、31;</p><p> else if(month==4||month==6||month==9||month==11)</p><p> return 30;</p><p><b> else</b></p><p><b> {</b></p><p> i
141、f((year%4==0&&year%100!=0)||(year%400==0))</p><p> return 29;</p><p><b> else</b></p><p> return 28;</p><p><b> }</b></p><
142、;p><b> }</b></p><p> int sysTime()</p><p><b> {</b></p><p> unsigned long day;</p><p> time_t rawtime;</p><p> struct tm *
143、timeinfo;</p><p> time(&rawtime);</p><p> timeinfo=localtime(&rawtime);</p><p> returnday=(1900+timeinfo->tm_year)*10000+(1+timeinfo->tm_mon)*100+timeinfo->tm_m
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)報(bào)告力學(xué)實(shí)驗(yàn)設(shè)備管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---設(shè)備管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--公司設(shè)備管理系統(tǒng)
- 課程設(shè)計(jì)(實(shí)驗(yàn)設(shè)備管理系統(tǒng))
- c++課程設(shè)計(jì)---實(shí)驗(yàn)室設(shè)備管理系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)設(shè)備管理系統(tǒng)
- 課程設(shè)計(jì)--設(shè)備管理系統(tǒng)實(shí)現(xiàn)—管理模塊
- java課程設(shè)計(jì)報(bào)告-設(shè)備管理系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)(設(shè)備管理)
- 課程設(shè)計(jì)報(bào)告--實(shí)驗(yàn)設(shè)備管理系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)-賓館管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--宿舍管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)車票管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--車票管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--銷售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——教材管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-人員管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)----銷售管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論