全国计算机二级C++模拟题
时间: 2024-04-30 08:15:09 浏览: 139
全国计算机二级C++模拟题是为了评估考生在C++编程方面的能力而设计的一套题目。这些题目涵盖了C++语言的基本语法、面向对象编程、文件操作、异常处理等方面的知识点。以下是一道典型的全国计算机二级C++模拟题:
题目:编写一个C++程序,实现一个简单的学生信息管理系统。要求如下:
1. 定义一个学生类(Student),包含学号(id)、姓名(name)、年龄(age)三个成员变量,以及设置和获取这些成员变量的成员函数。
2. 定义一个学生信息管理类(StudentManager),包含一个学生数组作为成员变量,以及添加学生信息、删除学生信息、查找学生信息等功能的成员函数。
3. 在主函数中,创建一个学生信息管理对象,通过调用其成员函数实现对学生信息的管理。
示例代码如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
int id;
string name;
int age;
public:
void setId(int studentId) {
id = studentId;
}
void setName(string studentName) {
name = studentName;
}
void setAge(int studentAge) {
age = studentAge;
}
int getId() {
return id;
}
string getName() {
return name;
}
int getAge() {
return age;
}
};
class StudentManager {
private:
static const int MAX_SIZE = 100;
Student students[MAX_SIZE];
int count;
public:
StudentManager() {
count = 0;
}
void addStudent(Student student) {
if (count < MAX_SIZE) {
students[count] = student;
count++;
cout << "添加学生信息成功!" << endl;
} else {
cout << "学生信息已满,无法添加!" << endl;
}
}
void deleteStudent(int studentId) {
for (int i = 0; i < count; i++) {
if (students[i].getId() == studentId) {
for (int j = i; j < count - 1; j++) {
students[j] = students[j + 1];
}
count--;
cout << "删除学生信息成功!" << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
void searchStudent(int studentId) {
for (int i = 0; i < count; i++) {
if (students[i].getId() == studentId) {
cout << "学号:" << students[i].getId() << endl;
cout << "姓名:" << students[i].getName() << endl;
cout << "年龄:" << students[i].getAge() << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
};
int main() {
StudentManager manager;
Student student1;
student1.setId(1);
student1.setName("张三");
student1.setAge(18);
manager.addStudent(student1);
Student student2;
student2.setId(2);
student2.setName("李四");
student2.setAge(19);
manager.addStudent(student2);
manager.searchStudent(1);
manager.searchStudent(3);
manager.deleteStudent(1);
manager.searchStudent(1);
return 0;
}
```
阅读全文