使用 C++ 在 While 循环中输入字符
这个简单的文章将讨论在 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;
}
输出:
提示用户输入一个值,我们输入了值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 的值。
输出:
一旦输入了错误的数据,循环不会立即中断,而是在一次迭代之后中断。
一旦与 cin 关联的标准输入流进入错误状态,就无法进行进一步的输入,直到该状态未重置为良好状态。 我们可以使用 cin.clear() 函数清除 cin 的无效状态,并使用 cin.ignore(numeric_limits
这将使我们能够在不中断执行的情况下重新获取用户的输入。
相关文章
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++ 中的异常 Warning: Cast From Pointer to Integer of Different Size
发布时间:2023/08/19 浏览次数:106 分类:C++
-
这篇快速文章是关于 C++ 中 cast from pointer to integer of different size 警告的解决方案。 该警告通常在不同的编译器上显示为错误。C++ 中 Warning: Cast From Pointer to Integer of Different Size
在 C++ 中转换为 SHA256
发布时间:2023/08/19 浏览次数:133 分类:C++
-
SHA256 转换是一种加密哈希技术,自 90 年代以来一直在使用,但在比特币和区块链出现后获得了重视。它使用一种不可逆的单向哈希技术,这意味着最终答案永远无法逆转回其原始消息,从而使
在 macOS 中编译 C++ 代码
发布时间:2023/08/18 浏览次数:198 分类:C++
-
本文包含有关 macOS X 的 C++ 编译器的信息。我们将讨论如何使用命令行界面(即终端)使用 g++ 编译器编译和运行代码。