使用空格取消简单循环
Using a space for canceling a simple loop
这是我这个简单作业的代码:
编写将读取用户字符输入的代码,直到输入空格(空格)。打印输入的字符数。请记住,用户可能会决定输入一个空白作为他的第一个字符。
为什么空间没有结束循环?
#include <iostream>
using namespace std;
int main(){
char answer;
int count=1;
do{
cout << "please enter number " << count;
cin >> answer;
count++;
}while(answer!=' ');
cout << "you entered " << count-1 << "numbers." << endl;
return 0;
}
默认情况下,cin >>
操作会跳过所有类型的空格。您可以在循环之前使用 cin >> noskipws;
来禁用空格跳过或使用cin.get()
:
cin.get(answer);
您应该知道,现在不再跳过换行符和回车符,因此您必须单独处理它们。此外,您应该检查流状态以对文件结尾做出反应:
do {
cout << "Please enter number " << count << endl;
do {
cin.get(answer);
} while (cin && (answer == 'r' || answer == 'n'));
count++;
} while (cin && answer != ' ');
相关文章:
- 在c++中用vector填充一个简单的动态数组
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的简单if-else语句是如何无法访问的代码
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 一种在C++中读取TXT配置文件的简单方法
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 显示错误输出的简单数组排序程序
- 当无法使用模板和宏时,生成类型变体C++代码的最简单方法是什么?
- 退出简单while循环时出现问题
- 为什么简单的算术减法在"if"条件下不起作用?
- C++-字符串是否包含一个带有简单循环的单词
- 关于 c++ 函数中指针赋值的简单问题
- 从函数返回任意简单类型的数据
- 如何在没有函数的情况下编写此代码并使C++更简单?
- 有没有办法简单地从 GPU 调用多个 cpp 输出文件?
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- CPU 瓶颈;处理具有许多非静态对象的 3D 场景渲染的简单方法