軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告
軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告
通過(guò)這次在清華IT的實(shí)習(xí),學(xué)到了很多東西。也了解到了軟件開(kāi)發(fā)的真正價(jià)值。這次的實(shí)踐讓我真切體會(huì)到了我們前面所學(xué)知識(shí)的用處所在。以前總認(rèn)為所學(xué)的知識(shí)只是理論上的知識(shí),根本就沒(méi)有任何作用,但通過(guò)這次實(shí)習(xí),讓我學(xué)有所用。而且學(xué)到了很多在學(xué)校學(xué)不到的東西,受益匪淺。
在這個(gè)信息時(shí)代,信息都是電子化。很多方面根本不在是一些手把手的管理,而是在電腦面前操作一下即可,讓我們真正享受到高科技的待遇。在軟件開(kāi)發(fā)領(lǐng)域,做一個(gè)項(xiàng)目的出發(fā)點(diǎn)是提高辦事效率。而在項(xiàng)目制作的過(guò)程中我們要使一個(gè)軟件簡(jiǎn)潔實(shí)用,人性化,快捷方便。
這次實(shí)習(xí)的主要任務(wù)是圖書(shū)管理系統(tǒng)的開(kāi)發(fā)。項(xiàng)目運(yùn)行的平臺(tái)是WindowsXP,運(yùn)用系統(tǒng)主要是MicrosoftVisualStudio201*,
MicrosoftSQLServer201*,運(yùn)用的知識(shí)主要有我們學(xué)習(xí)過(guò)的知識(shí)數(shù)據(jù)庫(kù)技術(shù),以及實(shí)習(xí)過(guò)程中所提及的知識(shí)。在軟件開(kāi)發(fā)果過(guò)程中首先要了解三層結(jié)構(gòu)的的含義及其設(shè)計(jì)模式思想部署企業(yè)級(jí)數(shù)據(jù)庫(kù)業(yè)務(wù)系統(tǒng)開(kāi)發(fā)。三層結(jié)構(gòu)是一種成熟、簡(jiǎn)單并得到普遍應(yīng)用的應(yīng)用程序架構(gòu),它將應(yīng)用程序結(jié)構(gòu)劃分三層獨(dú)立的包,包括用戶(hù)表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層。其中將實(shí)現(xiàn)人機(jī)界面的所有表單和組件放在表示層,將所有業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn)封裝在負(fù)責(zé)業(yè)務(wù)邏輯組件中,將所有和數(shù)據(jù)庫(kù)的交互封裝在數(shù)據(jù)訪問(wèn)組件中。其結(jié)構(gòu)如下圖1所示:(未顯示出)
三層結(jié)構(gòu)示意圖
三層結(jié)構(gòu)是一種嚴(yán)格分層方法,即數(shù)據(jù)訪問(wèn)層只能被業(yè)務(wù)邏輯層訪問(wèn),業(yè)務(wù)邏輯層只能被表示層訪問(wèn),用戶(hù)通過(guò)表示層將請(qǐng)求傳送給業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層完成相關(guān)業(yè)務(wù)規(guī)則和邏輯,并通過(guò)數(shù)據(jù)訪問(wèn)層訪問(wèn)數(shù)據(jù)庫(kù)獲得數(shù)據(jù),然后按照相反的順序依次返回將數(shù)據(jù)顯示在表示層。下面介紹圖書(shū)管理系統(tǒng)開(kāi)發(fā)技術(shù):一系統(tǒng)的功能設(shè)計(jì)
首先對(duì)系統(tǒng)進(jìn)行需求分析,我們必須要知道要做一個(gè)系統(tǒng)“用來(lái)干什么”,這需要在對(duì)用戶(hù)需求進(jìn)行充分調(diào)研的基礎(chǔ)上,深入理解并描述出軟件的功能、性能、接口等方面的需求,可以使用UML建模作為需求分析和系統(tǒng)設(shè)計(jì)的有效方法。圖(1)給出了本圖書(shū)管理系統(tǒng)的功能結(jié)構(gòu)圖,其工作流程為:普通用戶(hù)直接登錄主頁(yè)面,只能瀏覽、快速查詢(xún)圖書(shū)、注冊(cè)新用戶(hù)、修改自己的密碼以及查看圖書(shū)的詳情,管理員用戶(hù)除了可以完成普通用戶(hù)的操作外,還可以進(jìn)入圖書(shū)管理模塊進(jìn)行圖書(shū)添加、修改和刪除的操作。
1、系統(tǒng)的功能特點(diǎn):
(1)操作簡(jiǎn)單、界面友好:插入表格的頁(yè)面布局,使得圖書(shū)的錄入工作更簡(jiǎn)便;許多選項(xiàng)包括圖書(shū)類(lèi)別、來(lái)源等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶(hù)隨時(shí)清楚自己的操作情況。
(2)即時(shí)可見(jiàn):對(duì)圖書(shū)的處理(包括圖書(shū)添加、修改、刪除)將立即在主頁(yè)的對(duì)應(yīng)欄目顯示出來(lái),達(dá)到"即時(shí)處理、即時(shí)見(jiàn)效"的功能。
(3)功能完善:包括常見(jiàn)網(wǎng)站的圖書(shū)管理的各個(gè)方面:圖書(shū)新增、瀏覽、刪除、修改、檢索等各個(gè)方面,完整地實(shí)現(xiàn)了網(wǎng)站對(duì)即時(shí)圖書(shū)的管理要求。
(4)方便移植:針對(duì)不同的圖書(shū)館,只需要稍作修改就可以開(kāi)發(fā)出適合本企業(yè)特點(diǎn)的網(wǎng)站圖書(shū)管理系統(tǒng)。
2、系統(tǒng)的詳細(xì)設(shè)計(jì)系統(tǒng)的主要功能是通過(guò)幾個(gè)功能模塊來(lái)實(shí)現(xiàn)的。具體的設(shè)計(jì)過(guò)程如下:
⑴系統(tǒng)登錄:該模塊負(fù)責(zé)將用戶(hù)分為普通用戶(hù)和管理員用戶(hù)來(lái)實(shí)現(xiàn)用戶(hù)權(quán)限的管理。
⑵圖書(shū)類(lèi)別管理:該模塊只有管理員才有的權(quán)限,管理員可以對(duì)圖書(shū)的大、小類(lèi)進(jìn)行添加、更新、刪除等操作。
⑶庫(kù)存圖書(shū)瀏覽:該模塊負(fù)責(zé)分頁(yè)列出圖書(shū)館中所有圖書(shū)的信息,包括圖書(shū)名稱(chēng)、作者、出版社,圖書(shū)狀態(tài),每條記錄后面都有一個(gè)查看詳情,查看詳情被做成一個(gè)超鏈接,點(diǎn)擊它們就能跳轉(zhuǎn)頁(yè)面可以查看更多的詳情如圖書(shū)封面、圖書(shū)數(shù)量、圖書(shū)出版年份。⑷庫(kù)存圖書(shū)添加:該模塊是圖書(shū)管理員進(jìn)行圖書(shū)的添加,權(quán)限僅限管理員,在此頁(yè)面中的大小類(lèi)實(shí)現(xiàn)了聯(lián)動(dòng)作用,點(diǎn)擊其大類(lèi),小類(lèi)的下拉列表中就會(huì)顯示與之對(duì)應(yīng)的小類(lèi),從中選擇即可。
⑷圖書(shū)快速查詢(xún):該模塊提供了圖書(shū)快速查詢(xún)功能,輸入待查找的圖書(shū)名稱(chēng)可以快速地找到符合條件的圖書(shū),并輸出查詢(xún)結(jié)果,點(diǎn)擊產(chǎn)看詳情字樣就可以查看圖書(shū)的詳細(xì)信息。
⑸編輯系統(tǒng)用戶(hù):該模塊負(fù)責(zé)分頁(yè)羅列注冊(cè)用戶(hù)的具體信息,普通用戶(hù)本人或管理員可以對(duì)用戶(hù)進(jìn)行刪除、修改。非普通用戶(hù)或系統(tǒng)管理員外不具有對(duì)該用戶(hù)的處理權(quán)限,所以不同普通用戶(hù)進(jìn)入此頁(yè)面將顯示不同的內(nèi)容。
⑹修改用戶(hù)密碼:普通用戶(hù)本人用戶(hù)錄入所需要的內(nèi)容,包含用戶(hù)名、真實(shí)姓名、權(quán)限類(lèi)型、舊密碼及新密碼,點(diǎn)擊更改即可修改密碼,并寫(xiě)入數(shù)據(jù)庫(kù)中保存。
⑺系統(tǒng)名稱(chēng)設(shè)置:該模塊為管理員權(quán)限,管理員可以更改圖書(shū)系統(tǒng)的名稱(chēng)。普通用戶(hù)為不可見(jiàn)狀態(tài)。⑻系統(tǒng)使用說(shuō)明:主要是供普通用戶(hù)和管理員閱讀,使之更好地了解本系統(tǒng)的權(quán)限以及用法。
下面給出系統(tǒng)后端數(shù)據(jù)存儲(chǔ)方案:
利用MicrosoftSQLServer201*建立數(shù)據(jù)庫(kù)及其存儲(chǔ)過(guò)程。這里給出幾個(gè)必需的數(shù)據(jù)表,主要有system,bigClass,smallClass,users,Books。
二、ASP部分設(shè)計(jì)
1、連接數(shù)據(jù)庫(kù)
訪問(wèn)數(shù)據(jù)庫(kù)信息的第一步是和數(shù)據(jù)庫(kù)源建立連接。ADO提供
Connection對(duì)象,可以使用該對(duì)象建立和管理應(yīng)用程序和ODBC數(shù)據(jù)庫(kù)之間的連接。Connection對(duì)象具有各種屬性和方法,可以使用它們打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)連接,并且發(fā)出查詢(xún)請(qǐng)求來(lái)更新信息。
要建立數(shù)據(jù)庫(kù)連接,在中鏈接到數(shù)據(jù)庫(kù)2、數(shù)據(jù)的綁定
數(shù)據(jù)的連接分為直接連接和間接連接,前面所舉例子用的是直接連接,下面用間接地方法對(duì)數(shù)據(jù)進(jìn)行綁定。主要是利用數(shù)據(jù)適配器SqlAdatapter(),下面的函數(shù)方法是對(duì)數(shù)據(jù)綁定:
此方法也可以插在所要調(diào)用的函數(shù)中,但是將這個(gè)方法單獨(dú)提出有利于后面的利用,后面對(duì)數(shù)據(jù)進(jìn)行綁定時(shí)就可以用這個(gè)方法,避免做重復(fù)的工作,減少工作量。
3、加密方法
本系統(tǒng)的加密方法是MD5,以一個(gè)例子來(lái)說(shuō)明:Stringoldpassword=this.Textpassword.Text;
Stringnewpassword=
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password,"md5");
擴(kuò)展閱讀:軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告
信息科學(xué)與技術(shù)學(xué)院
本科一年級(jí)
軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告
專(zhuān)業(yè):班級(jí):姓名:學(xué)號(hào):
實(shí)習(xí)指導(dǎo)單位:軟件工程實(shí)驗(yàn)中心
年月日
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
2誠(chéng)信承諾:
本人__________保證本次軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告和程序設(shè)計(jì)源程序均為自己獨(dú)立編輯完成,軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告不會(huì)有三分之一以上的內(nèi)容與其他同學(xué)雷同,程序設(shè)計(jì)源程序語(yǔ)句形式不會(huì)有三分之一以上與其他同學(xué)雷同,源程序結(jié)構(gòu)也不會(huì)有三分之一以上與其他同學(xué)雷同。如果出現(xiàn)以上情況,本次軟件開(kāi)發(fā)實(shí)習(xí)成績(jī)自愿記為零分。
承諾人簽名:________________日期:_______年______月_____日
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
3目錄
第1章程序設(shè)計(jì)....................................................................................................................4
1.1模塊分析...................................................................................................................41.2程序結(jié)構(gòu)...................................................................................................................51.3書(shū)籍結(jié)構(gòu)體設(shè)計(jì)........................................................................................................5第2章程序設(shè)計(jì)過(guò)程..............................................................................................................6
2.1進(jìn)書(shū)模塊....................................................................................................................62.2查詢(xún)模塊....................................................................................................................62.3添加模塊....................................................................................................................72.4覆蓋模塊....................................................................................................................82.5銷(xiāo)售模塊....................................................................................................................92.6利潤(rùn)模塊..................................................................................................................102.7庫(kù)存模塊..................................................................................................................10第3章用戶(hù)使用說(shuō)明.............................................................................................................11
3.1打開(kāi)程序...................................................................................................................11
3.2選擇功能...................................................................................................................113.2.1進(jìn)書(shū)信息............................................................................................................123.2.2查詢(xún)信息............................................................................................................133.2.3添加信息............................................................................................................153.2.4覆蓋信息............................................................................................................163.2.5銷(xiāo)售信息............................................................................................................183.2.6利潤(rùn)信息............................................................................................................19
3.2.7顯示庫(kù)存小于5信息...........................................................................................203.3退出程序..................................................................................................................20第4章源程序代碼及注釋.....................................................................................................21總結(jié)................................................................................................................................30
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
4第1章C++程序設(shè)計(jì)
1.1模塊分析
1.進(jìn)書(shū)模塊:進(jìn)購(gòu)書(shū)籍。2.查詢(xún)模塊:查詢(xún)書(shū)籍信息。3.添加模塊:再添加書(shū)籍信息。
4.覆蓋模塊:對(duì)原有數(shù)據(jù)進(jìn)行覆蓋修改。5.銷(xiāo)售模塊:查詢(xún)銷(xiāo)售信息。6.利潤(rùn)模塊:查詢(xún)最新利潤(rùn)。
7.庫(kù)存模塊:可查庫(kù)存信息并及時(shí)提醒庫(kù)存不足書(shū)籍信息。
進(jìn)書(shū)
程序模塊查詢(xún)添加覆蓋銷(xiāo)售利潤(rùn)庫(kù)存
本程序主要有7個(gè)模塊,分別是進(jìn)書(shū)、查詢(xún)、添加、覆蓋、銷(xiāo)售、利潤(rùn)、庫(kù)存。本程序是針對(duì)小型書(shū)店的管理員所設(shè)計(jì)的。
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
51.2程序結(jié)構(gòu)
這個(gè)小型書(shū)店管理系統(tǒng)是為管理員所設(shè)計(jì)的,因其簡(jiǎn)單的操作而比較適合于個(gè)人使用。本程序可以讓管理員隨時(shí)關(guān)注書(shū)籍銷(xiāo)售及利潤(rùn)信息,掌握進(jìn)貨出貨流量,可以說(shuō)非常人性化,以下是簡(jiǎn)單的結(jié)構(gòu)圖。
開(kāi)始退出退出退出鍵書(shū)籍查詢(xún)管理退出鍵編號(hào)作者書(shū)名進(jìn)價(jià)售價(jià)進(jìn)書(shū)添加書(shū)查看信息覆蓋銷(xiāo)售利潤(rùn)庫(kù)存
1.3書(shū)籍結(jié)構(gòu)體設(shè)計(jì)
本程序?qū)?shū)籍主要分為9類(lèi),即有9個(gè)結(jié)構(gòu)體變量,其中有兩個(gè)靜態(tài)結(jié)構(gòu)體變量,用于在各個(gè)成員函數(shù)進(jìn)行實(shí)現(xiàn),分別為:Amount原始庫(kù)存Sale銷(xiāo)售量Number編號(hào)Name書(shū)名Author作者E-price進(jìn)價(jià)S-price售價(jià)Sum銷(xiāo)售額
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
6Profit利潤(rùn)
第2章程序設(shè)計(jì)過(guò)程
2.1進(jìn)書(shū)模塊
首先是進(jìn)入用戶(hù)界面,我們看到選號(hào)1為進(jìn)書(shū)。對(duì)于小型書(shū)店管理系統(tǒng)的使用者來(lái)說(shuō),進(jìn)購(gòu)書(shū)籍是必不可少的,同時(shí)也是需要及時(shí)獲得進(jìn)購(gòu)書(shū)籍的有關(guān)信息。原始庫(kù)存
銷(xiāo)售量編號(hào)書(shū)名作者進(jìn)價(jià)售價(jià)進(jìn)購(gòu)書(shū)籍2.2查詢(xún)模塊
對(duì)于書(shū)籍的有效管理是必須的,而這則需要運(yùn)用“查詢(xún)”功能來(lái)實(shí)現(xiàn)。
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
7編號(hào)
進(jìn)價(jià)售價(jià)查詢(xún)書(shū)籍書(shū)名作者庫(kù)存2.3添加模塊
添加模塊,市場(chǎng)上商品價(jià)格的浮動(dòng)瞬間變化,作為店家,當(dāng)然應(yīng)當(dāng)做好適時(shí)添加書(shū)籍的準(zhǔn)備以備不測(cè),而此添加模塊正好可以讓管理員更好地對(duì)書(shū)籍?dāng)?shù)量進(jìn)行管理編號(hào)書(shū)籍書(shū)名作者庫(kù)存進(jìn)價(jià)售價(jià)西南交通大學(xué)軟件實(shí)習(xí)報(bào)告8
再添加推出菜單是否繼續(xù)添加?2.4覆蓋模塊
書(shū)籍價(jià)格波動(dòng)很正常,店家為了在一定時(shí)期促銷(xiāo)或修改價(jià)格,則需要對(duì)某類(lèi)書(shū)籍的價(jià)格進(jìn)行修改,而覆蓋模塊則恰當(dāng)好處地實(shí)現(xiàn)了這個(gè)隨機(jī)應(yīng)變、想什么時(shí)候改就什么時(shí)候改的方便操作。
原始記錄編號(hào)書(shū)名作者數(shù)量進(jìn)價(jià)售價(jià)西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
9修改后的編號(hào)修改后的書(shū)名修改后的作者修改后的數(shù)量修改后的進(jìn)價(jià)修改后的售價(jià)修改2.5銷(xiāo)售模塊
銷(xiāo)售書(shū)籍首先應(yīng)先看是否有貨,若果有的話可以進(jìn)行銷(xiāo)售,本程序就是實(shí)現(xiàn)已經(jīng)將書(shū)籍存量信息實(shí)現(xiàn)錄入保存,等管理員需要調(diào)出的時(shí)候就能顯示。
銷(xiāo)售書(shū)籍是否有貨?所訂書(shū)籍大于庫(kù)存銷(xiāo)售成功所訂書(shū)籍大于庫(kù)存庫(kù)存不足西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
102.6利潤(rùn)模塊
管理員如果想知道某一本書(shū)具體的銷(xiāo)售情況及利潤(rùn)就可以通過(guò)“利潤(rùn)模塊”簡(jiǎn)明扼要地展現(xiàn)在眼前,事先文件已經(jīng)定位和寫(xiě)入。
編號(hào)書(shū)名作者數(shù)量銷(xiāo)售額利潤(rùn)輸入編號(hào)
2.7庫(kù)存模塊
本程序可以說(shuō)是最有實(shí)際意義的功能單位,任何小型書(shū)店的管理員都必須切實(shí)掌握每天庫(kù)存的數(shù)量以應(yīng)變采購(gòu)或促銷(xiāo),畢竟書(shū)店本身經(jīng)營(yíng)規(guī)模小,所以庫(kù)存的小事尤為重要,所以我因此設(shè)計(jì)了庫(kù)存模塊,對(duì)某類(lèi)書(shū)籍小于五本就顯示庫(kù)存不足,以提醒管理員積極及時(shí)地有效應(yīng)對(duì)。
輸入編號(hào)顯示編號(hào)、數(shù)量西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
11無(wú)此書(shū)
無(wú)此書(shū)記錄庫(kù)存充足庫(kù)存不足庫(kù)存西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
123.2選擇功能
3.2.1進(jìn)書(shū)信息
從鍵盤(pán)上輸入字符“1”,再按回車(chē),自動(dòng)進(jìn)入進(jìn)書(shū)信息模塊。我們可以輸入11a112
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
13輸入y或Y則繼續(xù)進(jìn)購(gòu)書(shū)籍輸入n或N則結(jié)束返回主菜單此時(shí)信息已經(jīng)被保存。
3.2.2查詢(xún)信息
輸入6,則進(jìn)入查詢(xún)功能,輸入編號(hào)6,回車(chē),再輸入編號(hào)1
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
14信息顯示成功!
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
153.2.3添加信息
輸入6進(jìn)入查詢(xún)功能,再輸入先前進(jìn)購(gòu)的信息書(shū)籍1則顯示:另添加0
最后按8推出
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
163.2.4覆蓋信息
如果想修改書(shū)籍信息的話,那當(dāng)然選擇“覆蓋信息”,這可以修改以前的記錄,實(shí)現(xiàn)實(shí)時(shí)地更新。我們還是以書(shū)籍編號(hào)1為實(shí)驗(yàn),在菜單中選5按回車(chē)。
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
17此時(shí)我們可對(duì)其進(jìn)行修改,例如111a12改為121a12則出現(xiàn)以下運(yùn)行結(jié)果:
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
18最后按8推出
3.2.5銷(xiāo)售信息
既然賣(mài)書(shū)就需要對(duì)銷(xiāo)售進(jìn)行全方位地了解,本程序可以讓管理員任意時(shí)刻添加銷(xiāo)售信息。
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
19我們可以設(shè)置銷(xiāo)售數(shù)量為一本,如圖
如圖,顯示銷(xiāo)售成功
3.2.6利潤(rùn)信息
既然有了銷(xiāo)售記錄,那么店家肯定想知道本店最新的銷(xiāo)售額和利潤(rùn)為多少,在此,我專(zhuān)門(mén)設(shè)計(jì)了關(guān)于銷(xiāo)售額和利潤(rùn)的信息模塊,讓店家第一時(shí)間知道賺了多少錢(qián)。還是以編號(hào)1為例。
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
20如圖,顯示銷(xiāo)售編號(hào)為1的書(shū)籍一本銷(xiāo)售額為2,銷(xiāo)售利潤(rùn)為1.
3.2.7庫(kù)存信息
進(jìn)貨出貨間,庫(kù)存的穩(wěn)定性關(guān)乎小型書(shū)店的信譽(yù)和人氣,所以我也對(duì)庫(kù)存專(zhuān)門(mén)做了一模塊,以便于店家方便地了解庫(kù)存的信息。還是以剛售完的編號(hào)1書(shū)籍為例。
輸入4,輸入1回車(chē)后顯示庫(kù)存不足
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
21我們可以非常清楚地看到編號(hào)為1的書(shū)籍顯示庫(kù)存不足,數(shù)量為0。
第4章源程序代碼及注釋
#include#include
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
22#includeusingnamespacestd;
classFunction{
private:
voidzaitianjia();//再添加voidaddbook();//進(jìn)書(shū)voidcoverbook();//覆蓋
voidsellbook();//銷(xiāo)售voidtell();//庫(kù)存voidcount();//利潤(rùn)voidcheckbook();//查詢(xún)public:
Function();//無(wú)參構(gòu)造函數(shù)virtual~Function(){file.close();}//析構(gòu)函數(shù)voidRun();//處理
fstreamfile;//書(shū)店文件};
structbook{
intamount;//原始庫(kù)存intsale;//銷(xiāo)售量
unsignedintnum;//書(shū)籍編號(hào)charname[20];//書(shū)籍名稱(chēng)charauthor[20];//書(shū)籍作者
floate_price;//進(jìn)價(jià)
floats_price;//售價(jià)
staticfloatsum;//銷(xiāo)售額staticfloatProfit;//銷(xiāo)售利潤(rùn)
};Function::Function()//無(wú)參構(gòu)造函數(shù){
ifstreamiFile("F.dat");//建立輸入文件if(iFile.fail())//打開(kāi)文件失敗{
ofstreamoFile("F.dat");//建立輸入出文件if(oFile.fail())throw("打開(kāi)文件失敗!!!");//拋出異常oFile.close();//關(guān)閉文件
}elseiFile.close();//文件存在,關(guān)閉文件
file.open("F.dat",ios::in|ios::out|ios::binary);//以讀寫(xiě)方式打開(kāi)西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
23}if(file.fail())throw("打開(kāi)文件失敗!!!");//拋出異常
voidFunction::zaitianjia(){
bookptr;
unsignedintnum;//編號(hào)intamount1;//添加量coutnum;
file.seekg(0);//定位
file.read((char*)&ptr,sizeof(book));//讀記錄
if(!file.eof())
{cout西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
24}}voidFunction::addbook(){
charch="Y";while(ch=="Y")
{cout西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
25cout西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
26cout西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
27{cout西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
28voidFunction::checkbook()//查詢(xún)信息{bookptr;
unsignedintnum;coutnum;
file.seekg(0);
file.read((char*)&ptr,sizeof(book));
if(!file.eof()){
cout西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
29cout西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
30intmain()
{Functionobj;if(obj.file.fail())throw("打開(kāi)文件失敗!");if(!obj.file.fail())}
{obj.Run();}
return0;
總結(jié)
事件是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),或許這話說(shuō)得有點(diǎn)大,但確實(shí)是我的心聲。從最初自認(rèn)為對(duì)C++語(yǔ)言比較了解,到真正上手操作編寫(xiě)出一個(gè)屬于自己的程序,期間經(jīng)歷了許多小困難和小挫折,比如開(kāi)始對(duì)小型書(shū)店管理系統(tǒng)的一頭霧水,不知該從何下手,但在看到一些精靈的同學(xué)先寫(xiě)出的流程圖后,自己也大致了解程序的手工圖紙?jiān)撛鯓尤ゲ贾茫驗(yàn)樽砸?guī)劃小型書(shū)店管理系統(tǒng)的時(shí)候,便自然而然地要分為兩個(gè)方向,一個(gè)是面向用戶(hù)會(huì)員,一個(gè)是面向店家管理員,當(dāng)然,可能一些高手會(huì)同時(shí)兼顧兩部分,而愚鈍的我還是選擇從管理員身份進(jìn)行編程,畢竟我認(rèn)為小型書(shū)店管理系統(tǒng)主要的功能及受眾群就是廣大的小店主,最然這僅僅是我編的小程序,不能被真正實(shí)際上的應(yīng)用,但我從思路上還是以實(shí)際為主,考慮店家該需要哪些功能,最終我設(shè)置了進(jìn)書(shū)、添加、覆蓋、查詢(xún)、銷(xiāo)售、利潤(rùn)、庫(kù)存幾類(lèi),大致上可以把店家的需求都滿(mǎn)足了。在本程序中自己運(yùn)用了類(lèi)、結(jié)構(gòu)體、虛析構(gòu)函數(shù)、無(wú)參構(gòu)造函數(shù)、靜態(tài)變量、有關(guān)Function的輸入流文件、文件的定位和讀取、getch()函數(shù)和利用switch條件語(yǔ)句調(diào)用函數(shù)等等C++功能,當(dāng)然開(kāi)始編程遇到許多困難,一查就是幾十個(gè)錯(cuò)誤,這需要自己耐心地一個(gè)一個(gè)去調(diào)試解決。還有一些自己想要添加的功能卻因?yàn)樽约菏冀K不能在程序上順利地運(yùn)行,只好放棄,但對(duì)書(shū)店大致的框架沒(méi)有變化,總體來(lái)說(shuō)自己的程序是小兒精,沒(méi)有大的精彩,擔(dān)有小的亮點(diǎn),這些都得益于老師給我們淳淳教導(dǎo)和同學(xué)之間的咨詢(xún)切磋,所以,最后再總結(jié)之際,我要感謝陪伴我們度過(guò)這段高強(qiáng)度實(shí)習(xí)的老師們,感謝和我共同商討、給我以啟發(fā)的同學(xué)們,沒(méi)有這些我的實(shí)習(xí)經(jīng)歷注定不完整或顯得相形見(jiàn)絀。同時(shí)在高新區(qū)軟件園的參觀也讓我了解自己所學(xué)專(zhuān)業(yè)廣闊的就業(yè)背景,當(dāng)然,不僅僅是就業(yè),還有隱藏在每一個(gè)軟件編程開(kāi)發(fā)人員心中的夢(mèng)想,這在我的參觀中深有感觸,平等地交流、急促的步
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
31伐、閃耀的奇思妙想、小資的生活方式,就在軟件園里重復(fù)發(fā)生著。最后希望老師還能對(duì)自己的報(bào)告給予指證和引導(dǎo),謝謝!
西南交通大學(xué)軟件實(shí)習(xí)報(bào)告
32參考書(shū)籍:
C++語(yǔ)言程序設(shè)計(jì)(清華大學(xué)出版社)
友情提示:本文中關(guān)于《軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告》給出的范例僅供您參考拓展思維使用,軟件開(kāi)發(fā)實(shí)習(xí)報(bào)告:該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。