(c++) 如何编程实现:密码的输入?
请输入密码:**************
按任意键继续...
(清屏)
(自定义的程序模块)
按任意键继续... 展开
可以参考下面的代码:
#include <cstring>
#include <cstdio>
cout<<"Please enter password: ";
gets(user);
if(strcmp(user,"password"/* 随便输入一个初始密码*/))cout<<"error";
else {……}
扩展资料:
C++参考函数
int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0
int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值,否则返回0
int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')
int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')
参考资料来源:百度百科-C++
1、主要使用getch函数即可实现不显示字符,进行密码输入。
函数用途:从控制台读取一个字符,但不显示在屏幕上
函数原型:int getch(void)
返回值:读取的字符
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1。输入的字符不会回显在屏幕上。getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。
2、例程:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int chcode() {
char pw[50],ch;
char *syspw = "abc"; // 原始密码
int i,m = 0;
printf("请输入密码:");
while(m < 3) {
i = 0;
while((ch = _getch()) != '\r') {
if(ch == '\b' && i > 0) {
printf("\b \b");
--i;
}
else if(ch != '\b') {
pw[i++] = ch;
printf("*");
}
}
pw[i] = '\0';
printf("\n");
if(strcmp(pw,syspw) != 0) {
printf("密码错误,请重新输入!\n");
m++;
}
else {
printf("密码正确!\n");
system("pause");
return 1;
}
}
printf("连续3次输入错误,退出!\n");
system("pause");
return 0;
}
int main() {
int login = chcode();
if(login) printf("登录成功!\n");
else printf("登录失败!\n");
return 0;
}
#include<conio.h>
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int i;char ch;
char str[20];//用来保存密码
char mima[6]={"12345"};//设置初始密码为12345
while(1)
{
i=0;
system("cls");
cout<<"输入密码:";
ch=getch() ;
while(ch!=13) //回车的那个什么码
{
if(ch==8&&i>0)//退格键的ask码
{
i--;
str[i]='\0';
system("cls");//清屏 重新输出*
cout<<"输入密码:";
for(int j=0;j<i;j++)
{
cout<<"*";
}
ch=getch();
}
else
{
printf("*");
str[i]=ch;
i++;
ch=getch();
}
}
str[i]='\0';
if(!strcmp(str,mima))
{
system("cls");
cout<<"正确";
break;
}
else
{
cout<<"\n密码错误!!";
getch();
}
}
cout<<"\t密码是:"<<str;
getch();
return 0;
}
#include <cstring>
#include <cstdio>
cout<<"Please enter password: ";
gets(user);
if(strcmp(user,"password"/* 随便输入一个初始密码*/))cout<<"error";
else {……}
#include<conio.h>
void main()
{
int i = 0; char mima[20];
char ch;
while(ch = getch(), ch != '\r')
{
printf("*");
mima[i++] = ch;
}
printf("您输入的密码为:");
for(int j = 0; j < i; j++)
printf("%c", mima[j]);
}