zoukankan      html  css  js  c++  java
  • c++入门之 深入cin

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

     1 #include "iostream"
     2 const int MAX{5};//c++11中使用{}进行重新命名
     3 int main()
     4 {
     5     using namespace std;
     6     double fish[MAX];
     7     //////////
     8     bool sym;
     9     int test;
    10     sym = bool(cin >> test);
    11     cout << sym << endl;//这里是用来测试cin输入如果输入的不是对应的类型,那么将返回什么.
    12     /////////
    13     cout << "please enter the weights of dish.
    ";
    14     cout << "you may enter up to" << MAX << " fish<q to terminate>.
    ";
    15     cout << "fish #1: ";
    16     int i{0};
    17     while (i < MAX && cin >> fish[i]){//注意两点:数组是从[0]元素开始的!!这里输入了double型数据判定为true。
    18         if (++i < MAX)                 //输入了其他的字母判定为false。因此若输入了字母则会结束
    19             cout << i << endl;
    20             cout << "fish #" << i + 1 << ":";
    21     }
    22         double total{ 0.0 };
    23         for (int j{ 0 }; j < i; j++)
    24             total = total + fish[j];
    25         if (i == 0)
    26             cout << "No fish
    ";
    27         else
    28             cout << total / i << "=ave weight of " << i << "fish
    ";
    29         cout << "Done.
    ";
    30         system("pause");
    31         return 0;
    32         
    33 }

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

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

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

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

  • 相关阅读:
    155. 最小栈
    160. 相交链表
    PAT 1057 Stack
    PAT 1026 Table Tennis
    PAT 1017 Queueing at Bank
    PAT 1014 Waiting in Line
    PAT 1029 Median
    PAT 1016 Phone Bills
    PAT 1010 Radix
    PAT 1122 Hamiltonian Cycle
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/9764529.html
Copyright © 2011-2022 走看看