【问题标题】:How do I take in "standard input commands" and then know when to continue running the program?我如何接受“标准输入命令”,然后知道何时继续运行程序?
【发布时间】:2016-07-17 20:43:52
【问题描述】:

我正在使用 C++ 编写一个旅行销售人员程序。我对 C++ 非常陌生,它与 Java 有很大的不同,以至于简单的事情真的让人困惑。

我如何使用标准输入来接受来自文件的命令(显然我没有打开文件,我的教授只是用它来输入命令或其他东西),然后使用这些命令相应地运行我的程序?

一个例子是

城市a b市 城市c d市 一个 c 1300 d 1400 a b 900 直流 1500

因此,基本上未知数量的信息将被传递到我的程序中,然后我的程序需要声明特定数量的城市,然后按规定附加每个城市之间的旅行费用。我想我可以做后一部分,但我的问题是知道如何获取未知数量的输入,然后将这些输入附加到变量。

我想在 Java 中我会做这样的事情:

While(nextLine = true){

if (nextLine.contains ("city"){
String nextLine = nextLine;

...and so on
}

}

【问题讨论】:

  • 使用std::getline() 读取输入,一次一行,直到std::cin 报告eof()。解析和收集信息。相应地声明和调整std::vectors 的大小。买一本学习 C++ 的书,它会更详细地解释这一点。
  • 这是否需要使用 STL?我忘了我不允许使用任何库。
  • 根本没有库?你不能。
  • iimibis 是对的。核心 C++ 语言非常简单。它包含诸如加法、乘法和指针之类的东西。您可能不允许使用标准库之外的任何库吗?因为后者是C++不可分割的一部分
  • 没有,我的教授在我的课上说过根本不能使用 STL。

标签: c++ traveling-salesman


【解决方案1】:

首先通过 ifstream 等待文件名,然后您可以通过 char 或 line 获取输入,其中使用 char 指针并用文本大小确定它我相信这样的事情

std::ifstream::pos_type 文件大小(const char* 文件名) {

现在你已经缓冲了,继续学习你从 java 中学到的东西并将其结合起来。此外,就像山姆的建议,你应该阅读

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多