cout <<"ERROR!" <<endl;
break;
}
}
case 4:
{
cout <<"Good!" <<endl;
break;
}
case 3:
{
cout <<"Soso" <<endl;
break;
}
case 2://根据前面试一试的结论,如果case没有对应的break,会运行到下一个case中
case 1:
case 0:
{
if (mark>=0)//同样要用if过滤负数
{
cout <<"Please work harder!" <<endl;
break;
}
}
default://其它情况都是出错
cout <<"ERROR!" <<endl;
}
return 0;
}
这个程序要比原来的程序4.1.2冗长一些。但是这里提到这个程序的目的是要教会大家一种使用switch的方法,即“以点盖面”。
算法时间:数据的转换
在程序设计中,我们经常会遇到这样的问题:我们希望处理的数据和电脑能够处理的数据可能有所不符。不符合的情况一般有两种,一种是范围不符合,另一种是类型不符合。对于范围不符合,我们一般考虑的是使用代数式对数据进行处理。比如C++中的随机函数能够产生一个0~32768之间的一个整数,如果我们希望得到一个0~10之间的随机数,那么就用它对10取余数,那么结果一定就在这个范围内。对于类型不符合,我们只好尽量用已有的数据类型来描述这种难以表达的类型。就如同电脑中用0和1表示真和假一样。










