标题:初学者求解:如何把口令检查中,输入口令,输出*
只看楼主
IORI_Kid_DG
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-6-26
结帖率:100%
已结贴  问题点数:20 回复次数:12 
初学者求解:如何把口令检查中,输入口令,输出*
#include<stdio.h>
void check()
{
    int i,count;
    for(i=0;i<3;i++)
    {
        printf("请输入口令:");
        scanf("%d",&count);
        if(count==8888)
        {
            printf("口令正确,欢迎进入!\n");
            return;
        }
        else
        printf("口令错误!\n");
    }
    return;
}

void main()
{
    check();
}

这个是个口令检查的简单程序,如何处理输入的口令以*****来显示,如果登陆账号输入的密码一样。
搜索更多相关主题的帖子: 检查 count 如何 
2011-06-26 01:25
IORI_Kid_DG
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-6-26
得分:0 
我试图用我目前掌握的知识来添加
我想定义一个数组a[],里面只包含***
然后用把输入的count密码,作为指针地址
指向数组a[],
不知道这个思路能否实现
望高手指点
谢绝没有解释的高级答案
小弟诚心求学,不为答案
2011-06-26 01:35
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
得分:0 
程序代码:
#include<stdio.h>

int main() {
    char passwd[100] = {0};
    int i = 0;
    while ((passwd[i++] = getch()) != 13) {
        printf("*");
    }
    printf("\n%s", passwd);
    return 0;
}


不需要解释吧
2011-06-26 01:54
thunder_2011
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:100
注 册:2011-4-11
得分:0 
windows还是linux ?
2011-06-26 02:13
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
得分:0 
回复 4楼 thunder_2011
linux 下好像得用 ncurses 才有 getch()
2011-06-26 02:18
IORI_Kid_DG
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-6-26
得分:0 
windows
2011-06-26 03:07
IORI_Kid_DG
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-6-26
得分:0 
怎么事先口令检查我明白了,怎么把密码转换成星号我也明白了
但是两者结合在一起 两个模块要怎么插入融合
还是不明白 求思路
2011-06-26 03:24
IORI_Kid_DG
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-6-26
得分:0 
口令检查:正确密码为8888,输入正确则显示欢迎进入,提前结束。输入错误则重新输入,输入三次错误则强行结束。

程序代码:
#include<stdio.h>
void check()
{
    int i,count;
    for(i=0;i<3;i++)
    {
        printf("请输入口令:");
        scanf("%d",&count);
        if(count==8888)
        {
            printf("口令正确,欢迎进入!\n");
            return;
        }
        else
        printf("口令错误!\n");
    }
    return;
}

void main()
{
    check();
}



把密码显示为星号,但是没有口令检查


程序代码:
#include<stdio.h>
#include<conio.h>
int main()
{
    char tmpc;
    int i = 0;
    tmpc = ' '; 

    printf("input password:\n");
    for(i = 0; i < 6; i++)
    {
        tmpc = getch();
        printf("*");
    }
    printf("\n");
    return 0;  
}




求结合
2011-06-26 04:13
lccwyj
Rank: 4
等 级:业余侠客
帖 子:71
专家分:203
注 册:2011-5-6
得分:0 
回复 3楼 voidx
请解释一下,为什么是!=13?
2011-06-26 07:04
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
得分:20 
回复 8楼 IORI_Kid_DG
char passwd[100] = {0};
int i = 0;
while(1)
{while ((passwd[i++] = getch()) != 13) {
printf("*");}char p[10]="8888";
p[4]=13;
if(!strcmp(p,passwd))
{printf("口令正确,欢迎进入!\n");
break;}
 else printf("口令错误!\n");}
  
2011-06-26 07:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-344005-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.609952 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved