-3

私はC++を初めて使用し、プログラムを実行しているすべての人がリストに書き込めるようにプログラムを作成しようとしています。プログラムが完了すると、「exit」と入力するとリストが表示されます。私はこれを達成する方法に迷っています、誰か助けてもらえますか?

これが私が持っているものです:

#include <iostream>
#include <string>
#include <unistd.h>
#include <math.h>
#include <vector>

using namespace std;
int main()
{
    string uid;
    write(1,"\E[H\E[2J",7);
    cout << "Enter UID: ";
    cin >> uid;
    cout << "DB: \n\n" << uid << " \n\n""end\n\n";
    return 0;
}

「exit」と入力するまで、それぞれがリストに書き込みを続けることができるように、どうすればそれをループに入れることができますか?

4

2 に答える 2

3

stdにリストがあります- std::list。調べる。要素を挿入する関数があり、最後に繰り返して値を出力できます。

ループは同じくらい簡単です

do{
    //whatever you want to do in the loop
    //read input
    //insert into list
}while(/*condition*/); //condition should be something like
                       //the string is not "exit"

std::string他の文字列やオーバーロードされた演算子と比較するメソッドがあります。使用するものを見つけることはあなたにとって良い練習として役立つことができます。

実際のコードが与えられていないのは...まあ、それはそれほど役に立たないでしょう?

于 2013-01-20T20:18:35.057 に答える
0

この質問はあまり力を入れていないので、理解できないような複雑な回答をします...

std::vector<std::string> list;
for(std::string i; std::cin >> i && i != "exit"; list.push_back(i));
std::copy(list.begin(), list.end(), std::ostream_iterator<std::string>(std::cout, "\n"));

..しかし、おそらくそれを行うための最小の方法です(私が言ったので、誰かがより小さなものを作ると確信しています)

于 2013-01-20T20:28:57.763 に答える