终于把这个循环弄出来了,发出来,让大家分享我的快乐。
事先声明:代码超过30行,而且技术含量不是很高-----因为它是新手作的。如果不喜欢看,尽可以不看。另外,我虽然把输入的循环搞懂了,但我觉得有些麻烦,另外书上说GOTO语句不建议用。所以,想请各位指点,能不能用别的方法代替我的这个很繁琐的代码呢?
请指教一二,谢谢。
经TC测试,可以运行。
#include<stdio.h>
int main()
{
char ys,dl,xb;
float fu,mu,wo,wo2;
printf("现在将为您测试一下未来身高,请相信它的科学性!\n ");
printf("******************************************************\n");
printf("请输入您的父亲身高:\n");
scanf("%f",&fu);
printf("请输入您的母亲身高:\n") ;
scanf("%f",&mu);
printf("请输入您的性别,男生M,女生按W :\n");
scanf("\n%c",&xb);
while(xb!='M'&&xb!='W')
{
printf("您输入的字符有误,请重新输入:");
scanf("\n%c",&xb);
}
if(xb=='M')
wo=(fu+mu)*0.54;
else
wo=(fu*0.923+mu)/2;
printf( "OK,请问您平时喜欢锻炼吗?确定请按Y,否定请按N:");
scanf("\n%c",&dl);
while(dl!='Y'&&dl!='N')
{
printf("您输入的字符有误 ,请重新输入:");
scanf("\n%c",&dl);
}
if(dl=='Y')
{
printf("再请问您平时饮食规律吗?确定请按Y,否定请按N:");
scanf("\n%c",&ys);
while(ys!='Y'&&ys!='N')
{
printf("您输入的字符有误,请重新输入:");
scanf("\n%c",&ys);
}
if(ys=='Y')
wo2=wo+wo*0.02+wo*0.015;
else
wo2=wo+wo*0.02;
}
else
{
printf("再请问您平时饮食规律吗?确定请按Y,否定请按N:");
scanf("\n%c",&ys);
while(ys!='Y'&&ys!='N')
{
printf("您输入的字符有误,请重新输入:");
scanf("\n%c",&ys);
}
if(ys=='Y')
wo2=wo+wo*0.015;
else
wo2=wo;
}
printf("您的未来身高是%f厘米!\n",wo2);
printf("*******************************************************\n");
getch();
}