C ++如何使用CIN输入这样的值?
c++ how to use cin for inputting values like this?
我对C++很陌生,我试图创建一个程序来接收用户的请求,如下所示:
i7: 43 2 21 A
基本上它必须遵循的格式是在 i 之后应该有一个没有任何空格的数字,后面直接跟着 :,然后数字之间的空格,最后最后一个字符应该是 A。用户可以选择在 : 和 A 之间输入任意数量的数字,如果输入与此格式有任何不同,用户会收到错误。
我不知何故设法完成了某些部分(尽管仍然需要弄清楚如何处理整个间距问题(,但我无法存储最后一个字符 A idk 为什么......这是我到目前为止所做的。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int size;
vector<long double> nums;
long double numbers;
char c1, c2, c3;
if (cin >> c1)
{
if (cin >> size >> c2 && c1 == '<' && c2 == ':')
{
while (cin >> numbers)
nums.push_back(numbers);
cin>>c3; //this doesn't work or even get called
cout<<c3<<endl;
for(int i=0;i<nums.size();i++)
{
cout<<nums[i]<<endl;
}
}
else{
cout<<"error"<<endl;
}
}
return 0;
}
您的问题是,cin
的故障位是在while
循环之后设置的。在它之后打电话给cin.clear()
,它应该可以工作。相关:为什么我们在读取输入后调用 cin.clear(( 和 cin.ignore((?
相关文章:
- 如何将 getline 与标准输入一起使用?
- 我无法编译谷歌测试,告诉链接器输入未使用(macOS)
- 将 select() 与非基于文件描述符的输入一起使用
- 我如何与C 中的用户输入正确使用参数
- 如何使用字符获取多个输入,使用 int 获取多个输出?C++
- 为菜单创建基本的用户输入验证(使用基本的 while/do-while 等循环)
- 根据用户输入创建使用C 的图形
- 我不明白如何将 toupper 和 isalpha 与.txt文件字符串输入一起使用
- 检查用户的负输入,使用数组
- 如何在 c++ 中将枚举与用户输入一起使用
- 将 getline() 与 C++ 中的文件输入一起使用
- 从xml文件输入并使用rapidxml进行解析
- 从重定向的stdin获取输入时使用seekg()
- 执行控制台程序,写入标准输入并使用管道读取结果
- 为什么我什至会在检查有效输入时使用 istream::ignore
- 对于某些输入,使用逐位操作完成的2除法器的舍入幂失败
- 类模板的Makefile问题:clang警告链接器输入未使用
- CLANG:警告:Principal.o:"链接器"输入未使用
- c++在输入和使用操作符中查找字符串
- 使用getline分隔输入,使用逗号作为分隔符