学生选课系统-代码评审_第1页
学生选课系统-代码评审_第2页
学生选课系统-代码评审_第3页
学生选课系统-代码评审_第4页
学生选课系统-代码评审_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、代码评审检查表:NO检查项是否符合1变量生存周期合适O2代码不仅包含单元测试用例,而且测试均已通过。X3代码包含了恰当的注释和代码文档O4代码符合代码格式规范O5代码有健全的出错处理子程序X6删除了多余语句O7编译没有出错O8连接没有出错O9消除了所有警告O10性能问题有考虑X11安全问题有考虑O12不存在溢出O13不存在内存泄露O14优先使用可重用组件或库中相同功能的函数来替换自己的实现X15出现了恰当的转移语句X16变量初始化没有异常,没有引用未初始化变量O17变量类型定义没有出错O18代码逻辑达到最佳编码X19功能要求和代码实现一致O20二、代码评审实验心得:2.1代码评审定义:代码

2、评审,是一种静态的软件测试方法。它针对软件的源代码,通过走查、评审等方式,来有效的发现软件代码缺陷。2.2代码评审优点:有利于预防bug,为改善代码质量打下坚实的基础。在项目的早期发现缺陷,可以将损失降至最低。评审的过程也是重新梳理开发思路的过程,双方都加深了对系统的理解。有利于促进团队沟通、促进知识共享、共同提高。2.3代码评审实现过程及心得体会: 在针对源程序,即学生选课管理系统源代码的基础上,结合代码评审的相关概念、思想,还有参考了相关知识。有针对性的设计了,一个评审检查表。按照代码评审的要求,逐步按评审检查表的款项。逐条,执行检查。严格的按照审查要求,严肃的将检查结果记录在册。 代码评

3、审的过程中,按照一定的速度执行代码检查。检查代码的编程风格,书写格式,变量定义、生存周期、初始化,代码注释是否合适等款项。每一条检查项目严格执行,这个过程十分枯燥。但必须仔细,认真对待,不容许出现一丝错误。代码评审,是我们以前重来没有经历过的事情,对于这些事情。我们既充满了好奇,也有些忐忑不安。在实验的过程中,我们一边查找资料,一边根据书上所学、以及老师所讲。一边学,一边用。在这样的状态下,历经苦难,终于完成了这个过程。在这个过程中,我学到了很多,在以前都不会注意的东西。学会了以一种严谨的态度来认真执行,学会了有问题就同伙伴,交流、讨论。在将来,或许我会从事软件行业。相信到那个时候,在做软件测

4、试的时候,这个时候的一段经历,会对我很有帮助。三、源代码:#include#include#include#define SCMAX 6/*每人选课最大数目-1*/#define TEMAX 4 /*老师能教的最大课程数目-1*/#define STU 1000/*最大学生人数*/#define CNO 200 /*课程最大数目*/#define Tea 200 /*老师最大编号*/#define CPMAX 80 /*规定每门课人数最大值*/struct Courseint Cno;/*课程号*/char Cname20;/*课程名*/double time;/*上课时间*/char pla

5、ce20;/*上课地点*/char teacher10;/*上课老师*/int Tno; /*老师编号*/int pn ; /*学生人数*/CouCPMAX= 1,数学,109.40, 5#5110, 张三,1,4,2,语文,210.30,6#6110, 李四,2,1,3,英语,307.30, 15#15217,王五,3,1,4,经济,715.40,6#6510, 张三,1,4,5,防身术,10.00,8#8321,李四,2,0,6,电脑游戏,10.00,5#5310,王五,3,0; /*课程初始化 课程编号、上课时间、上课地点、老师、老师编号、课程人数*/ 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; /*+学生+*/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(课程号 课程名 上课时间 上课地点 上课老师 老师编号 课程人数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(课程号 课程名 上课时间 上课地点 上课老师 老师编号 课程人数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(是否继续选课? 1 是 2 否n); scanf(%d,&j); if(j=1) system(cls);goto leap1; else if(Cn=0)printf(课程号 课程名 上课时间 上课地点 上课老师 老师编号 课程人数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(你所选课程已满不能再进行选择n); else if(CouCn.pn=CPMAX) printf(该门课人数已满);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(是否继续选课? 1 是 2 否n); scanf(%d,&j); if(j=1) system(cls);goto leap1; else printf(是否继续选课? 1 是 2 否n); scanf(%d,&j); if(j=1) system(cls);goto leap1;else printf(该课程不存在n);printf(是否继续选课? 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(课程号 课程名 上课时间 上课地点 上课老师 老师编号 课程人数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(课程号 课程名 上课时间 上课地点 上课老师 老师编号 课程人数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(选修该门课程的学生有: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() /*对课程进行删除*/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(是否继续删除课程? 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(是否继续删除课程? 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() /*对课程进行修改*/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(请依次按 课程号 课程名 上课时间 上课地点 上课老师 老师编号 输入: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(继续修改课程? 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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论