如何在一行中分配由值添加的用户的输入?

时间:2017-09-21 12:58:24

标签: c++

我想将一个值添加的用户输入分配给一行中的变量。无论如何我有可能这样做吗?

std::cout << "Please enter a number";
std::cin >> number; //thinking of adding 10 to number in this same line.

4 个答案:

答案 0 :(得分:1)

在C ++中没有内置函数,但您可以编写它:

int input(string prompt)
{
   int x;

   cout << prompt;
   cin >> x;

   return x;
}

然后你可以调用它,就像在这样的主函数中说:

int main()
{   
   int num = 10 + input("Please enter a number to add to 10 : ");
}

答案 1 :(得分:1)

正如其他人在评论中指出的那样,您可以编写自己的函数并使用std::stoi函数:

#include <iostream>
#include <string>
int input(const std::string& s){
    std::string tempstr;
    std::cout << s;
    std::getline(std::cin, tempstr);
    return std::stoi(tempstr);
}
int main(){
    int num = 10 + input("Please enter a number to add to 10:");
    std::cout << num;
}

为简单起见,省略了错误检查。

答案 2 :(得分:0)

这个问题非常好奇。一个答案可以像上面提到的那样,你可以开发一个功能&#34;输入&#34;返回摄入值。但是,如果你想在一个没有任何功能的衬里。     enter code here

#include<iostream>
using namespace std;
int main()
{
   int x,num;
   if (cout<<"enter new number") if(cin>>x) num=10+x;
   cout<<num;
}

答案 3 :(得分:0)

你可以使用这样的东西,没有额外的变量或函数(尽管函数是最好的方法):

#include <iostream>

using namespace std;

int main()
{
    int num = (cout << "Input: ") && (cin >> num) ? num + 10 : 0;

    cout << num;

    return 0;
}