首页 > 用户发贴区 > 编程问题提问区 > 有哪个好心人帮帮我呀,
2006
09-08

有哪个好心人帮帮我呀,

问题是用C语言编写自动取款机的系统。


要求:1。显示“请输入你的密码”2。从键盘输入密码6位,但是不显示,显示成*号3。如果密码不正确,给提示“请重新输入你的密码”,密码不正确又分三种,位数不对,还有数字,字母不对。3。密码正确的话,显示“你好,你可以享受其它服务”4。允许的最大次数是三次。5,之间要清屏。


有谁帮我呀,我在这里谢谢大家了!


有哪个好心人帮帮我呀,》有 2 条评论

  1. xstar 说:

    #include <string.h>
    #include <conio.h>
    #include <stdlib.h>

    #ifdef UNIX
    #undef UNIX
    #endif

    #ifndef UNIX
    #define CLRSCR() system( “cls” )
    #else
    #define CLRSCR() system( “clean” )
    #endif

    #define MAXNUM 256
    #define TRYCNT 3

    #define PASSWORDLEN 6
    #define PASSWORD    “123456″

    int main(int argc, char* argv[])
    {
     int  nFlag1   = 0;
     int  nFlag2   = 0;
     char szInput[ MAXNUM ];
     int  iCharCnt = 0;

     int  iTryCnt  = 0;

     for ( iTryCnt = 0; iTryCnt < TRYCNT; iTryCnt++ ) {
      memset( (void *)&szInput, ‘\0′, MAXNUM );
      iCharCnt = 0;

      CLRSCR();

      if ( 0 == iTryCnt ) {
       printf( “请输入你的密码: ” );
      } else {
       printf( “请重新输入你的密码: ” );
      }
      while( ‘\r’ != (szInput[ iCharCnt++ ] = getch()) ) {
       if ( MAXNUM < iCharCnt ) {
        nFlag1 = 1;
        break;
       }
       printf( “*” );
      }

      if ( 0 == nFlag1 ) {
       szInput[ iCharCnt - 1 ] = ‘\0′;
       if ( 0 == strcmp( PASSWORD, (const char *)&szInput ) ) {
        nFlag2 = 1;
        break;
       }
      }
     }
     CLRSCR();

     if ( 1 == nFlag2 ) {
      printf( “你好,你可以享受其它服务\r\n” );
     } else {
      printf( “密码不正确\r\n” );
     }

     return 0;
    }

留下一个回复