标题:从输入的第一个字母或第二个来识别星期几
只看楼主
小武哥253
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2013-7-27
 问题点数:0 回复次数:3 
从输入的第一个字母或第二个来识别星期几
#include "stdafx.h"
#include "stdio.h"
int main(int argc, char* argv[])
{ //Sunday\Monday\Tuesday\Wednesday\Thursday\Friday\Saturday
char c;
printf("please enter the first number:\n");
while((c=getchar())!='\n')
{
switch(c)
{case 'S':
printf("please enter the second number:\n");
if((c=getchar())=='a')
printf("Saturday.\n");
else if((c=getchar())=='u')
printf("Sunday.\n");
else
printf("error data.\n");break;
case 'M':
printf("Monday.\n");break;
case 'T':
printf("please enter the second number:\n");
if((c=getchar())=='u')
printf("Tuesday.\n");
else if((c=getchar())=='h')
printf("Thursday.\n");
else
printf("error data.\n");break;
case 'W':printf("Wednesday.\n");break;
case 'F':printf("Friday.\n");break;
default:printf("error input.\n");
}
}
return 0;
}
这个程序在进行Saturday和Tuesday选择会出错
搜索更多相关主题的帖子: include please number second 
2013-08-07 06:45
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
0分贴

排版惨不忍睹

DO IT YOURSELF !
2013-08-07 08:02
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
怎么个错法?是没清空缓存?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-07 08:13
XiaoXiao_Ren
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
威 望:1
帖 子:80
专家分:198
注 册:2013-7-17
得分:0 
回复 楼主 小武哥253
printf("please enter the first number:\n");
while((c=getchar())!='\n')  //因为这里输入字符时,比如输入字符'S',会同时将字符‘S’和‘\n’输入缓存,
                            //下次调用getchar()时,直接赋值为该缓存中的第一个字符
{
switch(c) //这里的c为‘S’
{case 'S':
printf("please enter the second number:\n");
if((c=getchar())=='a') //这里的c为‘\n’,另外输入的字符会在下次赋值时得到,例如输入'u'。
printf("Saturday.\n");
else if((c=getchar())=='u') //这里的c为‘u’,所以这种输入形式又正确了。
printf("Sunday.\n");
else
printf("error data.\n");break;


========================修改之后的代码为============================
#include "stdafx.h"
#include "stdio.h"

int main(int argc, char* argv[])
{ //Sunday\Monday\Tuesday\Wednesday\Thursday\Friday\Saturday
char c;
printf("please enter the first number:\n");
c=getchar(); //接收输入的字符
getchar();  //接受‘/n’
switch(c)
{case 'S':
printf("please enter the second number:\n");
c=getchar();  //接收输入的字符
getchar();   //接受‘/n’
if(c=='a')
printf("Saturday.\n");
else if(c=='u')
printf("Sunday.\n");
else
printf("error data.\n");break;
case 'M':
printf("Monday.\n");break;
case 'T':
printf("please enter the second number:\n");
c=getchar();
getchar();
if(c=='u')
printf("Tuesday.\n");
else if(c=='h')
printf("Thursday.\n");
else
printf("error data.\n");break;
case 'W':printf("Wednesday.\n");break;
case 'F':printf("Friday.\n");break;
default:printf("error input.\n");
}

return 0;
}

[ 本帖最后由 XiaoXiao_Ren 于 2013-8-8 00:30 编辑 ]
收到的鲜花
  • 小武哥2532013-08-08 17:35 送鲜花  3朵   附言:我很赞同

否极泰来
2013-08-08 00:27



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




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

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