求助
两个问题1.怎样修改才能使密码错误时,显示显示出”请输入密码“,密码正确时按任意键继续
2.如何让密码数字长度任意、含大小写英文
#include<stdio.h>
int main()
{
int key;
scanf("%d%d%d",&key);
do printf("请输入密码:");
while(key==123);
return 0;
} #include<stdio.h>
int main()
{
int key;
do{
printf("请输入密码:");
scanf("%d", &key);
}while (key != 123);
return 0;
}
测试结果:
请输入密码:122
请输入密码:124
请输入密码:125
请输入密码:123 #include <stdio.h>
#include <string.h>
int main()
{
char p ;
for(;;) {
printf("请输入密码:") ;
gets(p) ;
printf("\n") ;
if(! strcmp(p , "123")) {
printf("按下任意键. . .") ;
getchar() ;
break ;
} else {
printf("密码错误,请重新输入!\n") ;
printf("\n") ;
}
}
} 楼主的这个问题很有意思,如果想在“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;
char rkey = "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;
}
话说大佬们都是怎么把代码引入对话框的鸭{:10_245:}
烂泥化刚 发表于 2021-1-16 01:04
楼主的这个问题很有意思,如果想在“key”下存储输入的密码同时问题2中还想让key中储存字母
key这是就不能 ...
大神,您的代码好像有点小问题
代码引入对话框,好像是,回复栏最上面的一行,表情左边的图标<> 本帖最后由 烂泥化刚 于 2021-1-16 12:34 编辑
在if语句上面一行加
getcgar();即可
#include <stdio.h>
#include <string.h>
int main()
{
char key;
char rkey = "123abc";//这里举例用123abc来做正确密码于是字符串就有6+1=7个字符
for(;;)
{
printf("请输入密码:\n");
for(int i = 0; i < 6; i++)//这里采集用户输入的6位密码 并在后面丢弃一个”\n“
{key = getchar();}
getchar();
if(strcmp(key, rkey))
{printf("密码错误\n");}
else
{printf("密码正确\n");
break;}
}
return 0;
}
页:
[1]