迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

使用 C++ 在 While 循环中输入字符

作者:迹忆客 最近更新:2023/08/19 浏览次数:

这个简单的文章将讨论在 C++ 中处理输入。 此外,我们将研究处理用户无效输入的问题。 最后,我们将讨论如何使用 while 循环从用户处获取输入。

首先,应该了解 C++ 中从用户获取输入数据的过程。 C++中的iostream库为我们提供了cin函数。 它将获取用户的输入并将值存储在所使用的变量中。

代码示例:

int x;
cin>>x;

在此代码中,x 是在第 1 行声明的整型变量,并在第 2 行进行输入。cin 将提示用户输入数据并将该数据存储在变量 x 中。 该值必须是整数值; 否则,该值将部分保存在 x 中或不保存。


在 C++ 中使用 while 循环和 cin 函数

考虑另一个例子,我们想要接受多个输入,直到用户输入一些无效数据。 如果输入了一些无效数据,则应关闭输入。

代码:

int main()
{
    int a;;
    while(cin >> a){
        cout<<"You entered the correct input value"<<endl;
    }
    cout<<"Sorry, you have entered wrong type of data."<<endl;
}

输出:

使用 while cin 接受多个输入,直到用户输入一些无效数据

提示用户输入一个值,我们输入了值2,这是一个int值。 因此,循环继续迭代,并再次提示用户。

经过三次尝试,我们输入了一些非 int 类型的字符(即 abc)。 这会导致标准输入流(与 cin 关联)被破坏,并且表达式 cin >> a 返回 false。

因此,循环中断并且控制转移到循环外的线路。 我们可以通过这种方式限制一些无效数据的输入。

下一个示例显示了实现相同任务的另一种方法。

代码:

int main()
{
    int a;;
    while(cin){
        cin>>a;
        cout<<"You entered the correct input value"<<endl;
    }
    cout<<"Sorry, you have entered a wrong type of data."<<endl;
}

我们应该知道cin有四种状态,分别是good、bad、fail、EOF。 运行上面的代码时,cin 处于良好状态。

我们使用 cin 作为循环条件。 当代码开始执行时,cin 将处于良好状态并返回 true。

因此,while 循环将执行并提示用户输入 a 的值。

输出:

使用 while cin 接受多个输入,直到用户输入一些无效数据 2

一旦输入了错误的数据,循环不会立即中断,而是在一次迭代之后中断。

一旦与 cin 关联的标准输入流进入错误状态,就无法进行进一步的输入,直到该状态未重置为良好状态。 我们可以使用 cin.clear() 函数清除 cin 的无效状态,并使用 cin.ignore(numeric_limits::max(), '\n') 函数清除流中的无效输入。

这将使我们能够在不中断执行的情况下重新获取用户的输入。

上一篇:C++ 中的 STL 容器中的 value_type

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

C++ 中的 STL 容器中的 value_type

发布时间:2023/08/19 浏览次数:115 分类:C++

STL 是标准模板库的缩写。 它是一组数据结构和算法,用于实现 C++ 编程语言的通用容器和函数。在 C++ 中,容器将数据存储在特定类型的对象中。 有两种容器:序列容器(按顺序保存对象)和

C++ 中的常量参数

发布时间:2023/08/19 浏览次数:96 分类:C++

const 关键字在 C++ 中用于将变量定义为常量。 该关键字可以应用于任何数据类型,但最常应用于指针和引用。常量参数是可以由同一范围内的任何函数设置和使用的值。 该参数应在使用该参数

在 C++ 中创建表

发布时间:2023/08/19 浏览次数:68 分类:C++

在C++中,可以使用 iomanip 库以表格的形式显示数据。 我们还将了解 iomanip 库有助于打印表中数据的各种方法。在本文中,我们将讨论如何在 C++ 中以表格的形式打印数据。

C++ 中的 POD 类型

发布时间:2023/08/19 浏览次数:188 分类:C++

C++ 中的 POD 代表普通旧数据。 它是一个用关键字 struct 或 class 定义的类,只有 int、char、double、bool、signed/unsigned、long/short、float 等数据成员。C++ 中的 POD 类型

在 C++ 中查找对象类型

发布时间:2023/08/19 浏览次数:192 分类:C++

本文讨论在 C++ 中查找对象类型的不同方法。在 C++ 中查找类对象的类型 与简单变量的数据类型(如 int、bool 等)类似,类对象也有一个类型,即它们所属的类:

在 C++ 中定义和使用负无穷大

发布时间:2023/08/19 浏览次数:83 分类:C++

本文讨论了在 C++ 中表示负无穷大的问题并列出了一些可能的解决方案。C++ 使用 IEEE-754 标准来表示浮点数。 浮点数据类型共有三种:float、double 和 long double。

在 C++ 中转换为 SHA256

发布时间:2023/08/19 浏览次数:133 分类:C++

SHA256 转换是一种加密哈希技术,自 90 年代以来一直在使用,但在比特币和区块链出现后获得了重视。它使用一种不可逆的单向哈希技术,这意味着最终答案永远无法逆转回其原始消息,从而使

在 macOS 中编译 C++ 代码

发布时间:2023/08/18 浏览次数:198 分类:C++

本文包含有关 macOS X 的 C++ 编译器的信息。我们将讨论如何使用命令行界面(即终端)使用 g++ 编译器编译和运行代码。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便