分类统计问题。试编写c++程序统计自己班级男生女生人数各多少个。(班级总人数设为N,男生数为boy,女生数为girl,性别用sex表示。)
时间: 2024-09-15 08:08:01 浏览: 52
统计字符串中字母和数字个数
在C++中,你可以使用数组或map数据结构来统计班级的男生和女生人数。这里是一个简单的示例程序,它假设`sex`是一个枚举类型,值可以是`MALE`代表男生,`FEMALE`代表女生:
```cpp
#include <iostream>
using namespace std;
enum Gender { MALE, FEMALE };
class Student {
public:
Student(int sex) : gender(sex) {}
Gender getGender() const { return gender; }
private:
Gender gender;
};
int main() {
int N; // 班级总人数
cout << "请输入班级总人数(N): ";
cin >> N;
Student* students = new Student[N]; // 创建一个包含N个元素的学生数组
for (int i = 0; i < N; ++i) {
char choice;
cout << "请输入第" << i+1 << "位学生的性别(M/F): ";
cin >> choice;
if (choice == 'M' || choice == 'm') {
students[i].gender = MALE;
} else if (choice == 'F' || choice == 'f') {
students[i].gender = FEMALE;
} else {
cout << "无效输入, 请重新输入。\n";
continue; // 如果输入不是M或F,跳过并继续下一位学生
}
}
int boy = 0, girl = 0;
for (Student& student : students) {
if (student.getGender() == MALE)
boy++;
else if (student.getGender() == FEMALE)
girl++;
}
delete[] students; // 释放内存
cout << "男生人数: " << boy << ", 女生人数: " << girl << endl;
return 0;
}
阅读全文