鱼C论坛

 找回密码
 立即注册
查看: 952|回复: 5

[已解决]求助

[复制链接]
发表于 2021-1-15 21:45:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
两个问题
1.怎样修改才能使密码错误时,显示显示出”请输入密码“,密码正确时按任意键继续
2.如何让密码数字长度任意、含大小写英文




#include<stdio.h>
int main()
{       
        int key;
        scanf("%d%d%d",&key);
        do printf("请输入密码:");
        while(key==123);
        return 0;
}
最佳答案
2021-1-16 11:18:36
本帖最后由 烂泥化刚 于 2021-1-16 12:34 编辑

在if语句上面一行加
getcgar();即可
#include <stdio.h>
#include <string.h>

int main()
{
        char key[7];
        char rkey[7] = "123abc";//这里举例用123abc来做正确密码于是字符串就有6+1=7个字符 

        for(;;)
        {
                printf("请输入密码:\n");
                for(int i = 0; i < 6; i++)//这里采集用户输入的6位密码 并在后面丢弃一个”\n“ 
                {key[i] = getchar();}
                getchar();
                if(strcmp(key, rkey))
                        {printf("密码错误\n");}
                else
                        {printf("密码正确\n");
                        break;} 
        }

        return 0;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-15 21:49:45 | 显示全部楼层
#include<stdio.h>
int main()
{
        int key;
        do{
                printf("请输入密码:");
                scanf("%d", &key);
          }while (key != 123);
        return 0;
}

测试结果:
请输入密码:122
请输入密码:124
请输入密码:125
请输入密码:123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-15 21:54:19 | 显示全部楼层
#include <stdio.h>
#include <string.h>

int main()
{       
        char p[64]                                         ;
        for(;;) {
                printf("请输入密码:")                     ;
                gets(p)                                    ;
                printf("\n")                               ;
                if(! strcmp(p , "123")) {
                        printf("按下任意键. . .")          ;
                        getchar()                          ;
                        break                              ;
                } else {
                        printf("密码错误,请重新输入!\n") ;
                        printf("\n")                       ;
                }
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 1

使用道具 举报

发表于 2021-1-16 01:04:17 | 显示全部楼层
楼主的这个问题很有意思,如果想在“key”下存储输入的密码同时问题2中还想让key中储存字母
key这是就不能只是“int”类型了,应该是字符串类型
然后合理的想到用字符串处理函数并导入该函数库<string.h>
https://fishc.com.cn/thread-70567-1-1.html于是1、2问题就都能解决了
修改之后代码如下
#include <stdio.h>
#include <string.h>

int main()
{
        char key[7];
        char rkey[7] = "123abc";//这里举例用123abc来做正确密码,字符串于是就有6+1=7个字符

        for(;;)
        {
                printf("请输入密码\n");
                for(int i = 0; i < 6; i++)//这里采集用户输入的6位数密码
                {key = getchar();}
        
                if(strcmp(key, rkey))
                        {printf("密码错误\n");}
                else
                        {printf("密码正确\n");
                        break;}
        }

        return 0;
}


话说大佬们都是怎么把代码引入对话框的鸭

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-16 09:56:48 | 显示全部楼层
烂泥化刚 发表于 2021-1-16 01:04
楼主的这个问题很有意思,如果想在“key”下存储输入的密码同时问题2中还想让key中储存字母
key这是就不能 ...

大神,您的代码好像有点小问题
代码引入对话框,好像是,回复栏最上面的一行,表情左边的图标<>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-16 11:18:36 | 显示全部楼层    本楼为最佳答案   
本帖最后由 烂泥化刚 于 2021-1-16 12:34 编辑

在if语句上面一行加
getcgar();即可
#include <stdio.h>
#include <string.h>

int main()
{
        char key[7];
        char rkey[7] = "123abc";//这里举例用123abc来做正确密码于是字符串就有6+1=7个字符 

        for(;;)
        {
                printf("请输入密码:\n");
                for(int i = 0; i < 6; i++)//这里采集用户输入的6位密码 并在后面丢弃一个”\n“ 
                {key[i] = getchar();}
                getchar();
                if(strcmp(key, rkey))
                        {printf("密码错误\n");}
                else
                        {printf("密码正确\n");
                        break;} 
        }

        return 0;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 03:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表