代码复审
每位同学复审其结对小伙伴的个人项目(第二次作业中的四则运算编程作业),并在博客中记录复审结果。
这次我复查的是高亚南在第二次作业中的四则运算编程
以下是他的代码:
#include<iostream>
#include<stdlib.h>
#include<iomanip>
#include<time.h>
using namespace std;
#define random() (rand()%100)//运用rand()函数随机生成100以内的整数。
void main()
{
int s1,s2,s3,s4;
srand((int)time(NULL));//运用srand函数设立随机种子,让种子和当前时间有关,避免每次生成的随机数相同
for(int i=0;i<30;i++)//运用for循环,共循环30次,生成30随机运算。
{
s1=random();
s2=random();
int k=(int)rand()%5;//运用rand()函数随机生成5以内的整数。
switch(k)
{
case 0:{cout<<s1<<"+"<<s2<<"=";
break;} //进行整数加法运算
case 1:{cout<<s1<<"-"<<s2<<"=";
break;} //进行整数减法运算
case 2:{cout<<s1<<"*"<<s2<<"=";
break;} //进行整数乘法运算
case 3:{
while(s2==0)
s2=random();
cout<<s1<<"/"<<s2<<"=";
break;} //进行整数除法运算
case 4: //真分数运算部分
{
while(s2==0||s1>=s2)
{
s1=random();
s2=random();
}
s3=random();
s4=random();
while(s4==0||s3>=s4)
{
s3=random();
s4=random();
}
int q=(int)rand()%4;
switch(q)
{
case 0:
cout<<"("<<s1<<"/"<<s2<<")"<<"+"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
case 1:
cout<<"("<<s1<<"/"<<s2<<")"<<"-"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
case 2:
cout<<"("<<s1<<"/"<<s2<<")"<<"*"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
case 3:
cout<<"("<<s1<<"/"<<s2<<")"<<"/"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
}
}
}
cout<<endl;
}
system("pause");
}
复审代码总结:
这个代码总体上编写的很不错。我根据他的代码学习到了很多东西,很规范而且思路清晰。我参考了教材的内容,根据教材一步一步地进行了复审,我首先通过VS2015进行了运行,程序可以运行出来,通过测试四则运算程序也没有发生乱码或者闪退等bug。我也感觉到了自身的不足,在处理整数操作部分时,使用try/throw语句,避免除法分母为0的情况,通过这次,学习到了很多东西。对自己包括四则运算这一个程序也有很大的启发和帮助。

浙公网安备 33010602011771号