| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:在用户登陆时经常提示输入密码,而密码输入时并不显示密码本身,而是用”*“ ...
只看楼主 加入收藏
a1017075043
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:50
专家分:63
注 册:2015-6-29
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
在用户登陆时经常提示输入密码,而密码输入时并不显示密码本身,而是用”*“代替,在下面的子函数里帮我改一下
比如在用户登陆时经常提示输入密码,而密码输入时并不显示密码本身,而是用”*“代替,请问如何用C语言实现上述功能;在下面的子函数里帮我改一下,谢谢!!
程序代码:
/*得到键盘录入的金额*/
double getcash(int flag)
{
    char ccash[100];
    double dcash;
    int i=1;
    while(i)
    {
        memset(ccash,0,sizeof(ccash));
        dcash=0;
        printf("\n");
        switch(flag)
        {
            case 0:
                    printf("请输入存入金额:");
                    break;
            case 1:
                    printf("请输入取款金额:");
                    break;
        }
        scanf("%lf",&dcash);
        fflush(stdin);
        sprintf(ccash,"%12.2f",dcash);
        if(checkInput(2,ccash))
        {
            printf("录入的金额超过9位的最大存入(取出)金额长度!\n");
            continue;
        }
        i=0;
    }
    return dcash;
}


搜索更多相关主题的帖子: 输入密码 C语言 color 用户 如何 
2015-07-02 11:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
不用scanf()

授人以渔,不授人以鱼。
2015-07-02 11:43
a1017075043
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:50
专家分:63
注 册:2015-6-29
收藏
得分:0 
那有什么?大神帮我改一下可以吗?

我是小白。。。。
2015-07-02 11:51
a1017075043
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:50
专家分:63
注 册:2015-6-29
收藏
得分:0 
不是这把子函数,下面的才是
void getaccPWD(char accPWD[])
        {
            char caccPWD[100];
        int i=1;
        while(i)
        {
        memset(accPWD,0,sizeof(accPWD));
        printf("\n");
        printf("请输入储户密码:");
        scanf("%s",caccPWD);
        fflush(stdin);
        if(checkInput(1,caccPWD))
        {
        printf("超过6位的最大密码长度!\n");
        continue;
        }
        i=0;
        }
        memcpy(accPWD,caccPWD,7);
}

我是小白。。。。
2015-07-02 11:54
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
跟你用什么编程有关。假如你用tc的话,就是getch()函数,别的编译器,也有类似的库,只是名称不同罢了,自己查资料找,方向已经给你了。至于你说的“C”,根本就没有可能实现这个目的,除非你自己控制硬件重写一个输入输出函数。我再说一遍:这世界上没有纯正的C,有的话,那也是不能有效工作的。凡是那种执着于“C语言如何如何实现”的,我都是这种回答口味,坐看失败乐在心头。

授人以渔,不授人以鱼。
2015-07-02 11:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
确切地说,是用getch()函数为基础,重写一个类似gets()那样的函数,用于实现你的目的。这种功能的函数是常用的,必须学会自己写,写出一个,就放在自己的工具箱,反复拿出来用,实现一次,终身受益,这才是真正要做、要学的。我写给你很容易,但这样是你学不到技能的。

授人以渔,不授人以鱼。
2015-07-02 12:02
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:10 
char mm[6];
   int i = 0;
   for(;i<6;i++)
   {
    mm[i] = getch();
    if(mm[i]=='\r')
        break;
    putchar('*');
   }
    mm[i]='\0';
    printf("\n你输入的密码是:%s\n",mm);
你试试这样的,我也是小白,不对的地方多包涵。

[ 本帖最后由 wanglianyi1 于 2015-7-2 13:52 编辑 ]
2015-07-02 13:14
快速回复:在用户登陆时经常提示输入密码,而密码输入时并不显示密码本身,而是用 ...
数据加载中...
 
   



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

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