用C++写一个根据返回用户的身份信息显示不同的菜单的函数
时间: 2024-03-29 12:41:00 浏览: 11
好的,以下是一个简单的示例代码,用于根据用户的身份信息显示不同的菜单:
```c++
#include <iostream>
#include <string>
using namespace std;
void showMenu(string userType) {
if (userType == "admin") {
cout << "管理员菜单:" << endl;
cout << "1. 添加用户" << endl;
cout << "2. 删除用户
相关问题
在C++中,定义一个int型函数login,它可以返回用户的身份信息,根据用户的身份显示不同的菜单
好的,以下是一个示例代码,用于定义一个返回用户身份信息的函数 login,并根据用户身份显示不同的菜单:
```c++
#include <iostream>
#include <string>
using namespace std;
int login() {
// 假设这里通过用户输入用户名和密码验证身份
string username, password;
cout << "请输入用户名:";
cin >> username;
cout << "请输入密码:";
cin >> password;
// 假设这里通过查询数据库获取用户身份信息
string userType = "guest"; // 默认为普通用户
if (username == "admin" && password == "123456") {
userType = "admin"; // 如果用户名和密码匹配,设置用户身份为管理员
}
// 根据用户身份返回相应的值
if (userType == "admin") {
return 1; // 返回 1 表示管理员身份
} else {
return 0; // 返回 0 表示普通用户身份
}
}
void showMenu(int userType) {
if (userType == 1) { // 如果是管理员身份
cout << "管理员菜单:" << endl;
cout << "1. 添加用户" << endl;
cout << "2. 删除用户" << endl;
} else { // 否则是普通用户身份
cout << "普通用户菜单:" << endl;
cout << "1. 查看个人信息" << endl;
cout << "2. 修改个人信息" << endl;
}
}
int main() {
int userType = login(); // 获取用户身份信息
showMenu(userType); // 显示相应的菜单
return 0;
}
```
在这个示例代码中,我们定义了一个名为 login 的函数,用于验证用户身份并返回用户身份信息。在主函数中,我们首先调用 login 函数获取用户身份信息,然后根据用户身份信息调用 showMenu 函数显示相应的菜单。如果用户身份为管理员,就显示管理员菜单;如果用户身份为普通用户,就显示普通用户菜单。
怎么使用C++语言,写一个返回函数指针的函数。
你可以使用C++语言编写一个返回函数指针的函数。下面是一个示例代码:
```cpp
#include <iostream>
// 定义一个函数指针
typedef int (*FuncPtr)(int, int);
// 返回函数指针的函数
FuncPtr getFunctionPointer(int choice) {
switch (choice) {
case 1:
return [](int a, int b) { return a + b; }; // 返回加法函数指针
case 2:
return [](int a, int b) { return a - b; }; // 返回减法函数指针
default:
return nullptr; // 默认返回空指针
}
}
int main() {
int choice;
std::cout << "请选择操作:1.相加 2.相减" << std::endl;
std::cin >> choice;
FuncPtr funcPtr = getFunctionPointer(choice);
if (funcPtr) {
int result = funcPtr(5, 3);
std::cout << "结果:" << result << std::endl;
} else {
std::cout << "无效选择!" << std::endl;
}
return 0;
}
```
在上面的示例中,我们定义了一个函数指针类型 `FuncPtr`,然后编写了一个返回函数指针的函数 `getFunctionPointer`。根据传入的选择,该函数返回不同的函数指针。在 `main` 函数中,我们根据用户的选择获取相应的函数指针,并调用该函数指针进行计算。
注意,在 C++11 及以上版本中,我们可以使用 lambda 表达式来定义匿名函数,从而简化代码。以上示例中使用的 lambda 表达式用于定义加法和减法函数。