C++ 如何防止程序输出终止并再次启动程序而不丢失数据?

C++ 如何防止程序输出终止并再次启动程序而不丢失数据?,c++,switch-statement,console-application,C++,Switch Statement,Console Application,好吧,我可能没有很好地解释这个问题,但基本上我写了一个基于菜单的程序,带有switch语句,我希望在选择某个选项并执行其中的所有功能后,整个程序重新启动。 下面是一段代码,给出一个示例: #include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int main() { string name; int num,age,cls;

好吧,我可能没有很好地解释这个问题,但基本上我写了一个基于菜单的程序,带有switch语句,我希望在选择某个选项并执行其中的所有功能后,整个程序重新启动。 下面是一段代码,给出一个示例:

#include <stdio.h>
#include <stdlib.h>
#include <iostream>

using namespace std;



int main() {
    string name;
    int num,age,cls;
    cout <<"Enter your name: ";
    cin>>name;
    cout <<"Enter your number: ";
    cin>>num;
    cout<<"Enter your age: ";
    cin>>age;
    cout <<"Enter your class: ";
    cin>>cls;
    int choice;
    cout<<"\tPlease choose an option: "<<endl;
    cout <<"1. Display my name\n2. Display my number\n3. Display my age\n4. 
Display my class"<<endl;
    cin>>choice;
    switch (choice){
        case 1:
            cout<<"Your name is :"<<name;
            break;
        case 2:
            cout <<"Your number is: "<<num;
            break;
        case 3:
            cout <<"Your age is: "<<age;
            break;
        case 4:
            cout <<"Your class is: "<<cls;
            break;
        default:
            cout <<"Invalid option!";
            break;
    }
   return 0;
}
<pre>*you can use a while loop with a counter variable for simplicity*
/int main() {
    string name;
    int num,age,cls;
    cout <<"Enter your name: ";
    cin>>name;
    cout <<"Enter your number: ";
    cin>>num;
    cout<<"Enter your age: ";
    cin>>age;
    cout <<"Enter your class: ";
    cin>>cls;
    int choice,k=1;
while(k>0)
{
    cout<<"\tPlease choose an option: "<<endl;
    cout <<"1. Display my name\n2. Display my number\n3. Display my age\n4. 
Display my class"<<endl;
    cin>>choice;
    switch (choice){
        case 1:
            cout<<"Your name is :"<<name;
            break;
        case 2:
            cout <<"Your number is: "<<num;
            break;
        case 3:
            cout <<"Your age is: "<<age;
            break;
        case 4:
            cout <<"Your class is: "<<cls;
            break;
        default:
            cout <<"Invalid option!";
            break;
    }
cout<<("do you want to renter the details and run again:\n");
cout<<("enter 1 for yes and o for no");
cin>>k;
}
   return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
字符串名;
整数、年龄、cls;
姓名;
库特数;
运力;
cout-cls;
智力选择;

cout您只需添加一个while循环并支持一个菜单选项即可退出循环

int main() {
    string name;
    int num,age,cls;
    cout <<"Enter your name: ";
    cin>>name;
    cout <<"Enter your number: ";
    cin>>num;
    cout<<"Enter your age: ";
    cin>>age;
    cout <<"Enter your class: ";
    cin>>cls;

    int choice;

    bool exitRequested = false;
    while ( !exitRequested )
    {
        cout<<"\tPlease choose an option: "<<endl;
        cout <<"1. Display my name\n2. Display my number\n3. Display my age\n4. Display my class\n5. Exit program"<<endl;

        cin>>choice;
        switch (choice){
            case 1:
                cout<<"Your name is :"<<name;
                break;
            case 2:
                cout <<"Your number is: "<<num;
                break;
            case 3:
                cout <<"Your age is: "<<age;
                break;
            case 4:
                cout <<"Your class is: "<<cls;
                break;
            case 5:
                exitRequested = true;
                break;
            default:
                cout <<"Invalid option!";
                break;
        }
    }
    return 0;
}
intmain(){
字符串名;
整数、年龄、cls;
姓名;
库特数;
运力;
cout-cls;
智力选择;
bool exitRequested=false;
当(!退出请求)
{
cout
*为了简单起见,可以使用带有计数器变量的while循环*
/int main(){
字符串名;
整数、年龄、cls;
姓名;
库特数;
运力;
cout-cls;
整数选择,k=1;
而(k>0)
{

库特。你会使用循环?是时候学习循环了。我听说有一个函数可以做到这一点。我真的不知道,这就是我要问的。可能是getch();或者其他什么。“有一个函数可以做到这一点”-不,没有。任何函数如何知道返回到哪里和重复什么?你必须自己编写代码,因为程序不应该重新启动(通常)。还有,为什么你宁愿重新启动整个程序而不添加一个简单的循环?