用c++写一个恋爱匹配小程序
时间: 2023-08-12 12:05:34 浏览: 68
好的,我可以为你提供一个简单的恋爱匹配小程序的框架,你可以在此基础上添加更多的功能。
首先,我们需要定义一些数据结构来表示用户信息和匹配结果。在这个小程序中,我们可以定义一个包含以下信息的结构体:
```c++
struct User {
std::string name; // 用户名
int age; // 年龄
std::string gender; // 性别
std::string hobby; // 爱好
};
```
为了方便起见,我们可以将用户信息存储在一个 `vector` 中,每个元素都是一个 `User` 结构体。
```c++
std::vector<User> users;
```
接下来,我们需要实现一个函数来获取用户输入。我们可以使用 `std::cin` 来获取用户输入,并使用上面定义的 `User` 结构体来保存用户信息。
```c++
User getUserInfo() {
User user;
std::cout << "请输入您的姓名:";
std::cin >> user.name;
std::cout << "请输入您的年龄:";
std::cin >> user.age;
std::cout << "请输入您的性别:";
std::cin >> user.gender;
std::cout << "请输入您的爱好:";
std::cin >> user.hobby;
return user;
}
```
接下来,我们需要实现一个函数来计算两个用户之间的匹配度。在这个小程序中,我们可以使用以下公式来计算匹配度:
```c++
match = 100 - abs(user1.age - user2.age) - (user1.gender == user2.gender ? 0 : 50);
```
其中,`user1` 和 `user2` 分别是两个用户的信息,`match` 是他们之间的匹配度。这个公式可以根据实际需求进行调整。
```c++
int getMatch(const User& user1, const User& user2) {
int match = 100 - std::abs(user1.age - user2.age) - (user1.gender == user2.gender ? 0 : 50);
return match;
}
```
最后,我们需要在 `main` 函数中实现一个简单的逻辑来获取用户输入、计算匹配度并输出结果。
```c++
int main() {
// 获取用户输入
User user1 = getUserInfo();
User user2 = getUserInfo();
// 计算匹配度
int match = getMatch(user1, user2);
// 输出结果
std::cout << user1.name << " 和 " << user2.name << " 的匹配度为 " << match << "%" << std::endl;
return 0;
}
```
这是一个非常简单的恋爱匹配小程序,你可以在此基础上添加更多的功能,比如将用户信息保存到文件中、实现一个匹配算法等等。