C语言:模拟html页面的用户登陆

不多说,直接运行一下,就知道效果了。

# include <stdio.h>//int char 输入容易出问题 下面的代码可以解决这个问题
# include <conio.h>
# define N 10  //如果要录入X个字节则 N=X
int user_password(char *A,int min,int max,int F);//直到用户输入的字符串长度在[min,max]之间时 函数结束 返回字符串A的长度
int main()
{
    char A[N+1],B[2*N+1];
    printf("用户名:");
    user_password(A,2,N,0);
    printf("密  码:");
    user_password(B,6,2*N,1);
    printf("用户名:");
    puts(A);
    printf("密  码:");
    puts(B);
    return 0;
}
int user_password(char *A,int min,int max,int F)//F=0录入密码 否则 录入 用户名
{
    int B,C,D;
    char S[][7]={"用户名","密码"};
    do
    {
        B=max+printf("[");for(C=1; C<B; C++)printf(" ");printf("]");
        while(B--)printf("\b");
        B=0;
        while((C=getch())!='\r')
        if(C>='0'&&C<='9'||C>='a'&&C<='z'||C>='A'&&C<='Z'||C=='_'||C==8)
            {
            if(C!=8&&B<max)
            {
                if(F)printf("*");//密码
                else printf("%c",C);//用户名
                A[B++]=C;
            }
            else if(C==8&&B>0)
            {
                printf("\b \b");
                B--;
            }
            else if(B>=max)
            {
                D=printf("]%s长度:[%d,%d]!",S[F],min,max);
                for(C=0; C<60000000; C++);
                while(D-->1)printf("\b \b");
                printf("\b");
            }
        }
        A[B]=0;
        if(B<min)
        {
            for(C=B; C<max; C++)printf(" ");
            D=max+printf("]%s长度:[%d,%d]!",S[F],min,max);
            for(C=0; C<60000000; C++);
            while(D--)printf("\b \b");
            printf("\b");
        }
    }while(B<min);
    printf("\n");
    return B;
}

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值