2016-09-22 30 views
0

這是我的一個bmi計算器的代碼。 我想在結束時添加一個問題,詢問用戶是否想要計算另一個bmi或用戶想要停止。 我想用y或n的答案來解決這個問題。循環詢問用戶是否想再次播放(y/n)

  • Y =計算另一個BMI
  • N =再見

到目前爲止我的代碼:

#include<stdio.h>; 
void main() 
{ 
float w,h,bmi; 
printf("vul uw gewicht in in kilogram."); 
scanf("%f",&w); 
printf("vul uw hoogte in in meters. (bijvoorbeeld: 1.75)"); 
scanf("%f",&h); 
bmi=w/(h*h); 
printf("bmi: %f",bmi); 
bmi<18.5?printf(" je bent best wel dun eet een burger :p"):(bmi<25)?printf(" lekker gewicht, blijf zo doorgaan"):(bmi<30)?printf(" ik zou wat minder gaan eten als ik jou was"):printf("Oh Oh, u bent in gevaar"); 
} 
+1

使用'做while'循環幾乎圍繞着你所有的「主」。 – Riley

+0

請參閱[main()'應該在C和C++中返回什麼](http://stackoverflow.com/questions/204476/) –

+3

而且,可惜的是,不要濫用像這樣的'::'三元運算符 - 使用if(...)... else if(...)... else ...'。此外,'#include'行末尾的分號完全沒有必要 - 我有點驚訝它編譯了這個禮物。 –

回答

1

試試這個

#include<stdio.h>; 
void main() 
{ 
    char opt='y'; 
    while(1) 
    { 
    float w,h,bmi; 
    printf("vul uw gewicht in in kilogram.\n"); 
    scanf("%f",&w); 
    printf("vul uw hoogte in in meters. (bijvoorbeeld: 1.75)\n"); 
    scanf("%f",&h); 
    bmi=w/(h*h); 
    printf("bmi: %f",bmi); 
    bmi<18.5?printf(" je bent best wel dun eet een burger :p\n"):(bmi<25)?printf(" lekker gewicht, blijf zo doorgaan\n"):(bmi<30)?printf(" ik zou wat minder gaan eten als ik jou was\n"):printf("Oh Oh, u bent in gevaar\n"); 
     printf("calculate again : n for exit, y to continue?\n"); 
     scanf("%c&*c",&opt); 
     if(opt=='n') 
     { 
      printf("EXIT\n"); 
      break; 
     } 
    } 
} 
相關問題