如何在C ++中创建控制台应用程序?

时间:2010-09-17 17:21:37

标签: c++

我想做一个这样的应用程序:

这是控制台,例如:

write_number 5
Your number is 5

怎么做?

有人可以解释一下吗?

7 个答案:

答案 0 :(得分:9)

如果您希望通过在Stack Overflow上提问来学习编程,那么您将会长时间参与其中。我建议您Programming -- Principles and Practice Using C++Accelerated C++

关于你的问题:

#include <iostream>
#include <cstdlib>

int main(int argc, char** argv)
{
    std::cout << "your number is " << std::atoi(argv[1]) << '\n';
}

请注意,这不是此程序的最佳版本(例如,如果用户未传递参数,或未传递数字作为参数,或传递的数字大于{{1或者传递一个intfloat而不是double的数字?),但它确实会给你一个想法。

更高级的主题 - 无需购买书籍 - 可以在Bjarne Stroustrup's technical FAQ找到(Stroustrup创建了C ++的原始版本)。

答案 1 :(得分:6)

这是关于cin和cout的基本教程(“see-in / out”)

http://www.cplusplus.com/doc/tutorial/basic_io/

答案 2 :(得分:4)

使用控制台输入和输出。这些在C ++中最简单地通过std :: cin和std :: cout:

公开

http://www.cplusplus.com/doc/tutorial/basic_io/

#include <iostream>

int main(int argc, char* argv[])
{
  int value;
  std::cout << "write_number ";
  std::cin >> value;
  std::cout << "Your number is " << value << "\n";
  return 0;
}

best 如何使用这些功能,请查看此常见问题解答:

http://www.parashift.com/c++-faq-lite/input-output.html

修改

如果您尝试将命令行参数添加到您的程序中,那么您的会话将如下所示:

  

C:\用户\ MyUserName输入&GT; my_program 5
  你的电话号码是5

然后使用传递给main函数的参数。这是运行它时传递​​给程序的所有参数的数组:

#include <iostream>

int main(int argc, char* argv[])
{
    std::cout << "Your number is " << argv[1] << "\n";
}

传入的参数是字符串(文本)形式。如果你想将它们转换为数字,以便你可以进行算术或与它们进行比较,这是一种方法:

http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.2

#include <iostream>
#include <sstream>
#include <string>
#include <stdexcept>

class BadConversion : public std::runtime_error
{
public:
  BadConversion(std::string const& s)
    : std::runtime_error(s)
  { }
};

template<typename T>
T ConvertTo(std::string const& s)
{
  std::istringstream i(s);
  T x;
  if (!(i >> x))
    throw BadConversion("convertTo(\"" + s + "\")");
  return x;
}

int main(int argc, char* argv[])
{
  int first_parameter = ConvertTo<int>(argv[1]);
  std::cout << "Your number is " << first_parameter << "\n";
  return 0;
}

答案 3 :(得分:2)

我们如何逐步完成此事。

首先,我们想要询问用户输入,我们将如何进行此操作?

// TODO: Ask user for input.

一旦我们有了这个输入,我们将如何构建新的字符串?

// TODO: Make new string.

现在我们有了新的字符串,我们如何向用户显示它?

// TODO: Display the string.

这样就可以使用以下骨架填写:

#include <iostream>

int main() 
{
    // TODO: Ask user for input.
    // TODO: Make new string.
    // TODO: Display the string.
    return 0;
}

要完成此操作,您可以使用coutcinstring。 (当然你也可以直接在cout中进行字符串格式化)

答案 4 :(得分:0)

int num = 0;
printf("write_number ");
cin >> num;
cout << "Your number is " << num;

答案 5 :(得分:0)

int number = 5;
cout << "Your number" << number;

答案 6 :(得分:0)

如果您想要做一些更具互动性的事情,但仍希望在控制台中工作,请查看curses