我想知道当我调用我的函数void BMIcalculator()时如何跳回int main(),如果用户想一次又一次地计算他/她的BMI直到感到疲倦,那么正确的逻辑语句又是什么呢?按[2]返回我的主页。

void BMIcalculator(){
    system("cls");
    int choice;

    float kg=0,m=0,totalBMI=0;

    do{
        p("[1] calculate BMI    ");
        p("[2] back ");
        s("%d", &choice);

    if( choice == 1){
        gotoxy(1, 1); p("Enter weight :           kilograms");
        gotoxy(1, 2); p("Enter height :           meters");
        gotoxy(1, 3); p("Body Mass Index = ");
        gotoxy(20, 1); s("%f", &kg);
        gotoxy(20, 2); s("%f", &m);
        totalBMI=kg/(m*m);
        gotoxy(20, 3); p("%.2f",totalBMI);

        }else if( choice == 2){
            go back to main;
        }

    }while(choice == 1);
}

int main(){

    int choice;

    p("[1] BMI calculator");
    p("[2] Price calculator");
    p("[3] NATS");
    p("[4] Exit");
    s("%d", &choice);

    if(choice == 1){
        BMIcalculator();
    }
    .....
}

最佳答案

您可以更改while条件,但如果不希望,可以添加return语句:

else if(choice == 2){
    return;
}


如果要无限重复,则应添加一个循环:

while(1) {
    p("[1] BMI calculator");
    p("[2] Price calculator");
    p("[3] NATS");
    p("[4] Exit");
    s("%d", &choice);

    if(choice == 1){
        BMIcalculator();
    }
}

关于c - 功能回到主要,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34227575/

10-11 21:15