标题:帮忙啦!
只看楼主
DreamHK
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-4-6
得分:0 
[bo]以下是引用 [un]flyue[/un] 在 2008-4-20 17:19 的发言:[/bo]

C语言很难实现*号的密码,用Visual C++的MFC就容易多了
你这个程序是测试的,又不是真正要用的,星号不星号都一样

可以用\b和putchar()来控制*号的输出...
2008-04-20 17:33
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
还有这招?忘记了

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-04-20 17:46
zp_0409
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-6-4
得分:0 
修改2楼程序
#ifndef _GETPASSWD_H
#define _GETPASSWD_H

#include <stdio.h>
#include <conio.h>

char passwd[32] = "";

char *getPasswd()
{
    char c;
    int i = 0;
   
    while ((c=getch()) != '\r')
    {
         passwd[i++] = c;
        putchar('*');
    }
     passwd[i] = '\0';
   
    return passwd;
}

#endif
//*******************************上面是password.h*******************************************
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
//#include"password.h"
#define PASS "123"
int main()
{
    int i,j=0,password=1;
    char name1[10],name2[6]="zhang";
    char *pw;
    printf("please input your name:\n");
    gets(name1);
    while(strcmp(name1,name2)!=0)
    {
        j++;
        printf("input again:");
        printf("j=%d\n",j);
        gets(name1);
        if(j>=3)
        {
            printf("超过次数!");
            getch();
            exit(0);            
        }
    }
    /*if (strcmp(name1,name2)!=0)
    printf("wrong!\n");

    else*/
    printf("hi,welcome!");
    j=0;   
    do{
        printf("\ninput your password:\n");
        pw=getPasswd();
        //printf("\n");
        j++;
        fflush(stdin);
        if(j>=3)
        {
            printf("超过次数!");
            getch();
            exit(0);
        }
    }while(strcmp(pw,PASS)!=0);
    /*if (strcmp(pw,PASS)!=0)
    printf("\nwrong!\n");

    else*/
    printf("\nhello!\n");
    getch();
}
2008-04-21 22:29
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
我的运行也是对的..不需要修改吧?

学习需要安静。。海盗要重新来过。。
2008-04-21 22:39
daocaorenhe
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-4-22
得分:0 
2楼的程序不严谨啊,,哈哈,,但是可以‘*’输出,还是学习了
2008-04-22 21:42
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
什么意思?有问题就把问题帖全吧?我也是帮别人改改...输出星号的代码是我的..其它我是改别人的...谢谢

学习需要安静。。海盗要重新来过。。
2008-04-22 21:46



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




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

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