-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;
}

我怎么能把它放在一个循环中,以便他们每个人都可以继续写入列表,直到他们输入“退出”?

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 回答