軟件開發(fā)實(shí)習(xí)個(gè)人總結(jié)
信息科學(xué)與技術(shù)學(xué)院
本科一年級(jí)
軟件開發(fā)實(shí)習(xí)個(gè)人總結(jié)匯總
專業(yè):物聯(lián)網(wǎng)工程班級(jí):********
實(shí)習(xí)人數(shù):**指導(dǎo)教師:***
實(shí)習(xí)單位:軟件工程實(shí)驗(yàn)中心
201*年7月26
目錄
目錄
2馬翠翠201*2719(姓名+學(xué)號(hào))軟件開發(fā)實(shí)習(xí)總結(jié)...................................................................3沈萌(201*2724)軟件開發(fā)實(shí)習(xí)總結(jié)...........................................................................................4
軟件開發(fā)實(shí)習(xí)報(bào)告
馬翠翠201*2719(姓名+學(xué)號(hào))軟件開發(fā)實(shí)習(xí)總結(jié)
題目:食堂飯菜銷售管理系統(tǒng)小組成員:本人完成的任務(wù):一起進(jìn)行需求分析,對(duì)鏈表和文件兩方面的書寫后面程序結(jié)合后進(jìn)行程序小部分調(diào)試并對(duì)出現(xiàn)的問(wèn)題進(jìn)行討論解決本人軟件開發(fā)應(yīng)用系統(tǒng)設(shè)計(jì)收獲與體會(huì)(含實(shí)習(xí)參觀)以及建議或意見(不少于500字):本次軟件開發(fā)實(shí)習(xí)所應(yīng)用的時(shí)間也就是只有差不多八天的時(shí)間來(lái)完成一個(gè)相對(duì)以前來(lái)說(shuō)比較大的管理系統(tǒng)的書寫,綜合利用C++的知識(shí)來(lái)完成一個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)?吹竭@個(gè)題目時(shí)我們進(jìn)行需求分析,因?yàn)槲覀兡軌蜃龊眯枨蠓治鍪羌浅V匾囊徊,但是在分析是出現(xiàn)了點(diǎn)問(wèn)題,就是對(duì)題意的理解有點(diǎn)錯(cuò)誤或者是很偏,首先這是個(gè)銷售的管理系統(tǒng),之前理解太偏向于倉(cāng)庫(kù)的管理,因此很久都沒有拿出方案來(lái)。后來(lái)糾正了錯(cuò)誤,就是對(duì)對(duì)象進(jìn)行進(jìn)行提取它的屬性,做好基類,及其派生類。在實(shí)現(xiàn)代碼時(shí),由于之前我們就對(duì)鏈表及文件就幾乎不用,對(duì)他就是陌生的,但是在實(shí)現(xiàn)此工程時(shí)又必須要使用,所以我在開始的時(shí)候就開始在這方面下功夫,看如何來(lái)實(shí)現(xiàn)鏈表及對(duì)鏈表的操作。在這最大的收獲就是通過(guò)問(wèn)同學(xué)及自己對(duì)地址的分析基本上很深的明白了鏈表和文件,同時(shí)我們組的兩個(gè)人都能夠明白到底是怎么回事。很遺憾的是在這幾天中進(jìn)行的很多工作到最后沒有實(shí)現(xiàn),因?yàn)樗龅墓ぷ魇窃陬惱锩嬗袀(gè)鏈表類,也就是最終要實(shí)現(xiàn)的是鏈表中要嵌套鏈表,沒能夠?qū)崿F(xiàn),也怕時(shí)間不夠,就先把這部分省去了,最大的突破就是從文件中讀出內(nèi)容寫進(jìn)鏈表中,就算是應(yīng)用了兩天的時(shí)間,并且在咨詢同學(xué)的情況下成功,這是我們?cè)诖藢?shí)習(xí)種感覺最大的收獲。對(duì)此次實(shí)習(xí),很感謝,他就算把一年中所學(xué)到的知識(shí)融合在一起,并且真正的應(yīng)用,并對(duì)自己能力有很大的提高!軟件開發(fā)實(shí)習(xí)報(bào)告
但是感覺題目不是很好,或者說(shuō)把題目能夠說(shuō)得更清楚點(diǎn),因?yàn)轭}目的了解對(duì)程序的影響是決定性的,還有那些很硬式要求不要太硬式了,有的問(wèn)題也許不用那些方法可能會(huì)更好用,更簡(jiǎn)單!沈萌(201*2724)軟件開發(fā)實(shí)習(xí)總結(jié)
題目:食堂飯菜銷售管理系統(tǒng)小組成員本人完成的任務(wù):1.做需求分析;2.負(fù)責(zé)整個(gè)系統(tǒng)的總體設(shè)計(jì)3.編寫了飯菜管理、盤點(diǎn)檢查、退出、異常及菜單的程序;
軟件開發(fā)實(shí)習(xí)報(bào)告
4.負(fù)責(zé)調(diào)試程序檢查修改錯(cuò)誤及組織并參與報(bào)告的書寫。本人軟件開發(fā)應(yīng)用系統(tǒng)設(shè)計(jì)收獲與體會(huì)(含實(shí)習(xí)參觀)以及建議或意見(不少于500字):在本次軟件實(shí)習(xí)中,我是真的感受到自己無(wú)論是知識(shí)技能還是工作能力的提升。從拿到題目開始,我們開始做需求分析,為了讓我們的程序更加實(shí)用,系統(tǒng)更加穩(wěn)定,分析考慮得很細(xì),大大提高了自己的問(wèn)題分析能力。再通過(guò)對(duì)程序的設(shè)計(jì),以及實(shí)際對(duì)程序的編寫,極大地鞏固了自己的c++知識(shí),提升自己編程能力。編程這種東西,不像很多學(xué)科記記背背就可以,如果沒有大量的時(shí)間上機(jī)操作經(jīng)驗(yàn)的積累,就不可能學(xué)得好。而這次軟件開發(fā)實(shí)習(xí)就是為了我們這個(gè)機(jī)會(huì)。同時(shí),在實(shí)習(xí)中面對(duì)各種各樣的問(wèn)題,有的問(wèn)題一直纏繞了我們團(tuán)隊(duì)1-2天,但我們沒有放棄,一次又一次的查資料,分析代碼,一次又一次的嘗試,即使屢試屢敗,我們依舊不放棄。最后的成功,給我們帶來(lái)的喜悅是難溢于言表的,而在屢次失敗中的成功,總能讓人更加深刻的認(rèn)識(shí)到失敗的原因,讓自己的能力得到更大提升。同時(shí),也鍛煉了自己的耐心,細(xì)心,培養(yǎng)了很好的編程習(xí)慣。除了自身技能的提高,通過(guò)這次實(shí)習(xí),也大大增強(qiáng)了自己的團(tuán)隊(duì)精神,提高自己的團(tuán)隊(duì)合作能力以及在一個(gè)團(tuán)隊(duì)中的組織領(lǐng)導(dǎo)能力,合理安排時(shí)間,合理分工,讓整個(gè)過(guò)程更加優(yōu)化。同時(shí),我們也親身體驗(yàn)到未來(lái)可能的工作狀態(tài)。這幾天的集體挑燈夜戰(zhàn),集體苦中作樂,也讓同學(xué)們的關(guān)系更加親近融洽。最后,我還想提出自己的一點(diǎn)建議:本次軟件實(shí)習(xí)中,我們并沒有安排一些參觀和講座什么的,但我覺得這很有必要。理論聯(lián)系實(shí)際,才能加深和鞏固所學(xué)的理論知識(shí),提高實(shí)踐能力和計(jì)算機(jī)的綜合運(yùn)用能力。增加外出參觀的機(jī)會(huì),讓我們多了解真正的工作環(huán)境,讓我們能在在實(shí)踐中學(xué)到更多。
擴(kuò)展閱讀:軟件開發(fā)實(shí)習(xí)報(bào)告
信息科學(xué)與技術(shù)學(xué)院
本科一年級(jí)
軟件開發(fā)實(shí)習(xí)報(bào)告
專業(yè):*******班級(jí):*******
開發(fā)小組成員姓名:************開發(fā)小組成員學(xué)號(hào):*************
實(shí)習(xí)單位:軟件工程實(shí)驗(yàn)中心
201*年7月目錄
目錄
2誠(chéng)信承諾書......................................................................................................................................3一、二、三、四、五、六、七、八、九、
軟件開發(fā)設(shè)計(jì)題目...........................................................................................................4軟件開發(fā)設(shè)實(shí)習(xí)項(xiàng)目分工...............................................................................................4系統(tǒng)需求分析...................................................................................................................5總體設(shè)計(jì)..........................................................................................................................7詳細(xì)設(shè)計(jì)與實(shí)現(xiàn).............................................................................................................30運(yùn)行結(jié)果........................................................................................................................36程序清單........................................................................................................................54主要知識(shí)點(diǎn)....................................................................................................................98軟件開發(fā)實(shí)習(xí)收獲、體會(huì)及建議...............................................................................1軟件開發(fā)實(shí)習(xí)報(bào)告
誠(chéng)信承諾書
本小組成員_沈萌馬翠翠保證本次軟件開發(fā)實(shí)習(xí)報(bào)告為自己獨(dú)立總結(jié)、寫作完成,報(bào)告內(nèi)容和源程序不會(huì)有三分之一以上的內(nèi)容與其他同學(xué)雷同,如果出現(xiàn)以上情況,本次軟件開發(fā)實(shí)習(xí)成績(jī)自愿記為零分。
承諾人簽名:___**********_____
日期:_****__年_**月_***__日
軟件開發(fā)實(shí)習(xí)報(bào)告
一、軟件開發(fā)設(shè)計(jì)題目
學(xué)校食堂飯菜銷售管理系統(tǒng)二、
軟件開發(fā)設(shè)實(shí)習(xí)項(xiàng)目分工
工作內(nèi)容沈萌馬翠翠
需求分析√√程序設(shè)計(jì)√√程序調(diào)試√總結(jié)報(bào)告√√每日單品程序編寫工作內(nèi)容飯菜管理模塊銷售登記及盈虧分析模塊沈萌馬翠翠
軟件開總結(jié)報(bào)告發(fā)設(shè)實(shí)習(xí)項(xiàng)目分工沈萌馬翠翠
4刷新保存盤點(diǎn)檢查模塊文件(將鏈表寫入文件)√√從文件中讀取鏈表函數(shù)模塊√退出模塊、異常處理及主菜單模塊√√√軟件開系統(tǒng)需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)運(yùn)行結(jié)果程序清單主要知識(shí)點(diǎn)發(fā)實(shí)習(xí)收獲、體會(huì)及建議√√√√√√√√軟件開發(fā)實(shí)習(xí)報(bào)告
三、系統(tǒng)需求分析
我們組的課題是學(xué)校食堂銷售管理系統(tǒng)。初拿到這個(gè)題目,我們的第一感覺是食堂的進(jìn)貨,售飯,盈利什么的,于是做了很多分析,最后發(fā)現(xiàn)好像走偏了,重點(diǎn)放在了倉(cāng)庫(kù)管理,而不是銷售管理。于是我們又都推倒重來(lái),仔細(xì)研讀題目,并查閱了大量相關(guān)資料,最后終于去得一致意見如下:
作為食堂銷售管理系統(tǒng),首先,一定要有銷售的對(duì)象,即一定要有新飯菜錄入的功能。有飯菜的錄入,也是必要有飯菜的刪除,飯菜信息的修改,飯菜信息的查詢。即要滿足一個(gè)程序所擁有的“增”、“刪”、“改”、“查”的功能。于是我們?cè)O(shè)計(jì)了飯菜管理系統(tǒng)作為我們的第一模塊。
其次,除了以上對(duì)飯菜的管理,作為銷售管理系統(tǒng),一定要滿足用戶對(duì)銷售結(jié)果計(jì)算和顯示的功能。具體就是讓用戶錄入當(dāng)天的銷量以及損耗量,再自動(dòng)計(jì)算出某飯菜當(dāng)天的盈利與損耗,讓用戶直觀的分析數(shù)據(jù),有利于其優(yōu)化飯菜銷售,取得更大利益。于是我們把每日單品銷售登記及盈虧分析作為我們的第二模塊。
第三,除了對(duì)單個(gè)飯菜的分析,作為一個(gè)系統(tǒng),用戶有必要通過(guò)它了解到所有飯菜的信息,即對(duì)每個(gè)種類的盤點(diǎn)以及全盤的盤點(diǎn)。于是我們把盤點(diǎn)檢查作為我們的第三個(gè)模塊。
主體的功能就為以上三個(gè)模塊。下面就是如何具體實(shí)現(xiàn)。
首先,我們分析到對(duì)于飯菜,要定義一個(gè)基類,基本信息為:名稱,編號(hào),成本,售價(jià)。但不同種類的飯菜,基本信息就會(huì)有不同,因此飯菜基類后要派生出各種飯菜的派生類。在對(duì)飯菜分析后,我們定下了5大類,分別是主食類,面食類,早點(diǎn)類,菜類和飲料類。在主食類里派生出3種規(guī)格,分別為1、2、3兩;面食類派生出2種規(guī)格,大、小份。針對(duì)要?jiǎng)h除的問(wèn)題,我們決定將每個(gè)種類定義一個(gè)鏈表,方便數(shù)據(jù)信息的增刪改查。又因?yàn)橐4,又必須將所生成的鏈表?nèi)的信息寫入到文件中保存起來(lái),即將信息讀出到文件;要求它在下次打開時(shí),新建的鏈表內(nèi)又要有各個(gè)數(shù)據(jù),又要將文件中的內(nèi)容讀取入鏈表中。因此,我們分別定義了從文件中讀入和將數(shù)據(jù)讀入文件中的函數(shù)。要求在系統(tǒng)打開運(yùn)行時(shí),先自動(dòng)讀入數(shù)據(jù),在對(duì)數(shù)據(jù)進(jìn)行一系列修改后最后點(diǎn)保存,再讀入文件。
在退出時(shí),考慮到用戶可能不希望保存內(nèi)容或者不想退出,我們做了三個(gè)選擇項(xiàng),分別為退出并保存,退出不保存和取消退出。
為了讓系統(tǒng)更加穩(wěn)定,我們分析了各種會(huì)意外終結(jié)的情況,做出了全面的改進(jìn)。如菜單輸入有誤就返回在詢問(wèn)一次;選擇推出以功能時(shí),利用異常,使得按任意鍵都能返回。極大地優(yōu)化了一通的穩(wěn)定性。并且對(duì)于一個(gè)系統(tǒng),一定要能通過(guò)選擇來(lái)判斷是否循環(huán)某種功能或循環(huán)整個(gè)系統(tǒng),因此在做菜單的時(shí)候要加入循環(huán)的要求。
總之,我們的需求分析,立足實(shí)際,通過(guò)激烈的討論,磨合,在自己的能力范圍內(nèi)做出了自己認(rèn)為最優(yōu)化的方案。但我們知道,這不是終點(diǎn),沒有最好,只有更好,好要在以后的不斷學(xué)習(xí)和時(shí)間中,豐富自己的知識(shí)和技能,做出功能更加強(qiáng)大,BUG更少的系統(tǒng)。
軟件開發(fā)實(shí)習(xí)報(bào)告
我們通過(guò)需求分析得出的功能圖如下:
軟件開發(fā)實(shí)習(xí)報(bào)告
四、總體設(shè)計(jì)
1.系統(tǒng)功能分析
根據(jù)系統(tǒng)的需求分析,本系統(tǒng)主要實(shí)現(xiàn)四大功能:①
是由系統(tǒng)自動(dòng)生成;
刪除飯菜:按照查找編號(hào),找到此編號(hào)的飯菜將此飯菜刪除;
修改飯菜基本信息:按照查找編號(hào),找到此編號(hào)的飯菜將此飯菜的基本信息修改,并可選擇修改那個(gè)信息;
查找飯菜基本信息:輸入要查找的飯菜類型和編號(hào),將此編號(hào)的飯菜的基本信息顯示出來(lái)②
每日單品銷售登記及盈虧分析
進(jìn)入此頁(yè)面,選擇你要計(jì)算的類,輸入要計(jì)算的編號(hào),并輸入今日的銷售量和損耗量,系統(tǒng)計(jì)算出今日此飯菜的盈利和虧損,并顯示在屏幕上③
盤點(diǎn)檢查
進(jìn)入此頁(yè)面,選擇你要盤點(diǎn)的類或是全部盤點(diǎn),屏幕上就會(huì)把你選擇的類的所有飯菜的信息顯示出來(lái),或顯示所有的飯菜的基本信息④刷新保存文件
點(diǎn)入刷新并保存文件,并確認(rèn),系統(tǒng)就會(huì)之前操作的內(nèi)容,修改后的內(nèi)容寫入文件中
2.類的描述
本系統(tǒng)共分為七個(gè)大類,分別是food,rice,noodle,breakfast,dish,drink,operate.其中food是基類,包含了飯菜名稱,編號(hào),售價(jià),成本的基本屬性,飯菜信息更改,每日單品銷售與盈利,飯菜基本信息顯示簡(jiǎn)單地成員函數(shù)。rice,noodle,breakfast,dish,drink都是有food派生出來(lái)的rice和noodle類新增了規(guī)格數(shù)據(jù)成員,并且每個(gè)派生類里增加了各自的靜態(tài)數(shù)據(jù)成員來(lái)生產(chǎn)編號(hào)和計(jì)算沒類食品的種類,并將基類中定義的飯菜基本信息顯示的純虛函數(shù)實(shí)現(xiàn)。Operate是一個(gè)外部操作類,把五類飯菜的對(duì)象與一個(gè)指針組成的結(jié)構(gòu)體作為數(shù)據(jù)成員,及定義了操作函數(shù),大部分函數(shù)是在此實(shí)現(xiàn)的并定義了鏈表的靜態(tài)頭節(jié)點(diǎn)和尾節(jié)點(diǎn),成員函數(shù)包括新增飯菜,刪除飯菜,選擇食品大類,檢查飯菜基本信息,修改飯菜,總操作功能選擇,飯?zhí)蔑埐斯芾硐到y(tǒng)函數(shù)選擇函數(shù),盤點(diǎn)檢查系統(tǒng),銷售登記及盈虧分析,異常函數(shù),建立從文件中讀取的鏈表,將鏈表讀入文件的刷新保存等。
7飯菜管理
新增飯菜:飯菜分為五類,每類都要進(jìn)行名稱,成本,售價(jià),等信息的錄入,編號(hào)軟件開發(fā)實(shí)習(xí)報(bào)告
3.各功能菜單介紹
本系統(tǒng)有四大功,各功能菜單如下:
軟件開發(fā)實(shí)習(xí)報(bào)告
首頁(yè)菜單:
進(jìn)入飯菜管理:
注:點(diǎn)擊1,2,3,4之后都會(huì)顯示此菜單,選擇要操作的類
軟件開發(fā)實(shí)習(xí)報(bào)告
每日單品銷售記錄及盈虧分析:
盤點(diǎn)檢查:
每日單品銷售記錄及盈虧分析,盤點(diǎn)檢查之后都是要選擇對(duì)哪一類進(jìn)行操作!
軟件開發(fā)實(shí)習(xí)報(bào)告
刷新保存文件
4.系統(tǒng)功能模塊的劃分與設(shè)計(jì),各功能函數(shù)的說(shuō)明
系統(tǒng)主要分為七個(gè)功能:分別為新增飯菜,刪除飯菜,修改信息,查找信息,盤點(diǎn)檢查,刷新保存,盈利計(jì)算。
首先要從文件中讀出數(shù)據(jù)建立起原有的鏈表,在對(duì)此鏈表進(jìn)行一上功能的操作以下是從文件中讀出數(shù)據(jù)建立鏈表的代碼://從文件中讀入創(chuàng)立鏈表operate::node1*operate::create1(){
node1*p,*tail,*H1;
H1=newnode1;tail=H1;ifstreamfile;file.open("Rice.txt");rice::kind=0;while(file.eof()==0){
if(file.eof()!=0)break;p=newnode1;
file>>p->r.number>>p->r.name>>p->r.standard>>p->r.cost>>p->r.price;p->next=NULL;tail=p;
11H1->next=NULL;
tail->next=p;軟件開發(fā)實(shí)習(xí)報(bào)告
}rice::kind++;
tail->next=NULL;rice::kind--;node1*q=H1->next;
while(q->next->next!=NULL)
q=q->next;q->next=NULL;file.close();
returnH1;//帶空表頭的頭指針
}//返回主食信息
此函數(shù)是建立的主食類的鏈表,其余類的鏈表的建立和此類同,但是其返回的指針是不同的。打開系統(tǒng)就執(zhí)行此函數(shù),就會(huì)使得系統(tǒng)中已經(jīng)存在已有的數(shù)據(jù),記事本也就相當(dāng)于是一個(gè)小的數(shù)據(jù)庫(kù),是你保存的數(shù)據(jù)即使關(guān)了系統(tǒng),下次打開時(shí)還能夠繼續(xù)使用。
增加菜品功能:首先要選擇你所需要增加食品的類型,之后按照現(xiàn)實(shí)輸入食品的屬性,代碼如下
voidoperate::newfood(intch){switch(ch){case1:
{node1*pnew;//pnew指向要插入的新結(jié)點(diǎn);pnew=newnode1;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
cin>>pnew->r.price;
coutnext;while(p->next!=NULL){
p=p->next;}
rice::kinds=p->r.number+100;pnew->r.number=rice::kinds;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
cin>>pnew->n.cost;node2*p=head2->next;node2*p1=head2;while(p->next!=NULL){
p=p->next;}
noodle::kinds=p->n.number+100;pnew->n.number=noodle::kinds;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
breakfast::kind++;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
cout軟件開發(fā)實(shí)習(xí)報(bào)告
"r.number==num)
{p1->next=p2->next;deletep2;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
{coutnext=p2->next;deletep2;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
breakfast::kind--;}
case4:
{if(head3->next==NULL)
{cout軟件開發(fā)實(shí)習(xí)報(bào)告
{p1=p2;p2=p2->next;}//若要?jiǎng)h的不是p2所指的結(jié)點(diǎn),則p2指向下一個(gè)if(p2->dr.number==num)
{p1->next=p2->next;deletep2;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
}coutnext==NULL)
{cout軟件開發(fā)實(shí)習(xí)報(bào)告
}}if(p==NULL)
coutnext==NULL)
{cout軟件開發(fā)實(shí)習(xí)報(bào)告
}}}if(p==NULL)
cout軟件開發(fā)實(shí)習(xí)報(bào)告
}case3:{doubleco;}
這個(gè)函數(shù)是在基類中實(shí)現(xiàn)的,可以通過(guò)對(duì)象來(lái)進(jìn)行調(diào)用。食品的盤點(diǎn)
//飯?zhí)蔑埐斯芾硐到y(tǒng)函數(shù)選擇函數(shù)intoperate::choose1(){intch1;
cout軟件開發(fā)實(shí)習(xí)報(bào)告
cout軟件開發(fā)實(shí)習(xí)報(bào)告
{node2*pnew;
pnew=head2->next;while(pnew!=0)
{pnew->n.basicshow();
pnew=pnew->next;}
cout軟件開發(fā)實(shí)習(xí)報(bào)告
break;}case5:
{if(head5->next==0){coutnext!=0){pnew2=head2->next;while(pnew2!=0)
{pnew2->n.basicshow();
pnew2=pnew2->next;
}}軟件開發(fā)實(shí)習(xí)報(bào)告
if(head3->next!=0){pnew3=head3->next;while(pnew3!=0)
{pnew3->b.basicshow();
pnew3=pnew3->next;
}}if(head4->next!=0){pnew4=head4->next;while(pnew4!=0)
{pnew4->di.basicshow();
pnew4=pnew4->next;
}}if(head5->next!=0){pnew5=head5->next;while(pnew5!=0)
{pnew5->dr.basicshow();
pnew5=pnew5->next;
}}cout軟件開發(fā)實(shí)習(xí)報(bào)告
doublePR,W;}
通過(guò)查找出輸入的對(duì)象,利用對(duì)象進(jìn)行調(diào)用此函數(shù)!
這些函數(shù)通過(guò)在主函數(shù)中的調(diào)用選擇所要實(shí)現(xiàn)的功能,之后進(jìn)行調(diào)用就可以,主函數(shù)只是做了一下函數(shù)的菜單的一部分。用的最多的就是swhich語(yǔ)句,通過(guò)此語(yǔ)句來(lái)判斷執(zhí)行什么功能。5.總結(jié)
該系統(tǒng)可以實(shí)現(xiàn)食堂銷售管理中的基本的功能,即新增飯菜,刪除飯菜,修改信息,查找信息,盤點(diǎn)檢查,刷新保存,盈利計(jì)算
cout軟件開發(fā)實(shí)習(xí)報(bào)告
五、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
1.各個(gè)類設(shè)計(jì)、實(shí)現(xiàn)與詳細(xì)說(shuō)明
由于我們?cè)谠O(shè)計(jì)分析時(shí)將功能進(jìn)行了劃分,有了進(jìn)入系統(tǒng)首頁(yè)的菜單,因此在信息管理的功能模塊里面又分為了很多的小的功能。并且利用類的組合來(lái)進(jìn)行操作函數(shù)的的實(shí)現(xiàn)。
食品基類(food)的數(shù)據(jù)成員包含了飯菜名稱(name),編號(hào)(numer),售價(jià)(price),成本(cost),成員函數(shù)包括成本的基本屬性,飯菜信息更改,每日單品銷售與盈利,純虛函數(shù)飯菜基本信息顯示。
主食類(rice)繼承了食品基類的飯菜名稱(name),編號(hào)(numer),售價(jià)(price),成本(cost)數(shù)據(jù)成員,和成本的基本屬性,飯菜信息更改,每日單品銷售與盈利,飯菜基本信息顯示的成員函數(shù)。又新增了數(shù)據(jù)成員規(guī)格(standard),及靜態(tài)數(shù)據(jù)成員主食編號(hào)(kinds),主食的種類(kind)并將靜態(tài)數(shù)據(jù)成員初始化,將飯菜基本信息顯示函數(shù)實(shí)現(xiàn)。
面類(rice)繼承了食品基類的飯菜名稱(name),編號(hào)(numer),售價(jià)(price),成本(cost)數(shù)據(jù)成員,和成本的基本屬性,飯菜信息更改,每日單品銷售與盈利,飯菜基本信息顯示的成員函數(shù)。又新增了數(shù)據(jù)成員規(guī)格(standard),及靜態(tài)數(shù)據(jù)成員主食編號(hào)(kinds),主食的種類(kind)并將靜態(tài)數(shù)據(jù)成員初始化,將飯菜基本信息顯示函數(shù)實(shí)現(xiàn)。
早餐類(rice)繼承了食品基類的飯菜名稱(name),編號(hào)(numer),售價(jià)(price),成本(cost)數(shù)據(jù)成員,和成本的基本屬性,飯菜信息更改,每日單品銷售與盈利,飯菜基本信息顯示的成員函數(shù)。新增靜態(tài)數(shù)據(jù)成員主食編號(hào)(kinds),主食的種類(kind)并將靜態(tài)數(shù)據(jù)成員初始化,將飯菜基本信息顯示函數(shù)實(shí)現(xiàn)。
菜類(rice)繼承了食品基類的飯菜名稱(name),編號(hào)(numer),售價(jià)(price),成本(cost)數(shù)據(jù)成員,和成本的基本屬性,飯菜信息更改,每日單品銷售與盈利,飯菜基本信息顯示的成員函數(shù)。新增靜態(tài)數(shù)據(jù)成員主食編號(hào)(kinds),主食的種類(kind)并將靜態(tài)數(shù)據(jù)成員初始化,將飯菜基本信息顯示函數(shù)實(shí)現(xiàn)。
飲料類(rice)繼承了食品基類的飯菜名稱(name),編號(hào)(numer),售價(jià)(price),成本(cost)數(shù)據(jù)成員,和成本的基本屬性,飯菜信息更改,每日單品銷售與盈利,飯菜基本信息顯示的成員函數(shù)。新增靜態(tài)數(shù)據(jù)成員主食編號(hào)(kinds),主食的種類(kind)并將靜態(tài)數(shù)據(jù)成員初始化,將飯菜基本信息顯示函數(shù)實(shí)現(xiàn)。
操作類(operate)相當(dāng)于是將幾乎所有的函數(shù)都作為其成員函數(shù),并且有應(yīng)用組合,所以操作起來(lái)很方便。
2.各函數(shù)的設(shè)計(jì)與實(shí)現(xiàn)(含流程圖)與詳細(xì)說(shuō)明下面結(jié)合流程圖介紹一下各個(gè)函數(shù)的設(shè)計(jì)與實(shí)現(xiàn)。
整個(gè)程序中共包含六類函數(shù):新增,查詢,修改,刪除,調(diào)入,保存文件。1.新增函數(shù)
新增函數(shù)是對(duì)系統(tǒng)中已有的數(shù)據(jù)在進(jìn)行增加是在操作類(operate)里newfood(intch),在newfood中,根據(jù)傳入的intch,利用switch語(yǔ)句判斷是增加的那個(gè)類型的食品,動(dòng)態(tài)分配一個(gè)結(jié)點(diǎn)的空間,根據(jù)提示例如cout軟件開發(fā)實(shí)習(xí)報(bào)告
的尾節(jié)點(diǎn),將這個(gè)新建的節(jié)點(diǎn)查到尾節(jié)點(diǎn)的后面便實(shí)現(xiàn)了新信息的增加,保存到鏈表里。
2.查詢函數(shù)
查詢函數(shù)刪除飯菜,檢查飯菜基本信息,修改飯菜,飯?zhí)蔑埐斯芾硐到y(tǒng)函數(shù)選擇函數(shù),銷售登記及盈虧分析,都有應(yīng)用,但所用知識(shí)基本相同。
此系統(tǒng)只做了對(duì)編號(hào)的查找,在已有的鏈表里進(jìn)行查找,先判斷此鏈表是否為空鏈表,若為空鏈表,則直接打出查找不到,否則就前輸入要查詢的編號(hào),之后從頭結(jié)點(diǎn)開始遍歷,當(dāng)找到p2->r.number==num時(shí),輸出查找成功,返回此節(jié)點(diǎn),到結(jié)尾還沒查到,則沒有此
編號(hào),查找失!coutr.number!=num&&p2->next!=0){p1=p2;p2=p2->next;}//若要?jiǎng)h的不是p2所指的結(jié)點(diǎn),則p2指向下一個(gè)if(p2->r.number==num)returnp2;
查詢函數(shù)方法一致,寫出流程圖。流程圖如下:
新增成功插入尾節(jié)點(diǎn)后查找尾節(jié)點(diǎn)輸入食品信息建立新節(jié)點(diǎn)開始軟件開發(fā)實(shí)習(xí)報(bào)告
3.修改函數(shù)
修改函數(shù)就是要先查找,找到后對(duì)其進(jìn)行修改。其流程圖如下:
返回,查找失敗開始循環(huán)查找numReturn此節(jié)點(diǎn)指針
4.刪除函數(shù)
刪除函數(shù)就是利用delete來(lái)實(shí)現(xiàn),因?yàn)槭墙⒌逆湵,只要能夠查找到此?jié)點(diǎn),之后進(jìn)行p1->next=p2->next;deletep2;即可,非常容易實(shí)現(xiàn)流程圖如下:
軟件開發(fā)實(shí)習(xí)報(bào)告
5.調(diào)入信息函數(shù)
選擇你所要調(diào)入的類型,直接對(duì)此鏈表進(jìn)行遍歷,并將信息依次的輸出即node1*pnew;pnew=head1->next;while(pnew!=0)
{pnew->r.basicshow()pnew=pnew->next;basicshow()及時(shí)對(duì)信息的輸出。
軟件開發(fā)實(shí)習(xí)報(bào)告
6.保存文件
保存文件是指將之前鏈表里的東西全部都寫進(jìn)文件中,這就要先打開文件,由于是寫進(jìn)文件鏈表里的所有東西,因此打開方式應(yīng)該是將其原來(lái)的東西全部要清除,所以打開方式為ofstreamfile_1("Rice.txt",ios_base::out);判斷打開文件是否成功,成功則向文件中寫東西,理由輸出流即可例如:
file_1軟件開發(fā)實(shí)習(xí)報(bào)告
3.數(shù)據(jù)的保存和裝載
本系統(tǒng)中所用到的信息全部以txt的格式保存在文件中。本系統(tǒng)中一共有五類信息:即主食信息保存(Rice.txt),面類信息的保存(Noodle.txt),早餐類信息的保存(Breakfast.txt),菜類信息的保存(Dish.txt),飲料類信息的保存(Drink.txt),數(shù)據(jù)的提取和寫入是通過(guò)輸出流和輸入流來(lái)進(jìn)行的。綜述
本系統(tǒng)的類和函數(shù)有緊密的聯(lián)系,函數(shù)又與文件緊緊相連,通過(guò)這幾塊大的知識(shí)相互結(jié)合運(yùn)用再與C++中的異常,虛函數(shù)等知識(shí)串聯(lián),實(shí)現(xiàn)了系統(tǒng)基本的錄入,打印,查詢,修改,刪除功能。并且每個(gè)函數(shù)的操作都是基于鏈表上的,所以要熟練的掌握對(duì)鏈表的操作,及鏈表和文件結(jié)合時(shí)的使用。
軟件開發(fā)實(shí)習(xí)報(bào)告
六、運(yùn)行結(jié)果
以下是我組成員所編程序的運(yùn)行結(jié)果(附圖):
本組所編的食堂飯菜銷售管理系統(tǒng)管理系統(tǒng),共分為:首頁(yè)總操作功能選擇菜單、食品大類菜單、飯菜管理系統(tǒng)功能選擇菜單、盤點(diǎn)檢查菜單、選擇入住菜單、退出選擇菜單等等;在開始程序之前先預(yù)先存入的數(shù)據(jù)如下:
軟件開發(fā)實(shí)習(xí)報(bào)告
軟件開發(fā)實(shí)習(xí)報(bào)告
打開程序時(shí),首先顯示歡迎界面,并進(jìn)入首頁(yè)總操作功能選擇菜單:
上圖顯示的界面是系統(tǒng)的首頁(yè),如圖輸入1進(jìn)入飯菜管理;2每日單品銷售登記及盈虧分析;3盤點(diǎn)檢查;4刷新保存文件;5退出。根據(jù)功能選項(xiàng)前的編號(hào)進(jìn)行按鍵選擇可跳轉(zhuǎn)至相應(yīng)功能:輸入1,進(jìn)入飯菜管理系統(tǒng)功能選擇菜單:
軟件開發(fā)實(shí)習(xí)報(bào)告
輸入1,新增飯菜:
按要求鍵入相應(yīng)內(nèi)容,編號(hào)會(huì)自動(dòng)繼續(xù)生成,并顯示該類中的種數(shù):
軟件開發(fā)實(shí)習(xí)報(bào)告
選擇2,進(jìn)入刪除飯菜
輸入編號(hào),按要求刪除:
軟件開發(fā)實(shí)習(xí)報(bào)告
選擇3,進(jìn)入修改飯菜基本信息
選擇4,進(jìn)入查找飯菜基本信息:
軟件開發(fā)實(shí)習(xí)報(bào)告
注:因?yàn)檩斎胗姓`,將退出,再次詢問(wèn):
選擇4,進(jìn)入查找飯菜基本信息:
軟件開發(fā)實(shí)習(xí)報(bào)告
在查找飯菜基本信息時(shí),輸入之前修改過(guò)的編號(hào),顯示為已修改的信息:
返回主菜單,選擇2,進(jìn)入每日單品銷售登記及盈虧分析:
軟件開發(fā)實(shí)習(xí)報(bào)告
在主菜單中,選擇3,進(jìn)入盤點(diǎn)系統(tǒng):再輸入1,盤點(diǎn)主食類的所有產(chǎn)品信息:
軟件開發(fā)實(shí)習(xí)報(bào)告
輸入6,進(jìn)行所有飯菜信息:
軟件開發(fā)實(shí)習(xí)報(bào)告
軟件開發(fā)實(shí)習(xí)報(bào)告
在主菜單中選擇5,退出:再選擇取消退出:
主菜單中選擇4,進(jìn)入刷新保存文件,將以上所有修改寫入文件中保存:
軟件開發(fā)實(shí)習(xí)報(bào)告
再次打開文件,文件被更新如下:
軟件開發(fā)實(shí)習(xí)報(bào)告
軟件開發(fā)實(shí)習(xí)報(bào)告
返回再次修改飯菜信息:
友情提示:本文中關(guān)于《軟件開發(fā)實(shí)習(xí)個(gè)人總結(jié)》給出的范例僅供您參考拓展思維使用,軟件開發(fā)實(shí)習(xí)個(gè)人總結(jié):該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。