gpt4 book ai didi

c++ - 为什么这段代码不能正确读取用户输入?

转载 作者:行者123 更新时间:2023-11-30 03:24:23 28 4
gpt4 key购买 nike

所以我正在尝试根据用户输入的值和单位为单位转换器编写代码。此代码有时会正确读取输入并正确打印值和单位,但有时它不会读取任何输入。无论代码是否正确读取,输入中的数字和单位之间是否有空格似乎都无关紧要。但是,我希望空间无关紧要(例如“12m”与“12 m”)

#include <iostream>
#include <string>

using namespace std;

int main()
{
string units;
double val0 = 0;

cout << "input value and units\n";
cin >> val0 >> units;

cout << "value: " << val0 << "\nunits: " << units << endl;

return 0;
}

最佳答案

按照您当前的编程方式,如果您担心用户因使用不当而破坏您的程序,那么空间将始终很重要。

如果您希望空间是任意的,请考虑使用 getline 函数并以这种方式实现您的函数:

string entireLine;
getline(cin, entireLine); //will store either "12 m" or "12m" in entire line
//detect if entireLine contains a space
//run isSpace() in a loop across every character in entireLine
//parse the string one way if there is a space
//parse the string if there isn't a space

关于c++ - 为什么这段代码不能正确读取用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49745220/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com