我是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”?
答案 0 :(得分: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
具有与其他字符串和重载运算符进行比较的方法。找到要使用的可以为你提供一个很好的练习。
实际代码没有给出,因为......好吧,那对你没有多大帮助,不是吗?
答案 1 :(得分: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"));
..但可能是最小的方式(我确信有人会做一个小的,因为我说的)