版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗一檢查程序的可維護性一.實驗內容a、認真分析程序代碼,了解程序的功能;b、找出程序中的錯誤,對其進行修改;c、找出程序中不符合規(guī)范的地方,進行修改;d、對輸入的分數(shù)進行檢測,要求不小于零,不大于 100;e、為了檢測程序輸出的對錯,要求通過在輸入結束后,顯示輸入的學生數(shù)據(jù);f、如果學生人數(shù)為 6,每個同學有4門課,請在源程序上修改。程序代碼:struct student char num6; char name8; int fenshu3; float avr; stu5;int main() int i,j,sum; FILE *fp;/*input*/for(i=0,i5,i+) pr
2、intf(n please input No. %d fenshu:n,i);printf(stuNo:); scanf(%s,stui.num); printf(name:);scanf(%s,);sum=0;for(j=0,j3,j+) printf(fenshu %d.”,j+1);scanf(%d,&stui.fenshuj); sum+=stui.fenshuj; stui.avr=sum/3.0; fp=fopen(stud,w);for(i=0,i5,i+) fprintf(fp,%st%st%dt%dt%dt%fn, stui.num, ,
3、stui.fenshu0, stui.fenshu1, stui.fenshu2,stui.avr);fclose(fp);二.實驗步驟.將代碼拷貝到C+編譯器中,這里使用的是dev C+。.將代碼格式規(guī)范一下。.因為程序用到了文件流,所以加上#include 。.注意到程序中的for語句中的語句是用逗號分隔的,將逗號改為分號。.程序中的scanf語句,輸入的對象應該是一個地址,在對象前加上取地址符號&。.編譯成功,修改后的程序代碼如下:(最后一個沒截到)tinclude stmct studeiit 4 cljar num 6; char nanr.e5; int fnahu3; f Loa
4、.t avr;)#irrt int L, j aum; FILE for (i_=; J-+) tprintf ( nv. please input No. feustiu: nn f 1; print f(pstuNo:p);scanf (, isTzu rnuitJ ; pri_ncf ( nam曰! ;scanf ( %Brr r ssvu i .nice) ;stim=O;for 0-0; j fp=f open ( stud, txt n f w*1): for (x= J; 1Project。 在引導 程序Create a project file頁面,輸入工程名稱,指定工程文件保
5、存的路徑。推薦將工程文件保存到源代碼所在目錄的頂級目錄。如果指定路徑不存在,會彈出提示窗口,向用戶詢問是否需要創(chuàng)建該目錄。Great* a project fiI*s- j 1產(chǎn)l m 1i- 廣.-(j -rri- |i.t iLinder*lFJni2 加。河ths FnF. L出制M電代 z* &wle .intflfw mh irtif: yij rn Mr mxl stfrp inW 或 G 匚 Fflf-nhkrne.rniwr F 1rhlmf”bfesd. s2)點擊 Next,跳轉到 Language頁面。3)通過頁面上的多選框為工程選擇當前使用語言(詳見語言類別配置),對于
6、 MicrosoftVisual C創(chuàng)建的C/C+/C#工程,可以選擇最下面的多選框直接導入工程設置。然后繼續(xù)點擊 Next。4)選擇從 Visual工程導入,可以看到Visual Studio File(s)頁面,否則可以直接跳轉到下一步。點擊 Add ,彈出 Add a new Visual Studio file 對話框,可以將 Understand 工程與 VisualStudio工程進行同步。在彈出對話框中點擊,確定Visual Studio工程文件,選才U Understand分析代碼需要遵循的工程設置,然后點擊OK。然后繼續(xù)點擊 Next。5)點擊 Next。Source Fil
7、esN解 曲5y3如1 llX WLfVi 1l4B gUwarl arntyied 飛口 ts chnnsr- A+iHh rr qd so ajiciTfliic-Pii rcijg surmrEict匕丸 th trns HLhMiXAj鼐 yuu KMeJeJ * mlLMIu ttxig日3口_2) JOO0 口帕川南 白日白* 人 .自小不-j E_2i osiflnw tj FieOrcrrtciOI 10 mpsrHnrHf*.i ou 由 nd iwed to MH hes rd tried ”口* iw l旨制,q: srce thwe 即 t Qdisd l國。yu de
8、riJfy hLlude dieccjrlfr-s-.vb 施近口6)點擊 Finish o7)選擇 GraphsProject GraphsUML Class DiagramCTsFMgOpGf 漏中+Lb adF Ie iIbyntfiMpe 依a用CTruFi伯8)右鍵單擊函數(shù) api_new_ ,選擇 Graphical ViewsControl FlowdL muE.尸2M sf 比口 PWLiw 6畫 A,師Ci.gislmlF量口眥nert1 flFcOoerflr!*HC/5irDlK- TlflrCLCl11 F WC 5mLiHMM CP爐 MQ?!疤枺?;9)右鍵單擊類 I
9、 ,選擇 Graphical ViewsDeclaration山巖 FlLE=TYPf尸TLza FLJ- PE_TRJ 5S4止晉 FLE_Tii3_&E5breflkC!C FiLE,rrrejPiYDerived ClassesC Stl Fi I gOperatT * CPIyFi 但口 p 式曲 rj * 5uFi|gOpErmtQ)*; ClgesFileOperator)*=AJj&:ld-L :ITllCpt dtLIdefined as-ll-il&UperatorIFileOpaiatorCOutCome LoadFileCOutCome Sa/eFile FieOEmif
10、Qr b做產(chǎn) (rcw :附一;Fi&CW:富例C 工33MFWJE 式acjr Me C-lgOpip-itt-3l L四.實驗心得為了更好的理解程序,有時候圖是一個很好的方法。 不僅可以把程序的邏輯直觀的展示出來, 而且可以方便與他人分享, 很多邏輯上的問題可能代碼上看不出來,但是采用圖的方法就很方便了。實驗三提高程序的可維護性一.實驗目的.理解程序的可維護性。.提高程序的可維護性。.實現(xiàn)程序的維護。二.實驗環(huán)境安裝 Microsoft Visual C+ 的 PC 機一臺。三.實驗內容:兩人一組,分別從三個題目中選擇一題(兩人不要選同一題)完成,然后由對方進行維護,包括修改程序中不合理的
11、地方,補充注釋,擴展程序功能等。題目一:有n個人圍成一圈,順序排號。從第1個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。總體思路:用一個數(shù)組代表所有人,其中每個數(shù)的值代表這個人還在不在圈內。(0代表已出局,1代表還在圈內)通過一個指針循環(huán)訪問數(shù)組內各個成員,若數(shù)組成員值為1,則計數(shù)器+1,每當計數(shù)器加到3時,將該數(shù)組成員置0 (即這個人出圈),最后指針指向的數(shù)組成員的下標就是最后留下的人。#includeusing namespace std;void main()int i,k,m,n,num50,*p;printf(input number of pe
12、rson: n=);scanf(%d,&n);p=num;for(i=0;in;i+)*(p+i)=i+1;i=0;k=0;m=0;while(mn-1)/m是指出局的人數(shù),因為有n個人,最后剩下一個人,所以最多出局(n-1) 個人,構成循環(huán)if(*(p+i)!=0)/判斷這個號(原來的序號)是否出局k+;這個號沒有出局,就報數(shù),計數(shù)器加1if(k=3)/報3的出局(*(p+i)=0;/將出局的這個人標記k=0;/使計數(shù)器置零,以便后面的人報數(shù)m+;/出局人數(shù)計數(shù)器加 1)i+;將指針后移,雖然i不是指針,但p+i就是指針了,所以i就是為指針服務的 if(i=n)/如果指針移到了尾部,則返回到
13、頭部i=0;)以上的循環(huán)是主要焦點,后面的就是找出最后那個人,這個好理解while(*p=0)/用這個可以只判斷所找號的前面的號(包括所找號),不用判斷后面的。p+;printf(The last one is N0.%dn,*p);system( pause);)四.實驗心得編寫代碼的時候添加注釋能提高程序的可理解性。實驗四實現(xiàn)程序的重構一.實驗目的.理解程序的重構。.實現(xiàn)效率驅動下的程序重構。二.實驗環(huán)境安裝 Microsoft Visual C+ 的 PC 機一臺。三.實驗內容實驗內容:對下列代碼進行調整以提高效率。#include stdio.hvoid main()int a100;
14、for(int i=0;i100; i+) scanf(%d”,&ai);for(i=0;i=80 )printf(%dt%cn,ai,A); continue ; else if(ai =70 ) printf(%dt%cn,ai,B); continue; else if(ai =60 )printf(%dt%cn,ai,C); continue ;elseprintf(%dt%cn,ai,D); continue;思路:用switch語句替代if語句修改后的代碼如下:#includeusing namespace std;int main()int a100;int x,i;for(i=0;i100; i+)scanf(%d”,&ai);for(i=0;i100;i+)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同簽訂前的員工福利制度
- 臨時客服人員聘用合同樣本
- 足球場膜結構施工合同
- 超分子水楊酸換膚治療
- 2022年大學水利專業(yè)大學物理下冊期末考試試卷C卷-附解析
- 商業(yè)空地租賃合同范本
- 2022年大學電氣信息專業(yè)大學物理二模擬考試試題A卷-含答案
- 餐廳包間地磚鋪設合同
- IT行業(yè)銷售精英聘用合同
- 通信工程監(jiān)理聘用合同樣本
- 四川省鄉(xiāng)村機耕道建設規(guī)范和技術標準(試行)
- 娃娃家區(qū)角游戲方案
- 華為SD-WAN高層主打膠片
- 國網(wǎng)基建各專業(yè)考試題庫大全-安全專業(yè)-下(多選、判斷題匯總)
- 我為天宮供水-多角度認識物質的思路方法 課件
- 身邊的美食 教學設計
- 水廠自動化監(jiān)控系統(tǒng)施工方案2023年
- 企業(yè)人才流失的原因分析及對策研究
- 夜空中最亮星五線譜鋼琴譜
- 加盟部組織架構及職位描述
- KM(克勞斯瑪菲)注塑機操作教材
評論
0/150
提交評論