首页 > 用户发贴区 > 编程问题提问区 > 搞了两天还是没搞成功
2007
06-11

搞了两天还是没搞成功

输入一个字母然将所输入的字母在次输出,如果输入的不是字母则提示错误并从新输入!
错在那里请大家帮帮我,我想死


[B][B]#include ”stdio.h”
main()
 {
    char a;
    int i;
    int j;
    clrscr();
    printf(“\n\n\n\n\n\n                                      please input !\n”);
  for(i=0;i<5;i++)
    {
      getchar(a);
      j=1;
      while(j)
      {
 if((a<’a')||(a>’z'))
  {
   printf(“error please input again!\n”);
   getchar(a);
   j=1;
  }
      else
 {
  printf(“%c”,a);
  j=0;
  }
      }
   }
}
[/B][/B]


搞了两天还是没搞成功》有 4 条评论

  1. o0nan0o 说:

    用数组不行吗?

  2. appleadionzm 说:

    1.我觉得应该用bioskey函数而不是getchar

    2. if((a<’a')||(a>’z'))
    有问题,应该是if((a<’A')||(a>’z'))

    3.楼主的循环有点复杂,虽然好像没什么问题

  3. 5iluo 说:

    你按回车,也算一个字符,,,所以你的会出错!!!

  4. 5iluo 说:

    #include<stdio.h>
    #include <conio.h>
    void main()
     {
        char a;
        int i;
        int j ;
        void clrscr();
        printf(“\n\n\n\n\n\n please input !\n”);
      for(i=0;i<5;i++)
      {
          a = getchar();
          fflush(stdin);
           j=1;
          while(j)
       {
           if((a<’a')||(a>’z'))
        {
             printf(“\n error please input again!\n”);
             a = getchar();
       fflush(stdin);
             j=1;
        }
            else
      {
              printf(“%c \n”,a);
              j=0;
      }
       }
      }
    }

留下一个回复