C++ C++;-循环主要重置对象
我有一个问题,我正在创建一个基本的文本用户界面。为了保持文本界面循环,我调用main(),直到用户选择按0退出 然而,这会重新创建我的LinkedList列表,我想将其作为永久性的保存。我知道把它作为一个全局变量是一种不好的做法,所以我怎样才能避开这个问题呢C++ C++;-循环主要重置对象,c++,object,main,C++,Object,Main,我有一个问题,我正在创建一个基本的文本用户界面。为了保持文本界面循环,我调用main(),直到用户选择按0退出 然而,这会重新创建我的LinkedList列表,我想将其作为永久性的保存。我知道把它作为一个全局变量是一种不好的做法,所以我怎样才能避开这个问题呢 int main() { int choice, newLatitude, newLongitude; string newName; LinkedList list; cout << "[
int main() {
int choice, newLatitude, newLongitude;
string newName;
LinkedList list;
cout << "[1] Add a city \n";
cout << "[2] Display list of cities \n";
cout << "[0] Exit program \n";
cin >> choice;
if (choice == 0) {
return 0;
}
else if (choice == 1) {
cout << "Enter city name: ";
cin >> newName;
cout << "Enter latitude: ";
cin >> newLatitude;
cout << "Enter longitude: ";
cin >> newLongitude;
City newCity(newName, newLatitude, newLongitude);
list.addNode(newCity);
}
else if (choice == 2) {
list.display();
}
else {
cout << "Invalid option, please try again \n";
}
main();
return 0;
}
intmain(){
int选项,新纬度,新经度;
字符串newName;
链接列表;
cout-newName;
cout>新纬度;
cout>新经度;
城市newCity(新名称、新纬度、新经度);
list.addNode(新城);
}
else if(选项==2){
list.display();
}
否则{
cout使用递归来完成这项任务可能不是一个好主意。如果希望它重复,最好使用while循环
只要语句(true)为true,While(true)就会循环。也就是永远。您也可以执行类似于While(choice!=0)
的操作,尽管这需要对代码稍加修改
int main() {
int choice, newLatitude, newLongitude;
string newName;
LinkedList list;
while(true)
{
cout << "[1] Add a city \n";
cout << "[2] Display list of cities \n";
cout << "[0] Exit program \n";
cin >> choice;
if (choice == 0) {
return 0;
}
else if (choice == 1) {
cout << "Enter city name: ";
cin >> newName;
cout << "Enter latitude: ";
cin >> newLatitude;
cout << "Enter longitude: ";
cin >> newLongitude;
City newCity(newName, newLatitude, newLongitude);
list.addNode(newCity);
}
else if (choice == 2) {
list.display();
}
else {
cout << "Invalid option, please try again \n";
}
}
return 0;
}
intmain(){
int选项,新纬度,新经度;
字符串newName;
链接列表;
while(true)
{
cout-newName;
cout>新纬度;
cout>新经度;
城市newCity(新名称、新纬度、新经度);
list.addNode(新城);
}
else if(选项==2){
list.display();
}
否则{
您不应该从main()调用main()。如果您有要重新运行的代码,您应该将其放入main内的一个循环中,或者使其成为一个单独的函数,您可以一直调用它,直到调用代码对结果满意为止。永远不要调用main()。您不知道循环吗?