标题:[求助]各位大哥来帮忙看看我这哪写错了。
只看楼主
爱C小小鸟
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-11-2
 问题点数:0 回复次数:13 
[求助]各位大哥来帮忙看看我这哪写错了。
main()
{
int Password,i=0;
printf("=======This is a Number Guess Game!!=====\n\n");
printf("Please input your password!\n");
scanf("%d",&Password);
while(Password!=1986)
{
i++;
if(i==3)
{
printf("Sorry,you are three times wrong!");
return;
}
printf("Please input the corret password!!\n");
scanf("%d",&Password);
}
clrscr();
{
char c;
printf("Pass.Do you want to start?\n\n\nStart press Y else N.\n\n");
c=getchar();
if(c='Y'||'y')
printf("Game start!");
else
if(c='N'||'n')
printf("Press any key to quit....");
else
if(c!='Y'||'N'||'y'||'n')
printf("Please press Y or N!!");
return;
}
}
第2段程序想由键盘输入 Y或者N来输出提示的,但执行出来却是直接出现GAME START了

[此贴子已经被作者于2005-11-3 21:24:05编辑过]

搜索更多相关主题的帖子: password return wrong Guess 
2005-11-03 21:22
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
得分:0 

是你在输入1986之后按了一下回车,c=getchar();把那个回车给吃了。
解决方案:
main()
{
int Password,i=0;
printf("=======This is a Number Guess Game!!=====\n\n");
printf("Please input your password!\n");
scanf("%d",&Password);
while(Password!=1986)
{
i++;
if(i==3)
{
printf("Sorry,you are three times wrong!");
return;
}
printf("Please input the corret password!!\n");
scanf("%d",&Password);
getchar();
}
clrscr();
{
char c;
printf("Pass.Do you want to start?\n\n\nStart press Y else N.\n\n");
c=getchar();
if(c='Y'||'y')
printf("Game start!");
else
if(c='N'||'n')
printf("Press any key to quit....");
else
if(c!='Y'||'N'||'y'||'n')
printf("Please press Y or N!!");
return;
}
}

[此贴子已经被作者于2005-11-3 21:55:43编辑过]


恶魔只是将人类引入堕落的深渊 天使吹响了末日审判的号角 ——恶魔的追随者
2005-11-03 21:54
爱C小小鸟
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-11-2
得分:0 
???
解决方案???
没改啊
2005-11-03 22:01
爱C小小鸟
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-11-2
得分:0 
哦,看见了。谢谢
2005-11-03 22:01
爱C小小鸟
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-11-2
得分:0 

写错了吧,

getchar();该在WHILE循环后吧

2005-11-03 22:05
爱C小小鸟
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-11-2
得分:0 
不过,能讲详细点不,吃了什么意思?
2005-11-03 22:07
爱C小小鸟
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-11-2
得分:0 
getchar();
有什么用啊?
2005-11-03 22:13
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
得分:0 
对,是在循环外面
就是说getchar();是接受一个键盘输入,返回按键asicII码。
没加入的时候,c=getchar();接受到的是enter的值,而不是你想输入的'y'

恶魔只是将人类引入堕落的深渊 天使吹响了末日审判的号角 ——恶魔的追随者
2005-11-04 13:17
琥珀之风
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-11-3
得分:0 

因该在循环外面

[此贴子已经被作者于2005-11-4 13:32:24编辑过]


恶魔只是将人类引入堕落的深渊 天使吹响了末日审判的号角 ——恶魔的追随者
2005-11-04 13:19
chenyue52099
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-5
得分:0 
不,,在盾环内才对
不然就没起到效果了
2005-11-05 17:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-32505-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.149978 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved