为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、手机号这几项。现需要根据通讯录统计2000年后(包括2000年)出生的男生人数,请编程实现这个通讯并完成人数统计要求。用c++写这个问题
时间: 2024-03-02 22:54:20 浏览: 37
好的,以下是 C++ 的实现方案。同样需要先准备一个名为 `contacts.csv` 的 CSV 文件,内容与上面的 Python 实现一样。
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
int count = 0;
string line, name, gender, birthday, phone;
ifstream infile("contacts.csv");
getline(infile, line); // 读取首行,不处理
while (getline(infile, line)) {
vector<string> fields;
string field = "";
for (char c : line) {
if (c == ',') {
fields.push_back(field);
field = "";
} else {
field += c;
}
}
fields.push_back(field);
name = fields[0];
gender = fields[1];
birthday = fields[2];
phone = fields[3];
if (gender == "男" && birthday >= "2000-01-01") {
count++;
}
}
cout << "2000年后出生的男生人数为:" << count << endl;
return 0;
}
```
这段代码会读取 `contacts.csv` 文件中的内容,并逐行解析每个字段,然后逐个进行判断是否符合条件。最后输出符合条件的人数。
阅读全文