【C++】第一章:多数据输入时的分隔问题

在键盘输入多数据时,必须用空格键,Tab键或enter键隔开;

  • 不同数据类型的输入: 按数据类型读取数据
    当用enter键分隔数据时:
    【C++】第一章:多数据输入时的分隔问题_第1张图片
    当用空格键分隔时结果是一样的:
    【C++】第一章:多数据输入时的分隔问题_第2张图片
  • 多数据错误输入情况
    当有与数据类型不匹配的数据时:
  1. 空格键分隔:按变量数据类型依次读入符合类型的数据
    【C++】第一章:多数据输入时的分隔问题_第3张图片
    a是整型,先读1,.2还在内存缓冲区,符合第二个浮点型变量,所以读了0.2,数字3可以看做整型也可以看做字符,所以读了给c,后面多余的就不要了。

2.用enter键分隔:
【C++】第一章:多数据输入时的分隔问题_第4张图片
输入两个数,变量读取完之后就不再能输入了,读完直接输出(这时用enter键分隔容易发现问题,因为还没输入完发现不能输入了)

为了解决上一个数据错误,用cin.clear()和cin.sync()两个函数清理数据缓冲区,使得前面数据的错误不影响后面的数据,每个数据都能单独判断类型再输出。

cout<<"Input int double char:";
 cin>>a;
 cin.clear();
 cin.sync(); 
 cin>>b;
 cin.clear();
 cin.sync();
 cin>>c;

运行:
【C++】第一章:多数据输入时的分隔问题_第5张图片

你可能感兴趣的:(笔记,C++,c++)