当前位置: 代码迷 >> C语言 >> C语言初学者向大家请教!
  详细解决方案

C语言初学者向大家请教!

热度:127   发布时间:2007-04-12 08:51:01.0
C语言初学者向大家请教!

有这么一个程序:嵌套做的公司投保
想让它实现输入y,则显示该员工已投保。
而我下面做的这个程序,总是显示两个结果,请高手们多多指点与改正.

#include<stdio.h>
void main()
{
char gender,ms;
int age;

/*接收司机的详细信息*/
printf("\n\n \t 司机的详细信息\n\n");
printf("\n\t 司机的婚姻状况(Y/N): ");
scanf("\n%c",&ms);
fflush(stdin);
printf("\n\t 司机的性别(M/F): ");
scanf("\n%c",&gender);
printf("\n\t 司机的年龄: ");
scanf("%d",&age);


/*嵌套结构*/

if(!(ms=='Y')||(ms='y'))



{
if((gender=='M')||(gender=='m'))

if(age>30)

printf("\t 该员工已投保\n");


else
printf("\t 该员工没有投保\n");

}




{
if((gender=='F')||(gender=='f'))

if(age>25)


printf("\t 该员工已投保\n");

else
printf("\t 该员工没有投保\n");

}

else
printf("\n 该员工已投保");
}

搜索更多相关的解决方案: C语言  司机  printf  

----------------解决方案--------------------------------------------------------
你的嵌套 结构有问题
----------------解决方案--------------------------------------------------------
else
printf("\n 该员工已投保");
这个是多余的吧!因为你上面已经声明了!
----------------解决方案--------------------------------------------------------
回复:(rocketabc)你的嵌套 结构有问题
哦,那应该怎样改?
----------------解决方案--------------------------------------------------------
回复:(kxfeng1) else printf(
我加上这句是想让它,在输入y的时候,无论男女年龄多大,它都显示已投保,因为它是y,表明已婚.
----------------解决方案--------------------------------------------------------
希望懂的朋友帮我改一改啊,谢谢~
----------------解决方案--------------------------------------------------------

你说的是什么意思呀~~~


----------------解决方案--------------------------------------------------------

#include<stdio.h>
void main()
{
char gender,ms;
int age;

/*接收司机的详细信息*/
printf("\n\n \t 司机的详细信息\n\n");
printf("\n\t 司机的婚姻状况(Y/N): ");
scanf("\n%c",&ms);
fflush(stdin);
printf("\n\t 司机的性别(M/F): ");
scanf("\n%c",&gender);
printf("\n\t 司机的年龄: ");
scanf("%d",&age);


/*嵌套结构*/

if(!(ms=='Y')||(ms='y'))



{
if((gender=='M')||(gender=='m'))
{

if(age>30)
{

printf("\t 该员工已投保\n");
}


else
{
printf("\t 该员工没有投保\n");
}
}








else if((gender=='F')||(gender=='f'))
{

if(age>25)


printf("\t 该员工已投保\n");

else
printf("\t 该员工没有投保\n");

}
}

else
printf("\t 该员工已投保\n");
}


你看看 是不是你想要的结果呀~~~


----------------解决方案--------------------------------------------------------

#include<stdio.h>
void main()
{
char gender,ms;
int age;
/*接收司机的详细信息*/
printf("\n\n \t 司机的详细信息\n\n");
printf("\n\t 司机的婚姻状况(Y/N): ");
scanf("\n%c",&ms);
fflush(stdin);
printf("\n\t 司机的性别(M/F): ");
scanf("\n%c",&gender);
printf("\n\t 司机的年龄: ");
scanf("%d",&age);
/*嵌套结构*/
if(!(ms=='Y')||(ms='y'))
{
if((gender=='M')||(gender=='m'))
{
if(age>30)
printf("\t 该员工已投保\n");
else
printf("\t 该员工没有投保\n");
}
}
if((gender=='F')||(gender=='f'))
{
if(age>25)
printf("\t 该员工已投保\n");
else
printf("\t 该员工没有投保\n");
}
//else
//printf("\n 该员工已投保");
}


----------------解决方案--------------------------------------------------------
回复:(luyihuaa5201)#includevoid ...
还是不大对啊,要求在我输入Y或y的时候,表明此人已结婚,所以无论它是男是女,多大了显示都应该是"该员工已投保啊"~
----------------解决方案--------------------------------------------------------
  相关解决方案