C++编程,输入密码时显示*号

分享一下通用模板:


#include <conio.h>   //包含头文件

    string password;      //真正的密码存放处
    char pw[50],ch;
   
    printf("请输入密码:");

        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';

        password = pw;   //键盘输入的密码给密码存放处

       printf("\n");
  


  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来回答你的问题。 对于第一个问题,我们可以采用如下的算法: 1. 提示用户输入用户名和密码; 2. 读取用户输入的用户名和密码; 3. 检查用户名和密码是否正确; 4. 如果用户名和密码正确,则显示系统菜单,否则回到第1步; 5. 如果连续输入错误的次数达到3次,则退出系统。 对于第二个问题,我们可以使用以下的算法: 1. 显示主菜单; 2. 等待用户输入命令; 3. 根据用户输入的命令执行相应的操作; 4. 回到第1步。 在C++中,我们可以采用如下的代码实现第一个问题: ``` #include <iostream> #include <string> using namespace std; int main() { string username = "admin"; string password = "123456"; int error_count = 0; while (error_count < 3) { string input_username, input_password; cout << "请输入用户名:"; cin >> input_username; cout << "请输入密码:"; cin >> input_password; if (input_username == username && input_password == password) { cout << "登录成功!" << endl; // 显示系统菜单 break; } else { error_count++; cout << "用户名或密码错误,请重新输入。" << endl; } } if (error_count == 3) { cout << "您已连续输入错误3次,系统自动退出。" << endl; } return 0; } ``` 在C++中,我们可以采用如下的代码实现第二个问题: ``` #include <iostream> #include <string> using namespace std; void show_menu() { cout << "1. 添加用户" << endl; cout << "2. 删除用户" << endl; cout << "3. 查看用户列表" << endl; // 更多菜单项... cout << "0. 退出系统" << endl; } void add_user() { // 添加用户的代码 } void delete_user() { // 删除用户的代码 } void list_users() { // 查看用户列表的代码 } int main() { while (true) { show_menu(); int choice; cout << "请输入您的选择:"; cin >> choice; switch (choice) { case 1: add_user(); break; case 2: delete_user(); break; case 3: list_users(); break; case 0: cout << "感谢使用本系统,再见!" << endl; return 0; default: cout << "无效的选择,请重新输入。" << endl; break; } } return 0; } ``` 希望我的回答能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值