| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 802 人关注过本帖
标题:还是密码的问题
取消只看楼主 加入收藏
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
 问题点数:0 回复次数:8 
还是密码的问题

#include<iostream.h>
#include<conio.h>

void main()
{


char a[23];


cout<<endl;
cout<<"请输入您的密码(6——10位数字或字母):";
int index=0;
while(1)
{
char ch;
ch=getch();

if(ch==8) //退格键
{

if(index!=0)
{
cout<<char(8)<<" "<<char(8);
index--;
}
}
else
{if(ch=='\r') //回车键

{a[index]='\0';
cout<<endl;
break;
}

else
{
cout<<"*";
a[index++]=ch;
}
}
}
}




运行时要enter后才能看见之前输入的密码“*******”;
而且不打印出"请输入您的密码(6——10位数字或字母):"这一行 ;当用stdio.h的printf()时才能打印出来,可密码的问题依旧,
都不知怎么回事了~~~~~~求助~~~~

搜索更多相关主题的帖子: 密码 
2007-05-13 15:24
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
char password[100];
int index=0;
while(1)
{
char ch;
ch=getch();
if(ch==8) //退格键
{
if(index!=0)
{
cout<<char(8)<<" "<<char(8);
index--;
}
}
else if(ch=='\r') //回车键
{
password[index]='\0';
cout<<endl;
break;
}
else
{
cout<<"*";
password[index++]=ch;
}
}
cout<<"password:"<<password<<endl;
return 0;
}

上面是一位高手写的,我做了这样的修改:

#include<iostream.h>
#include<conio.h>
void main()
{
char password[100];
int index=0;
while(1)
{
char ch;
ch=getch();
if(ch==8) //退格键
{
if(index!=0)
{
cout<<char(8)<<" "<<char(8);
index--;
}
}
else if(ch=='\r') //回车键
{
password[index]='\0';
cout<<endl;
break;
}
else
{
cout<<"*";
password[index++]=ch;
}
}
cout<<"password:"<<password<<endl;
}

然后就出现上面所说的情况了,这又是为什么呢?????


2007-05-13 15:33
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 

这只是要简单地实现密码的以屏蔽的方式输入,然后又要能够用backspace和enter键来修改和确定这些密码~~~~~~有些程序要用到这个功能~~~

2007-05-13 15:52
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 
我用了cout.flush();  ,但还是不行啊~~~~~这和缓冲没有关系吧?
2007-05-13 16:03
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 
谢谢了~~~~但是我想要的主要是实现 Backspace 的原本功能,这是最关键的~~~你写的可以实现enter的确定并停止密码输入,可我要的是可以修改~~~
2007-05-13 16:24
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 
是啊~~~
2007-05-13 17:22
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 

你的是:

#include<iostream>
using namespace std; //
#include<conio.h>

这样是可以,但我用的是

#include<iostream.h>
#include<conio.h>

这样的话在主函数内怎样才能实现如上的功能?

2007-05-13 17:32
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 

不声明命名空间时怎么办?

2007-05-13 17:36
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
收藏
得分:0 

那好了,谢谢

2007-05-13 21:07
快速回复:还是密码的问题
数据加载中...
 
   



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

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