CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

两个很简单的问题帮忙看看谢谢

楼主chysxmy(chysxmy)2006-03-04 15:33:11 在 C/C++ / C语言 提问

第一个问题:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续输入第二个字母判断第二个字母。  
  以下是我写的程序。在第一个字母没有重复只用第一个字母就可以判断的时候是正确的。可是如果第一个字母判断不出来需要输入第二个字母的时候我的程序就不正确了请帮忙看看是什么问题。谢谢  
  #include   <stdio.h>  
  main()  
  {  
          char   c;  
          c   =   getchar();  
          if(c=='m')   printf("today   is   Monday\n");  
          if(c=='w')   printf("today   is   Wednsday\n");  
          if(c=='f')   printf("today   is   Friday\n");  
          if(c=='s')                                                                         //这里就出问题了。S和T都判断不出来  
          {  
                  c   =   getchar();  
                  if(c=='u')   printf("today   is   Sunday\n");  
                  if(c=='a')   printf("today   is   Saturday\n");  
          }  
          if(c=='t')  
          {  
                  c   =   getchar();  
                  if(c=='u')   printf("today   is   Tuesday\n");  
                  if(c=='h')   printf("today   is   Thursday\n");  
          }  
  }  
   
  第二个问题:  
  #include   <stdio.h>  
  #include   <cnnio.h>  
  main()  
  {  
  int   color;  
  for(color=0;   color<8;   color++)  
  {  
  textbackground(color);  
  cprintf("this   is   the   color   %d\r\n",color);  
  cprintf("please   press   any   key   to   continue\n");  
  getchar();  
  }  
  }  
  这段代码在编译的时候提示我无法打开cnnio.h文件请问应该怎么办?是不是TC2.0那里没有设置好啊?  
  问题点数:50、回复次数:4Top

1 楼tsrs(调试人生)回复于 2006-03-04 15:47:44 得分 20

第二个:  
  #include   <conio.h>Top

2 楼duduhaha(三人行必有我师)回复于 2006-03-04 15:51:15 得分 30

#include   <stdio.h>  
  int   main(void)  
  {  
          char   c;  
          c   =   getchar();  
          if(c=='m')   printf("today   is   Monday\n");  
          if(c=='w')   printf("today   is   Wednsday\n");  
          if(c=='f')   printf("today   is   Friday\n");  
          if(c=='s')                                                                         //这里就出问题了。S和T都判断不出来  
          {  
                  fflush(stdin);    
                  c   =   getchar();  
                  if(c=='u')   printf("today   is   Sunday\n");  
                  if(c=='a')   printf("today   is   Saturday\n");  
          }  
          if(c=='t')  
          {  
                  fflush(stdin);  
                  c   =   getchar();  
                  if(c=='u')   printf("today   is   Tuesday\n");  
                  if(c=='h')   printf("today   is   Thursday\n");  
          }  
  return   0;  
  }  
  fflush(stdin);的作用是清除掉输入字符后的回车.  
  给你看一段网上找的.  
   
  下面介绍一下标准流:  
      在程序启动时,会预先定义三个文本流(建立三个文件指针并指定值,但它们不需要显式地打开):     标准输入流(指针名为stdin)、标准输出流(stdout)和标准错误流(stderr)。stdin   通常与操作系统的标准输入连接,stdout   与操作系统的标准输出连接,stderr   通常直接与显示器连接,这说明stderr   不能重新定向(用于输出诊断信息)。在打开时,标准错误流不会完全缓冲;当且仅当流与交互的设备无联系时,标准输入和标准输出流才被完全缓冲(一种常见的方式,与输入设备联系时,比如需要键盘输入数据时,不等输出缓冲区写满就会刷新并显示在屏幕上,此时就不是完全缓冲)。  
          要把外存文件作为输入输出对象,一个可能方式是通过标准输入输出的重新定向,把标准流转接到指定文件。这样做能解决一些问题。但这种做法有很大局限性,因为这样形成的定向在程序执行期间不能改变。为能在程序中方便地根据需要使用各种文件,就必须利用标准库的文件操作函数(如fopen),通过为有关文件建立特定输入输出流的方式使用它们。  
   
        下面我们只研究stdin:  
        1   我们敲击键盘得到的是扫描码(扫描码有两个字节,低位字节是ASCⅡ码,高位字节是键位码),而不是ASCⅡ码。按键的扫描码会进入键盘的缓冲区。若程序有标准输入函数,接着键入   Enter后,连带着回车符一块把按键数据(扫描码转换ASCⅡ码形成文本流)送到输入缓冲区(stdin),标准输入函数接收数据后,会把未处理的数据留在输入缓冲区(stdin),这样的后果是随后的输入函数继续读入输入缓冲区中残留的数据。  
          如果残留在入缓冲区(stdin)中的数据内容无用,如上面例子的回车符   就需要要处理掉。可用   getchar()循环处理,或直接用fflush(stdin)清空缓冲区。  
   
   
  二.  
  turbo下应该为#include   <conio.h>  
  而不是#include   <cnnio.h>  
  你打错一个字母吧?include文件夹下可没有那个文件,呵呵.  
   
  Top

3 楼tsrs(调试人生)回复于 2006-03-04 15:53:46 得分 0

第一题:  
  你是输入s或者t以后按回车确定输入的吧?  
  这样的话进入if里边的getch()读取的就是回车,因此不会有显示。Top

4 楼chysxmy(chysxmy)回复于 2006-03-04 17:06:02 得分 0

谢谢问题解决了。又打错字母了。已经N次出先这种错误了。郁闷Top

相关问题

  • sdk问题两个。 简单的很
  • 两个很简单的问题
  • 问两个很简单的问题
  • 两个很简单的 MFC 问题。
  • 两个很简单的小问题
  • 两个小的问题 简单 很急
  • 一个很简单简单的问题..........
  • 一个很简单SQL
  • 一个很简单问题
  • 两个简单问题

关键词

  • 字母
  • 函数
  • 文件
  • 数据
  • 键盘
  • 连接
  • 输入
  • 缓冲区
  • stdin
  • 输出

得分解答快速导航

  • 帖主:chysxmy
  • tsrs
  • duduhaha

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo