劉玉繪軟件工程課程設(shè)計(jì)總結(jié)報(bào)告_第1頁(yè)
劉玉繪軟件工程課程設(shè)計(jì)總結(jié)報(bào)告_第2頁(yè)
劉玉繪軟件工程課程設(shè)計(jì)總結(jié)報(bào)告_第3頁(yè)
劉玉繪軟件工程課程設(shè)計(jì)總結(jié)報(bào)告_第4頁(yè)
劉玉繪軟件工程課程設(shè)計(jì)總結(jié)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE1劉玉繪軟件工程課程設(shè)計(jì)總結(jié)報(bào)告劉玉繪軟件工程課程設(shè)計(jì)總結(jié)報(bào)告淮海工學(xué)院軟件工程課程設(shè)計(jì)報(bào)告書題目名稱:圖書信息管理系統(tǒng)班級(jí)組別:軟件082班組員姓名:劉玉繪,石巖,廖南,徐洪衛(wèi),徐浩然,楊晨磊評(píng)語(yǔ):組員成績(jī):劉玉繪:;石巖:;廖南:;徐洪衛(wèi):;徐浩然:楊晨磊:;指導(dǎo)教師:批閱時(shí)間:年月日軟件工程課程設(shè)計(jì)文檔目錄序名稱份數(shù)號(hào)12345678軟件工程課程設(shè)計(jì)收獲與體會(huì)班級(jí):軟件082組別:6姓名:劉玉繪學(xué)號(hào)110831227本次的軟件工程設(shè)計(jì)針對(duì)具體的實(shí)際項(xiàng)目來(lái)進(jìn)行需求分析,測(cè)試計(jì)劃,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),測(cè)試分析等具體的步驟流程走下來(lái),歷時(shí)時(shí)間為3個(gè)星期。從這3個(gè)星期中,我收獲很多,本次課程設(shè)計(jì)的選題是圖書信息管理系統(tǒng),組員為六個(gè)人。針對(duì)具體的實(shí)際流程,我們有了明確的分工。各個(gè)流程的都深有體會(huì)。在確立了項(xiàng)目之后,我們就開始擬定項(xiàng)目開發(fā)計(jì)劃。在做項(xiàng)目開發(fā)的時(shí)候,對(duì)需求分析用時(shí),開發(fā)用時(shí),測(cè)試用時(shí),維護(hù)等等都做了詳細(xì)的分析。這樣便于在實(shí)際的開發(fā)時(shí)隨時(shí)跟蹤計(jì)劃任務(wù)的完成度,從而讓開發(fā)人員將進(jìn)度掌握在開發(fā)周期的范圍內(nèi)。其次更具要求相應(yīng)的完成了其他的相關(guān)文檔。在團(tuán)隊(duì)的開發(fā)項(xiàng)目中,團(tuán)結(jié)協(xié)作是非常的重要,這個(gè)就體現(xiàn)在人與人之間的溝通。很好的溝通能夠加快項(xiàng)目開發(fā)的進(jìn)度。這就要求我們作為開發(fā)人員要學(xué)會(huì)和善于與合作者溝通。通過(guò)不斷的交流和溝通來(lái)避免一些隱藏的問(wèn)題,及時(shí)的發(fā)現(xiàn)問(wèn)題,解決問(wèn)題,從而能夠按時(shí)的完成項(xiàng)目開發(fā)進(jìn)度。在小組長(zhǎng)合理的劃分好各個(gè)時(shí)每個(gè)人的任務(wù)后,我們都按照要求在規(guī)定的時(shí)間里面完成并提交了符合要求的文檔。對(duì)于文檔在軟件工程中的重要性在課程設(shè)計(jì)中體現(xiàn)的非常的明顯。文檔是必不可少的,它重要的也是為了幫助小組成員的溝通。但是文檔也不能過(guò)多,過(guò)于的繁瑣。我們是完全按照GB8567-88的標(biāo)準(zhǔn)來(lái)完成各個(gè)文檔。不僅明確的闡述了開發(fā)圖書信息管理系統(tǒng)的各個(gè)步驟及設(shè)計(jì),同時(shí)也簡(jiǎn)潔明了。通過(guò)本次課程設(shè)計(jì),加深了對(duì)軟件開發(fā)流程的深入理解。這是第一次嚴(yán)格的按照軟件工程開發(fā)的標(biāo)準(zhǔn)開發(fā)項(xiàng)目。在課程設(shè)計(jì)過(guò)程中,認(rèn)真編寫軟件開發(fā)文檔。代碼編寫完后,再認(rèn)真測(cè)試,檢查系統(tǒng)的不足之處。在設(shè)計(jì)過(guò)程中我們也認(rèn)真的學(xué)習(xí)了Rational的一套軟件,通過(guò)次工具我們完成了面向?qū)ο笮枨蠓治黾昂竺娴臏y(cè)試,相信這對(duì)我們將來(lái)工作都非常的有幫助。由于之前開發(fā)系統(tǒng)都沒(méi)有編寫軟件開發(fā)文檔的習(xí)慣,因此,在編寫軟件開發(fā)文檔的過(guò)程中遇到了一些問(wèn)題,但是通過(guò)查閱資料等途徑解決了。其次,我學(xué)會(huì)了軟件工設(shè)計(jì)的全部過(guò)程,知道文檔的重要性,知道團(tuán)隊(duì)合作的重要性。同時(shí),對(duì)系統(tǒng)的需求分析非常重要,需求的變成直接影響項(xiàng)目的開發(fā)進(jìn)度。這次課程設(shè)計(jì)首先對(duì)系統(tǒng)的需求理解不透徹,走了一點(diǎn)彎路,浪費(fèi)了一些時(shí)間。在以后的軟件開發(fā)過(guò)程中盡量吸取本次課程設(shè)計(jì)的經(jīng)驗(yàn)教訓(xùn),提高項(xiàng)目開發(fā)效率。擴(kuò)展閱讀:軟件課程設(shè)計(jì)總結(jié)報(bào)告1鄭志安編號(hào):()字號(hào)《軟件課程設(shè)計(jì)》報(bào)告班級(jí):信科09-3班姓名:張晴剛學(xué)號(hào):08093588講師:謝紅俠中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院201*年1月鄭志安軟件課程設(shè)計(jì)任務(wù)書專業(yè)年級(jí):電子信息科學(xué)與技術(shù)201*級(jí)學(xué)生姓名:張晴剛?cè)蝿?wù)下達(dá)日期:201*年10月16日課程設(shè)計(jì)日期:201*年10月16日至201*年1月2日課程設(shè)計(jì)題目:類別題目序號(hào)面向過(guò)程1,2,3,4,5,6,7面向?qū)ο?,2,3,4,5,6,7,8圖形界面3數(shù)據(jù)結(jié)構(gòu)1,2,3,4,6,9軟件課程設(shè)計(jì)指導(dǎo)教師評(píng)閱書指導(dǎo)教師評(píng)語(yǔ)(①基礎(chǔ)理論及基本技能的掌握;②獨(dú)立解決實(shí)際問(wèn)題的能力;③研究?jī)?nèi)容的理論依據(jù)和技術(shù)方法;④取得的主要成果及創(chuàng)新點(diǎn);⑤工作態(tài)度及工作量;⑥總體評(píng)價(jià)及建議成績(jī);⑦存在問(wèn)題等):成績(jī):指導(dǎo)教師簽字:年月日3目錄==============================第一部分基礎(chǔ)題第一題1面向過(guò)程5.編程序,使用戶任意輸入一個(gè)年份以及該年的1月1日是星期幾,而后任意指定某一天(再輸入該年的任意一個(gè)月份日期),由程序計(jì)算出這一天是星期幾。注意,2月份閏年為29天,非閏年為28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均為閏年。//思考:利用元年元月元日(即1年1月1日)是星期一的已知事實(shí),可對(duì)程序進(jìn)行改造,讓用戶僅輸入一個(gè)表示日期的年月日,則程序就應(yīng)計(jì)算出那一天是星期幾。……………..………………71.1需求分析…………11.2概要設(shè)計(jì)………………………...11.3詳細(xì)設(shè)計(jì)與編碼………………...11.4調(diào)試分析………………………...21.5用戶使用說(shuō)明………………….31.6設(shè)計(jì)心得………………………...3第二題7.將輸入的羅馬數(shù)據(jù)化為10進(jìn)制數(shù)。假設(shè)羅馬數(shù)據(jù)中只使用如下7個(gè)“基值”字母:M、D、C、L、X、V、I,分別用來(lái)表示1000、500、100、50、10、5、1。如,羅馬數(shù)據(jù)LXXXVII表示10進(jìn)制的87。將輸入的10進(jìn)制正整數(shù)轉(zhuǎn)換為羅馬數(shù)據(jù)。假設(shè)羅馬數(shù)據(jù)中只使用“基值”字母:M、D、C、L、X、V、I,分別用來(lái)表示1000、500、100、50、10、5、1?!?2.1需求分析………….32.2概要設(shè)計(jì)………………………..32.3詳細(xì)設(shè)計(jì)與編碼………………...42.4調(diào)試分析………………………...42.5用戶使用說(shuō)明………………….52.6設(shè)計(jì)心得………………………...52面向?qū)ο蟮谌}1.第一題自定義一個(gè)示意性的復(fù)數(shù)類型plex,其中含有若干個(gè)成員函數(shù),使用該類可以完成復(fù)數(shù)的加法以及對(duì)復(fù)數(shù)的輸出。請(qǐng)完成類定義,并編制主函數(shù),說(shuō)明plex類對(duì)象,對(duì)定義的各成員函數(shù)進(jìn)行調(diào)用。classplex{doublereal;//復(fù)數(shù)實(shí)部doubleimag;//復(fù)數(shù)虛部public:plex();//無(wú)參構(gòu)造函數(shù)plex(doubler,doublei);//2參構(gòu)造函數(shù)plexadd(plexc2);//調(diào)用者對(duì)象與對(duì)象c2相加,返回plex類對(duì)象voidout();//輸出調(diào)用者對(duì)象的有關(guān)數(shù)據(jù)(各分量)};進(jìn)一步,在類中添加對(duì)復(fù)數(shù)進(jìn)行其他基本運(yùn)算(如,復(fù)數(shù)減、乘、除、取模等)的相應(yīng)成員函數(shù),并通過(guò)主函數(shù)處的調(diào)用來(lái)驗(yàn)證各函數(shù)的使用正確性?!?.….53.1需求分析…………..53.2概要設(shè)計(jì)………………………...53.3詳細(xì)設(shè)計(jì)與編碼………………...63.4調(diào)試分析………………………..63.5用戶使用說(shuō)明………………….73.6設(shè)計(jì)心得………………………..7第四題6編寫一個(gè)具有如下樣式的類模板tmplt,用于實(shí)現(xiàn)所謂的反序輸出問(wèn)題,其中使用了類型參數(shù)T(使所處理的元素類型可變化)以及普通參數(shù)n(元素個(gè)數(shù)也可變化):templateclasstmplt{Tarr[n];//n個(gè)T類型的數(shù)據(jù)存放于數(shù)組arr之中public:voiddataIn();//從鍵盤輸入n個(gè)T類型數(shù)據(jù)放入arr數(shù)組中voidreverseOut();//將arr數(shù)組中的數(shù)據(jù)按輸入的相反順序輸出};………………….……..74.1需求分析…………..74.2概要設(shè)計(jì)………………………...74.3詳細(xì)設(shè)計(jì)與編碼………………...84.4調(diào)試分析………………………...84.5用戶使用說(shuō)明………………….94.6設(shè)計(jì)心得………………………...10第五題可視化編程用你熟悉的一種可視化編程語(yǔ)言實(shí)現(xiàn)以下漢諾塔演示程序(可以參考附件中的程序代碼)。5.1需求分析…………..115.2概要設(shè)計(jì)………………………...125.3詳細(xì)設(shè)計(jì)與編碼………………...135.4調(diào)試分析………………………...145.5用戶使用說(shuō)明………………….155.6設(shè)計(jì)心得………………………...15數(shù)據(jù)結(jié)構(gòu)第六題2假設(shè)有一個(gè)循環(huán)鏈表的長(zhǎng)度大于1,且表中既無(wú)頭結(jié)點(diǎn)也無(wú)頭指針。已知p為指向鏈表中某結(jié)點(diǎn)的指針,試編寫算法在鏈表中刪除結(jié)點(diǎn)p的前趨結(jié)點(diǎn)。6.1需求分析…………..176.2概要設(shè)計(jì)………………………...176.3詳細(xì)設(shè)計(jì)與編碼………………...176.4調(diào)試分析………………………...186.5用戶使用說(shuō)明…………………186.6設(shè)計(jì)心得………………………...18第七題編程序,按如下方法求A矩陣的轉(zhuǎn)置矩陣B:輸入兩個(gè)正整數(shù)m和n,而后通過(guò)使用指針配合new運(yùn)算符生成一個(gè)m行n列的二維動(dòng)態(tài)數(shù)組A以及另一個(gè)n行m列的二維動(dòng)態(tài)數(shù)組B,之后為A輸入數(shù)據(jù)(A矩陣數(shù)據(jù)),進(jìn)而求出其轉(zhuǎn)置矩陣B(數(shù)據(jù)放動(dòng)態(tài)數(shù)組B中)并輸出結(jié)果。7.1需求分析…………..197.2概要設(shè)計(jì)………………………...197.3詳細(xì)設(shè)計(jì)與編碼………………...197.4調(diào)試分析………………………...197.5用戶使用說(shuō)明………………….197.6設(shè)計(jì)心得………………………...201面向過(guò)程第5題5.編程序,使用戶任意輸入一個(gè)年份以及該年的1月1日是星期幾,而后任意指定某一天(再輸入該年的任意一個(gè)月份日期),由程序計(jì)算出這一天是星期幾。注意,2月份閏年為29天,非閏年為28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均為閏年。//思考:利用元年元月元日(即1年1月1日)是星期一的已知事實(shí),可對(duì)程序進(jìn)行改造,讓用戶僅輸入一個(gè)表示日期的年月日,則程序就應(yīng)計(jì)算出那一天是星期幾。需求分析:當(dāng)我們處理查找具體年份月日是周幾的問(wèn)題,往往會(huì)遇到閏年平年的問(wèn)題,還有七天一循環(huán)的問(wèn)題。因此實(shí)現(xiàn)此類算法是很有必要的。1.2概要設(shè)計(jì):對(duì)于指定具體年月日所在本年的第多少天,有如下算法。intsum_day(intmonth,intday){inti;intday_tab[12]={31,28,31,30,31,30,31,31,30,31,30,31};for(i=0;i=3)days=days+1;s=s+(days-1)%7;if(s>7)s=s%7;coutintyear,month,day,days,s;coutyear>>s;Intyear,month,day,days,s;coutmonth>>day;days=sum_day(month,day);if(leap(year)month>=3)Cin>>year>>s;days=days+1;Cin>>month>>days=s+(days-1)%7;;if(s>7)s=s%7;coutCout1.year,month,day,days,s的類型是int型的。2.對(duì)于平年閏年的分析,要分別對(duì)待,加以區(qū)分。3.注意體會(huì)嘗試程序的健壯性。4.嘗試用其他方法完成該程序1.5用戶說(shuō)明用戶可直接通過(guò)鍵盤向界面輸入你指定年份1月1日是星期幾,然后輸入本年的月日,即可在屏幕上得到本年指定年月日是周幾了。1.6設(shè)計(jì)心得:在這個(gè)程序設(shè)計(jì)中,所用的都是最基本的知識(shí),對(duì)于最基本的知識(shí)一定要達(dá)到熟練的程度,才能熟中生巧,設(shè)計(jì)出高質(zhì)量的程序。2.面向過(guò)程第7題將輸入的羅馬數(shù)據(jù)化為10進(jìn)制數(shù)。假設(shè)羅馬數(shù)據(jù)中只使用如下7個(gè)“基值”字母:M、D、C、L、X、V、I,分別用來(lái)表示1000、500、100、50、10、5、1。2.1需求分析:我們?cè)谏钪谐?huì)遇見(jiàn)用羅馬數(shù)字表示的代碼或者數(shù)學(xué)、物理等學(xué)習(xí)過(guò)程中,往往會(huì)遇到將羅馬數(shù)字轉(zhuǎn)化為十進(jìn)制數(shù)的計(jì)算,設(shè)計(jì)一個(gè)簡(jiǎn)單的轉(zhuǎn)換程序是很有意義的2.2概要設(shè)計(jì)將輸入的10進(jìn)制正整數(shù)轉(zhuǎn)換為羅馬數(shù)據(jù)。假設(shè)羅馬數(shù)據(jù)中只使用“基值”字母:M、D、C、L、X、V、I,分別用來(lái)表示1000、500、100、50、10、5、1。顯然是一個(gè)翻譯程序,肯定是將一種表達(dá)形式換算成另一種表達(dá)形式。該題是把羅馬數(shù)字轉(zhuǎn)換成十進(jìn)制數(shù),初步設(shè)想:對(duì)于每個(gè)輸入的字母,用一個(gè)算法返回一個(gè)指定的數(shù)值,算法如下:case"M":return1000;break;case"D":return500;break;case"C":return100;break;case"L":return50;break;case"X":return10;break;case"V":return5;break;case"I":return1;break;對(duì)于羅馬數(shù)據(jù)中每個(gè)字母對(duì)應(yīng)數(shù)據(jù)累加過(guò)程,我們有如下算法:while((y=getchar())!="\\n"){if(f(x)case"I":return1;break;}}運(yùn)行結(jié)果如下:Cout2.4調(diào)試分析1程序開始不可少語(yǔ)句intf(char);intm=0;charx,y;//設(shè)“基值”并作零初始化,若不做初始化,字母輸出任意值。2.將對(duì)應(yīng)的字母返回對(duì)應(yīng)的值,然后把數(shù)值累加起來(lái),除了對(duì)應(yīng)之外沒(méi)有其他難點(diǎn)3.嘗試著用其他方法編寫2.5用戶使用說(shuō)明:用戶直接從鍵盤輸入羅馬數(shù)字,按回車鍵可以方便得到輸出的阿拉伯?dāng)?shù)字。2.6設(shè)計(jì)心得:此程序在設(shè)計(jì)之前,一定要分析好設(shè)計(jì)思路,分析每個(gè)羅馬字母中返回的數(shù)值,做好相應(yīng)的處理。//第三題1.自定義一個(gè)示意性的復(fù)數(shù)類型plex,其中含有若干個(gè)成員函數(shù),//使用該類可以完成復(fù)數(shù)的加法以及對(duì)復(fù)數(shù)的輸出。////請(qǐng)完成類定義,并編制主函數(shù),說(shuō)明plex類對(duì)象,對(duì)定義的各成員函數(shù)進(jìn)行調(diào)用。3.1需求分析運(yùn)用對(duì)象實(shí)現(xiàn)該算法,說(shuō)明plex類對(duì)象,對(duì)定義的各成員函數(shù)進(jìn)行調(diào)用,是很有必要的。3.2概要設(shè)計(jì)classplex{public:plex(){real=0;imag=0;}//無(wú)參構(gòu)造函數(shù)plex(doubler,doublei){real=r;imag=i;}//2參構(gòu)造函數(shù)plexadd(plexc2);//實(shí)現(xiàn)加法運(yùn)算;plexadd2(plexd2);//實(shí)現(xiàn)減法運(yùn)算;plexadd3(plexe2);//實(shí)現(xiàn)乘法運(yùn)算;plexadd4(plexf2);//實(shí)現(xiàn)除法運(yùn)算;voidout();//輸出結(jié)果運(yùn)算private:doublereal;//復(fù)數(shù)實(shí)部doubleimag;//復(fù)數(shù)虛部};3.3詳細(xì)設(shè)計(jì)與編碼#includeusingnamespacestd;classplex{public:plex(){real=0;imag=0;}plex(doubler,doublei){real=r;imag=i;}plexadd(plexc2);plexadd2(plexd2);plexadd3(plexe2);plexadd4(plexf2);voidout();private:doublereal;doubleimag;};plexplex::add(plexc2){plexc;c.real=real+c2.real;c.imag=imag+c2.imag;returnc;}plexplex::add2(plexd2){plexd;d.real=real-d2.real;d.imag=imag-d2.imag;returnd;}plexplex::add3(plexe2){plexe;e.real=real*e2.real-imag*e2.imag;e.imag=real*e2.imag+e2.real*imag;returne;}plexplex::add4(plexf2){plexf;f.real=(real*f2.real+imag*f2.imag)/(f2.real*f2.real+f2.imag*f2.imag);f.imag=(f2.real*imag-real*f2.imag)/(f2.real*f2.real+f2.imag*f2.imag);returnf;}voidplex::out(){cout開始聲明一個(gè)plex類,并定義doublereal、imag;聲明類的函數(shù),構(gòu)造函數(shù),加減乘除運(yùn)算c.real=real+c2.real;c.imag=imag+c2.imag;d.real=real-d2.real;d.imag=imag-d2.imag;e.real=real*e2.real-imag*e2.imag;e.imag=real*e2.imag+e2.real*imag;f.real=(real*f2.real+imag*f2.imag)/(f2.real*f2.real+f2.imag*f2.imag);f.imag=(f2.real*imag-real*f2.imag)/(f2.real*f2.real+f2.imag*f2.imag);輸出其加減乘除的值終止運(yùn)行結(jié)果如下:3.4調(diào)試分析1.定義plex類很重要。2.在plex類中實(shí)現(xiàn)對(duì)兩復(fù)數(shù)的加減乘除運(yùn)算。3.寫程序時(shí)的位置對(duì)應(yīng),以便查錯(cuò)。3.5用戶使用說(shuō)明:屏幕直接顯示。3.6設(shè)計(jì)心得:通過(guò)此題,我對(duì)上學(xué)期所學(xué)類的定義以及復(fù)數(shù)運(yùn)算達(dá)到了復(fù)習(xí)的效果,熟悉了在類中調(diào)用個(gè)復(fù)數(shù)進(jìn)行加減乘除運(yùn)算的基本操作。對(duì)于期原理有一定的掌握,所以這個(gè)程序設(shè)計(jì)倒是不難。第四題/*6.編寫一個(gè)具有如下樣式的類模板tmplt,用于實(shí)現(xiàn)所謂的反序輸出問(wèn)題,其中使用了類型參數(shù)T(使所處理的元素類型可變化)以及普通參數(shù)n(元素個(gè)數(shù)也可變化):templateclasstmplt{Tarr[n];//n個(gè)T類型的數(shù)據(jù)存放于數(shù)組arr之中public:voiddataIn();//從鍵盤輸入n個(gè)T類型數(shù)據(jù)放入arr數(shù)組中voidreverseOut();//將arr數(shù)組中的數(shù)據(jù)按輸入的相反順序輸出};而后編制主函數(shù),將類模板實(shí)例化為某個(gè)具體的類并說(shuō)明類對(duì)象,之后通過(guò)對(duì)象調(diào)用其負(fù)責(zé)輸入數(shù)據(jù)的成員函數(shù),再通過(guò)對(duì)象調(diào)用另一成員函數(shù)按反序輸出那些輸入數(shù)據(jù)。*/4.1需求分析應(yīng)用類模板tmplt,用于實(shí)現(xiàn)所謂的反序輸出問(wèn)題,使用了類型參數(shù)T以及普通參數(shù)n。4.2概要設(shè)計(jì)templateclasstmplt{Tarr[n];//n個(gè)T類型的數(shù)據(jù)存放于數(shù)組arr之中public:voiddataIn();//從鍵盤輸入n個(gè)T類型數(shù)據(jù)放入arr數(shù)組中voidreverseOut();//將arr數(shù)組中的數(shù)據(jù)按輸入的相反順序輸出};4.3詳細(xì)設(shè)計(jì)與編碼#include#includeusingnamespacestd;templateclasstmplt{Tarr[n];public:voiddateIn(){inti;for(i=0;i>arr[i];};voidreverseOut(){inti;for(i=n-1;i>=0;i--)coutCout用戶可以輸入若干組不同大小的數(shù)據(jù),然后按回車鍵,程序系統(tǒng)會(huì)自動(dòng)在屏幕上生成用戶想要得到的結(jié)果。4.6設(shè)計(jì)心得:通過(guò)該程序的設(shè)計(jì),更體會(huì)到在大規(guī)模的信息調(diào)用類以及生成類會(huì)更好,更進(jìn)一步培養(yǎng)自己的編程風(fēng)格,先整體規(guī)劃,然后一步一步實(shí)現(xiàn);出錯(cuò)處理的能力。第五題.可視化編程用你熟悉的一種可視化編程語(yǔ)言實(shí)現(xiàn)以下漢諾塔演示程序(可以參考附件中的程序代碼)。5.1需求分析實(shí)現(xiàn)漢諾塔從第一個(gè)位置移到第三個(gè)位置實(shí)5.2概要設(shè)計(jì)實(shí)現(xiàn)實(shí)程序是用MFC制作,在進(jìn)入MFC時(shí)選擇基本對(duì)話框來(lái)建立工程,然后根據(jù)題目圖形的需求,在工作區(qū)的Resourceview中的Dialog進(jìn)行框架的設(shè)計(jì),跟著視頻思路往下走。5.3詳細(xì)設(shè)計(jì)與編碼實(shí)現(xiàn)過(guò)程可視化編程5.4調(diào)試分析移動(dòng)過(guò)程中要細(xì)心,按指定程序移動(dòng)。5.5用戶使用說(shuō)明本程序是漢諾塔程序使用很簡(jiǎn)單,直接點(diǎn)擊按鈕移動(dòng)就能得到結(jié)果。5.6設(shè)計(jì)心得可視化編程編程由于以前沒(méi)接觸過(guò)所以較難,許多函數(shù)都要查資料,或上網(wǎng)搜尋。第六題6數(shù)據(jù)結(jié)構(gòu)第二題假設(shè)有一個(gè)循環(huán)鏈表的長(zhǎng)度大于1,且表中既無(wú)頭結(jié)點(diǎn)也無(wú)頭指針。已知p為指向鏈表中某結(jié)點(diǎn)的指針,試編寫算法在鏈表中刪除結(jié)點(diǎn)p的前趨結(jié)點(diǎn)。6.1需求分析在數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)中,鏈表是最常見(jiàn)的存儲(chǔ)方式,鏈表的插入,刪除,改正也就是很常用的操作,對(duì)它的學(xué)習(xí)就顯得很有必要而且很有意義。6.2概要設(shè)計(jì)1.對(duì)節(jié)點(diǎn)的刪除,無(wú)疑先要定義一個(gè)結(jié)構(gòu)體和指針,運(yùn)來(lái)存放和查找要?jiǎng)h除的節(jié)點(diǎn)structNode*next2.設(shè)計(jì)一個(gè)類求前驅(qū)節(jié)點(diǎn):node1*getPriorNode(node1*node)3.刪除指向結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn):delPriorNode(node1*node)4.輸出原始鏈表:printList(node1*node)5.主函數(shù)將操作后的鏈表輸出。6.3詳細(xì)設(shè)計(jì)與編碼#include#includetypedefstruct_node1{struct_node1*next;intvalue;}node1;node1*getPriorNode(node1*node){node1*next;if(!node){returnNULL;}next=node->next;while(node!=next->next){next=next->next;}returnnext;}voiddelPriorNode(node1*node){node1*prior=getPriorNode(node);if(prior){getPriorNode(prior)->next=prior->next;}}voidprintList(node1*node){node1*next;開始node1a,b,c,d,e,f,g;對(duì)每個(gè)節(jié)點(diǎn)的數(shù)值區(qū)賦值,以及說(shuō)明其指針指向的地址printList(a);delPriorNode(c);printList(a);結(jié)束if(!node){return;}printf("%d",node->value);next=node->next;while(node!=next){printf("-->%d",next->value);next=next->next;}printf("\\n");}voidmain(){node1a,b,c,d,e,f,g;a.value=1;b.value=2;c.value=3;d.value=4;e.value=5;f.value=6;g.value=7;a.next=b;b.next=c;c.next=d;d.ne

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論