编写一个程序输入若干用户名和密码,密码输入时不能显示输入结果,记录用户个数,最后输出信息
时间: 2024-10-27 22:02:22 浏览: 14
编写这样的程序通常涉及到控制台输入、循环处理以及隐藏输入等操作。下面是一个简单的Python示例,使用`getpass`模块来隐藏密码输入:
```python
import getpass
users_count = 0
user_data = {}
while True:
username = input("请输入用户名 (输入'q'退出): ")
if username.lower() == 'q':
break
password = getpass.getpass("请输入密码: ") # 隐藏密码输入
users_count += 1
user_data[username] = {'password': password}
print(f"共录入了 {users_count} 名用户。")
for username, data in user_data.items():
print(f"{username} 的密码已保存。")
# 如果需要,可以将密码存储到文件或数据库中,这里仅示例用途
```
在这个程序中,我们创建了一个字典来存储用户名及其对应的密码。当用户输入`q`时,程序会跳出循环并显示已经录入的用户数量。
相关问题
编写一个程序输入若干用户名和密码,密码输入时不能显示输入结果,记录用户个数,最后输出信息,c++实现
在C++中,你可以使用`cin`和`cout`来进行基本的输入输出,并利用`string`类型处理用户名和密码。为了防止密码显示,可以使用`getline`函数读取密码并将其内容隐藏起来。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
int main() {
std::vector<std::pair<std::string, std::string>> users; // 存储用户名和密码的容器
int numUsers;
std::cout << "请输入用户数量:";
std::cin >> numUsers;
for (int i = 0; i < numUsers; ++i) {
std::string username;
std::cout << "请输入用户名:" << std::flush; // 使用flush是为了让用户看到提示
getline(std::cin, username);
std::string password;
std::cout << "请输入密码:(不会显示)" << std::endl; // 隐藏密码输入
std::cin >> password;
// 将用户名和密码添加到容器中
users.push_back({username, password});
}
std::cout << "总共有" << numUsers << "名用户。\n";
// 输出所有用户的列表(仅用户名)
for (const auto& user : users) {
std::cout << "用户名:" << user.first << "\n";
}
return 0;
}
```
在这个程序中,用户首先输入他们想要创建的账户数量。然后,对于每个用户,程序会询问用户名,并在询问密码时隐藏输入。最后,程序会统计用户总数并只显示用户名列表。
阅读全文