學(xué)生選課系統(tǒng)-代碼評審_第1頁
學(xué)生選課系統(tǒng)-代碼評審_第2頁
學(xué)生選課系統(tǒng)-代碼評審_第3頁
學(xué)生選課系統(tǒng)-代碼評審_第4頁
學(xué)生選課系統(tǒng)-代碼評審_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、代碼評審檢查表:NO檢查項是否符合1變量生存周期合適O2代碼不僅包含單元測試用例,而且測試均已通過。X3代碼包含了恰當(dāng)?shù)淖⑨尯痛a文檔O4代碼符合代碼格式規(guī)范O5代碼有健全的出錯處理子程序X6刪除了多余語句O7編譯沒有出錯O8連接沒有出錯O9消除了所有警告O10性能問題有考慮X11安全問題有考慮O12不存在溢出O13不存在內(nèi)存泄露O14優(yōu)先使用可重用組件或庫中相同功能的函數(shù)來替換自己的實(shí)現(xiàn)X15出現(xiàn)了恰當(dāng)?shù)霓D(zhuǎn)移語句X16變量初始化沒有異常,沒有引用未初始化變量O17變量類型定義沒有出錯O18代碼邏輯達(dá)到最佳編碼X19功能要求和代碼實(shí)現(xiàn)一致O20二、代碼評審實(shí)驗(yàn)心得:2.1代碼評審定義:代碼

2、評審,是一種靜態(tài)的軟件測試方法。它針對軟件的源代碼,通過走查、評審等方式,來有效的發(fā)現(xiàn)軟件代碼缺陷。2.2代碼評審優(yōu)點(diǎn):有利于預(yù)防bug,為改善代碼質(zhì)量打下堅實(shí)的基礎(chǔ)。在項目的早期發(fā)現(xiàn)缺陷,可以將損失降至最低。評審的過程也是重新梳理開發(fā)思路的過程,雙方都加深了對系統(tǒng)的理解。有利于促進(jìn)團(tuán)隊溝通、促進(jìn)知識共享、共同提高。2.3代碼評審實(shí)現(xiàn)過程及心得體會: 在針對源程序,即學(xué)生選課管理系統(tǒng)源代碼的基礎(chǔ)上,結(jié)合代碼評審的相關(guān)概念、思想,還有參考了相關(guān)知識。有針對性的設(shè)計了,一個評審檢查表。按照代碼評審的要求,逐步按評審檢查表的款項。逐條,執(zhí)行檢查。嚴(yán)格的按照審查要求,嚴(yán)肅的將檢查結(jié)果記錄在冊。 代碼評

3、審的過程中,按照一定的速度執(zhí)行代碼檢查。檢查代碼的編程風(fēng)格,書寫格式,變量定義、生存周期、初始化,代碼注釋是否合適等款項。每一條檢查項目嚴(yán)格執(zhí)行,這個過程十分枯燥。但必須仔細(xì),認(rèn)真對待,不容許出現(xiàn)一絲錯誤。代碼評審,是我們以前重來沒有經(jīng)歷過的事情,對于這些事情。我們既充滿了好奇,也有些忐忑不安。在實(shí)驗(yàn)的過程中,我們一邊查找資料,一邊根據(jù)書上所學(xué)、以及老師所講。一邊學(xué),一邊用。在這樣的狀態(tài)下,歷經(jīng)苦難,終于完成了這個過程。在這個過程中,我學(xué)到了很多,在以前都不會注意的東西。學(xué)會了以一種嚴(yán)謹(jǐn)?shù)膽B(tài)度來認(rèn)真執(zhí)行,學(xué)會了有問題就同伙伴,交流、討論。在將來,或許我會從事軟件行業(yè)。相信到那個時候,在做軟件測

4、試的時候,這個時候的一段經(jīng)歷,會對我很有幫助。三、源代碼:#include#include#include#define SCMAX 6/*每人選課最大數(shù)目-1*/#define TEMAX 4 /*老師能教的最大課程數(shù)目-1*/#define STU 1000/*最大學(xué)生人數(shù)*/#define CNO 200 /*課程最大數(shù)目*/#define Tea 200 /*老師最大編號*/#define CPMAX 80 /*規(guī)定每門課人數(shù)最大值*/struct Courseint Cno;/*課程號*/char Cname20;/*課程名*/double time;/*上課時間*/char pla

5、ce20;/*上課地點(diǎn)*/char teacher10;/*上課老師*/int Tno; /*老師編號*/int pn ; /*學(xué)生人數(shù)*/CouCPMAX= 1,數(shù)學(xué),109.40, 5#5110, 張三,1,4,2,語文,210.30,6#6110, 李四,2,1,3,英語,307.30, 15#15217,王五,3,1,4,經(jīng)濟(jì),715.40,6#6510, 張三,1,4,5,防身術(shù),10.00,8#8321,李四,2,0,6,電腦游戲,10.00,5#5310,王五,3,0; /*課程初始化 課程編號、上課時間、上課地點(diǎn)、老師、老師編號、課程人數(shù)*/ struct STUDENTint

6、 no;char Sname10;S6=1,尹新榮,2,李明,3,李陽,4,劉成立,5,艾斯,6,司麗芳;int StudentSTUSCMAX=1,1,0,0,0,2,1,0,0,0,3,3,0,0,0,4,1,2,3,4,5,1,0,0,0 ,6,0,0,0,0; int TeacherTeaSCMAX=1,1,4,0,0,2,2,5,0,0,3,3,6,0,0; /*+學(xué)生+*/void student();void manger();void jiemian();void Add();void change();void select(int XH);void DropC(int XH

7、) ; void teacher();void manger();void search(int XH) /*課程查詢*/int j,i;char k10;printf(您已選擇的課程為:n);printf(課程號 課程名 上課時間 上課地點(diǎn) 上課老師 老師編號 課程人數(shù)n);for(j=1;j=4;j+)if(StudentXHj=0) printf(空n); elseprintf(%3d %10s %9.2f ,CouStudentXHj-1.Cno,CouStudentXHj-1.Cname,CouStudentXHj-1.time);printf( %7s %8s %9d %9dn,C

8、ouStudentXHj-1.place,CouStudentXHj-1.teacher,CouStudentXHj-1.Tno,CouStudentXHj-1.pn); /*輸出所查詢的課程*/printf(任意鍵返回n);scanf(%s,&k);system(cls); printf(%s歡迎回來!n,SXH.Sname); system(color 80); printf( #n); printf( # #n); printf( # #n); printf( # 1 選課查詢 #n); printf( # #n); printf( # 2 選課 #n); printf( # #n);

9、printf( # 3 選課退選 #n); printf( # #n); printf( # #n); printf( # B返回 #n); printf( #n); scanf(%d,&i); if(i=1) system(cls);search(XH); else if(i=2) system(cls);select(XH); else if(i=3) system(cls);DropC(XH); else system(cls);jiemian();void select(int XH) /*選課*/ leap1: system(color 70); int cn,i,j,Cn,k;in

10、t p=0;char t20;printf(課程號 課程名 上課時間 上課地點(diǎn) 上課老師 老師編號 課程人數(shù)n); /*添加*/for(k=0;k=CPMAX;k+) /*添加*/if(Couk.Cno=0) break;for(i=0;ik;i+)printf(%3d %10s %9.2f,Coui.Cno,Coui.Cname,Coui.time);printf( %10s %8s %9d %9dn,Coui.place,Coui.teacher,Coui.Tno,Coui.pn); /*添加*/printf(請輸入課程序號n);scanf(%d,&cn);Cn=cn-1; if(CouC

11、n.Cno=0) printf(該課程不存在n); printf(是否繼續(xù)選課? 1 是 2 否n); scanf(%d,&j); if(j=1) system(cls);goto leap1; else if(Cn=0)printf(課程號 課程名 上課時間 上課地點(diǎn) 上課老師 老師編號 課程人數(shù)n);printf(%3d %10s %9.2f,CouCn.Cno,CouCn.Cname,CouCn.time);printf( %10s %8s %9d %9dn,CouCn.place,CouCn.teacher,CouCn.Tno,CouCn.pn);printf(是否選擇該課程? 1 是

12、 2 否n);scanf(%d,&j);if(j=1)for(j=1;j0) printf(你所選課程已滿不能再進(jìn)行選擇n); else if(CouCn.pn=CPMAX) printf(該門課人數(shù)已滿);printf(是否重新選課?1 是 2 否n);scanf(%d,&i);if(i=1) system(cls);goto leap1; /*1111*/elseif(StudentXH1=0) StudentXH1=CouCn.Cno;else if(StudentXH2=0) StudentXH2=CouCn.Cno;else if(StudentXH3=0) StudentXH3=C

13、ouCn.Cno;elseStudentXH4=CouCn.Cno; CouCn.pn=CouCn.pn+1; printf(選課成功!n); printf(是否繼續(xù)選課? 1 是 2 否n); scanf(%d,&j); if(j=1) system(cls);goto leap1; else printf(是否繼續(xù)選課? 1 是 2 否n); scanf(%d,&j); if(j=1) system(cls);goto leap1;else printf(該課程不存在n);printf(是否繼續(xù)選課? 1 是 2 否n);scanf(%d,&j);if(j=1) system(cls);g

14、oto leap1;printf(任意鍵返回n);scanf(%s,&t);system(cls);printf(%s歡迎回來!n,SXH.Sname);system(color 80);printf( #n);printf( # #n);printf( # #n); printf( # 1 選課查詢 #n);printf( # #n);printf( # 2 選課 #n);printf( # #n);printf( # 3 選課退選 #n);printf( # #n);printf( # #n);printf( # B返回 #n);printf( #n);scanf(%d,&i);if(i=

15、1) system(cls);search(XH); else if(i=2) system(cls);select(XH);else if(i=3) system(cls);DropC(XH); else system(cls); jiemian();void DropC(int XH) /*課程退選*/leap2: int i,j,k;char l20;int m=0;printf(您已選擇的課程為:n);printf(課程號 課程名 上課時間 上課地點(diǎn) 上課老師 老師編號 課程人數(shù)n);for(j=1;jCNO|i0) printf(輸入有誤n);goto leap2;else if(C

16、oui-1.Cno=0)printf(該課程不存在n);printf(是否重新退選課程?1 是 2 否n);scanf(%d,&k);if(k=1) system(cls); goto leap2;elsefor(j=1;j6|xh6|bhCNO|BH0) printf(輸入有誤n);goto leap3;else/*kk*/printf(您所教的選修課有:n);printf(課程號 課程名 上課時間 上課地點(diǎn) 上課老師 老師編號 課程人數(shù)n);for(i=1;iCNO|j1) printf(輸入錯誤n); goto leap4; else if(Couj-1.Cno!=0)/*ff*/i=1

17、;while(i4)if(j=TeacherBHi)m=1;i+;elsei+;if(m=0) printf(你沒有教該門課n); goto leap4; elseprintf(選修該門課程的學(xué)生有:n);for(i=0;i=5;i+)for(d=1;d5;d+)if(j=Studentid)printf(%3d %sn,Si.no,Si.Sname);printf(按任意鍵返回n);scanf(%s,l);system(cls);jiemian();/*+老師+/*+管理員+*/void Delete() /*對課程進(jìn)行刪除*/leap5: int i,j;char l20;printf(請

18、輸入要刪除的課程的課程號:n); scanf(%d,&i);if(iCNO) printf(輸入錯誤n); goto leap5;else if(Coui-1.Cno=0) printf(該課程不存在n);printf(是否繼續(xù)刪除課程? 1 是 2否n);scanf(%d,&j);if(j=1)system(cls); goto leap5;elseprintf(正在刪除請稍后n);memset(&Coui-1,0,sizeof(struct Course);printf(刪除成功!n);printf(是否繼續(xù)刪除課程? 1 是 2否n);scanf(%d,&j);if(j=1)system

19、(cls); goto leap5;printf(任意鍵返回n);scanf(%s,&l);system(cls); printf( #n); printf( # 管理員 #n); printf( # #n); printf( # 1 增加課程 #n); printf( # #n); printf( # 2 刪除課程 #n); printf( # #n); printf( # 3 修改課程 #n); printf( # #n); printf( # #n); printf( # B返回 #n); printf( #n); scanf(%d,&i); if(i=1) system(cls);Ad

20、d(); else if(i=2) system(cls);Delete(); else if(i=3) system(cls);change(); elsesystem(cls);jiemian();voidchange() /*對課程進(jìn)行修改*/char l20;leap6: int i,j,m,d;int k=0;printf( 請輸入要修改的課程的課程號:n);scanf(%d,&i);if(iCNO) printf(輸入錯誤n); goto leap6;else if(Coui-1.Cno=0) printf(該課程不存在n); goto leap6; elseint cno; ch

21、ar cname20; float Time; char Place20; char Teacher10; int tno; printf(請依次按 課程號 課程名 上課時間 上課地點(diǎn) 上課老師 老師編號 輸入:n);scanf(%d,&cno); scanf(%s,&cname);scanf(%f,&Time);scanf(%s,&Place);scanf(%s,&Teacher);scanf(%d,&tno);for(j=0;jCNO;j+)if(Couj.Cno=0) break;m=j;for(j=0;jm;j+)if(Couj.time=Time&strcmp(Couj.place,

22、Place)=0) k=1;break;if(k=1) printf(輸入的有誤,所修改的課程其他課程有沖突n);goto leap6;elseCoui-1.Cno=cno;strcpy(Coui-1.Cname,cname);Coui-1.time=Time;strcpy(Coui-1.place,Place);strcpy(Coui-1.teacher,Teacher);Coui-1.Tno=tno;printf(修改成功!n);printf(繼續(xù)修改課程? 1是 2否n);scanf(%d,&d);if(d=1)system(cls); goto leap6;printf(任意鍵返回n)

23、;scanf(%s,&l);system(cls);printf( #n);printf( # 管理員 #n);printf( # #n); printf( # 1 增加課程 #n);printf( # #n);printf( # 2 刪除課程 #n);printf( # #n);printf( # 3 修改課程 #n);printf( # #n);printf( # #n);printf( # B返回 #n);printf( #n);scanf(%d,&i);if(i=1) system(cls);Add();else if(i=2) system(cls);Delete();else if(i=3) system(cls);change();elsesystem(cls);jiemian();voidAdd() /*增加課程*/ char l20;leap7: int i,m,d,j,k;int cno; char cname20; double Time; char Place20; char Teacher10; int tno; printf(請輸入該課程的課程號:n); scanf(%d,&i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論