cin 表示输入流,但是究其本质,又能认识到什么呢?先上代码:

 #include "iostream"
const int MAX{};//c++11中使用{}进行重新命名
int main()
{
using namespace std;
double fish[MAX];
//////////
bool sym;
int test;
sym = bool(cin >> test);
cout << sym << endl;//这里是用来测试cin输入如果输入的不是对应的类型,那么将返回什么.
/////////
cout << "please enter the weights of dish.\n";
cout << "you may enter up to" << MAX << " fish<q to terminate>.\n";
cout << "fish #1: ";
int i{};
while (i < MAX && cin >> fish[i]){//注意两点:数组是从[0]元素开始的!!这里输入了double型数据判定为true。
if (++i < MAX) //输入了其他的字母判定为false。因此若输入了字母则会结束
cout << i << endl;
cout << "fish #" << i + << ":";
}
double total{ 0.0 };
for (int j{ }; j < i; j++)
total = total + fish[j];
if (i == )
cout << "No fish\n";
else
cout << total / i << "=ave weight of " << i << "fish\n";
cout << "Done.\n";
system("pause");
return ; }

上述中8-11行的代码,我们验证了对于int sym, cin>>sym的返回值,我们通过打印一个布尔变量的值来验证。对于输入的如 1,3.14返回1,对于'w',"wr"返回0.

下面一段文字是对cin这种操作的详尽解读.

c++入门之 深入cin-LMLPHP

而第17行的while()中的判定条件则十分明确的表明了:可以将通过cin>>test的返回值来判定循环是否终止.

在后续学习中,应当逐渐深入cin>>test的意义.

05-06 02:50