我想知道当我调用我的函数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();
}
.....
}
答案 0 :(得分:1)
您可以更改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();
}
}
答案 1 :(得分:0)
您应该使用DO-WHILE,在while条件下控制输入,然后重新启动“while”。
例如:
do
{
//your function;
scanf(" %d",&choice);
}
while(choice==1);