收藏了
- 满眼生机转化钧;天工人巧日争新。
#include<iostream> #include<string> #include<conio.h> using namespace std; int main() { char c; string str; while((c=getch())!=13) { if(c!=8) // 如果按下的不是Backspace(Backspace即退格键的ASCII码为8),则输出一个*,并保存该字符。 { cout<<"*"; str+=c; } else if(!str.empty()) // 这里是判断储存输入的字符串str是不是为空,如果是空的话,按下Backspace就不用做任何操作了 { str.erase(str.end()-1); // 如果按下的为退格键,刚删除储存的密码中的最后一个字符, cout<<"\b"<<" "<<"\b"; // 让显示的 * 号与密码个数保持一致。 } } cout<<endl<<str<<endl; return 0; }测试一下,
/* 初始密码为 12345678 * 输入密码时用*保护输入的字符 * 支持退格键 Backspace * 此程序要输入正确代码才能正常能出 * 控制台做课程设计时需要账号密码可以参考,密码可以放在某文件内(不加数据库的话),然后自己定一个规则进行加密即可。 */ #include<iostream> #include<string> #include<conio.h> using namespace std; int main() { char c; string str; string code = "12345678"; while(true) { str = ""; while((c=getch())!=13) { if(c!=8) { cout<<"*"; str+=c; } else if(!str.empty()) { str.erase(str.end()-1); cout<<"\b"<<" "<<"\b"; } } if (str == code) { cout<< endl <<"你输入的密码为:" << str <<endl; cout <<endl << "恭喜你,密码正确。可以正常退出!" << endl; return 0; } else { cout<< endl <<"你输入的密码为:" << str <<endl; cout <<endl <<"不好意思,密码错误,请再次输入:" << endl; } } return 0; }