| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 769 人关注过本帖
标题:前辈们帮帮忙 ‘*’回显
只看楼主 加入收藏
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
 问题点数:0 回复次数:6 
前辈们帮帮忙 ‘*’回显
利用数组实现一个用户登录程序,现要求输入用户名(3次有效),接着输入密码(3次有效,要求“*”回显)登陆成功则输出欢迎语,否则告知出错,并退出系统。
搜索更多相关主题的帖子: 前辈 用户名 系统 密码 
2008-04-28 11:53
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
作业吧?自己写...

学习需要安静。。海盗要重新来过。。
2008-04-28 11:55
yxwsbobo
Rank: 5Rank: 5
等 级:职业侠客
帖 子:345
专家分:306
注 册:2007-10-29
收藏
得分:0 
getch() 可以读取用户输入什么都不显示,同时你putchar('*')就是你要的效果了

How are you 怎么是你?
How old are you   怎么老是你?
2008-04-28 12:16
c_acceleration
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2008-4-28
收藏
得分:0 
//献丑程序,有问题的,提供个自己想法,也没调试
int i=0, count=3;
char chr[MAX],ch;
char password[]="123\0";
.L1:
while((ch=getch())!='\r')
{
   putchar('*');
  chr[i]=ch;
  if(strcmp(password,chr) == 0)
        goto exec;
 else{
     count--;
      if(count==0)
            err_exit(0);//自己写个出错退出函数
      goto   .L1;
  }
}

exec:


//初学者,没调试程序,一般思路

[[it] 本帖最后由 c_acceleration 于 2008-4-28 12:38 编辑 [/it]]
2008-04-28 12:29
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
得分:0 
以下程序 密码用‘*’回显
谢谢各位了!
getch()函数没学过,怎么用呢!下面是我写的程序,不会回显,帮忙修改一下吧!
#include<stdio.h>
#include<string.h>
void main()
{
    int i=0,j=0,k=0,z=0,n=0;
    char name1[10],name2[6]="happy",s1[10],s2[4]="abc";
     printf("please input your name:");
     gets(name1);
    
     while(strcmp(name1,name2)!=0&&j<=1)
     {
         printf("input again:");
         gets(name1);
        
         j++;
     }
     if(strcmp(name1,name2)!=0)
         printf("over");
    
     else
     {
         printf("please input your password:");
         while((s1[i]=getchar())!='\n')
        
         {    putchar('*');
            
            
            i++;
         }
         s1[i]='\0';
         while(strcmp(s1,s2)!=0&&z<=1)
         {n=0;
             printf("input again:");
             while((s1[n]=getchar())!='\n')
             {
                putchar('*');
                 n++;
             }
             s1[n]='\0';
             z++;
         }
             if(strcmp(s1,s2)==0)
            
                 printf("pass");
                
            
             else
                 printf("fail");
        
     }
}
2008-04-28 13:14
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
得分:0 
确实是作业
刚接触C还不到半年,所以好多函数还不了解,所以请大家多多帮助了......
2008-04-28 13:19
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
得分:0 
谢谢了
谢谢各位的提醒,调试出来了!
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
    int i=0,j=0,k=0,z=0,n=0;
    char name1[10],name2[6]="happy",s1[10],s2[4]="abc";
     printf("please input your name:");
     gets(name1);
    
     while(strcmp(name1,name2)!=0&&j<=1)
     {
         printf("input again:");
         gets(name1);
        
         j++;
     }
     if(strcmp(name1,name2)!=0)
         printf("over");
    
     else
     {
         printf("please input your password:");
         while((s1[i]=getch())!='\r')
        
         {    putchar('*');
            
            
            i++;
         }
         s1[i]='\0';
         while(strcmp(s1,s2)!=0&&z<=1)
         {n=0;
             printf("input again:");
             while((s1[n]=getch())!='\r')
             {
                putchar('*');
                 n++;
             }
             s1[n]='\0';
             z++;
         }
             if(strcmp(s1,s2)==0)
            
                 printf("pass");
                
            
             else
                 printf("fail");
        
     }
}
2008-04-28 21:45
快速回复:前辈们帮帮忙 ‘*’回显
数据加载中...
 
   



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

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