班级通讯录管理系统是一个用于存储和管理班级成员信息的系统。它的主要功能包括添加、删除、修改和查询班级成员信息。以下是使用C语言实现的班级通讯录管理系统的设计和实现:
1. 设计思路:
(1)定义一个结构体来存储班级成员的信息,包括姓名、学号、性别等。
(2)创建一个班级通讯录类,包含添加、删除、修改和查询成员信息的方法。
(3)在主函数中创建班级通讯录对象,并调用相关方法进行操作。
2. 代码实现:
```c
#include
#include
// 定义班级成员结构体
typedef struct {
char name[50];
int id;
char gender;
} Student;
// 班级通讯录类
class ClassDirectory {
public:
ClassDirectory() {}
// 添加成员信息
void addStudent(Student student) {
strcpy(students[id].name, student.name);
students[id].id = student.id;
students[id].gender = student.gender;
id++;
}
// 删除成员信息
void deleteStudent(int id) {
for (int i = 0; i < id; i++) {
if (students[i].id == id) {
strcpy(students[i].name, "");
students[i].id = -1;
students[i].gender = 'N';
break;
}
}
}
// 修改成员信息
void modifyStudent(int id, char* newName, char* newGender) {
for (int i = 0; i < id; i++) {
if (students[i].id == id) {
strcpy(students[i].name, newName);
strcpy(students[i].gender, newGender);
break;
}
}
}
// 查询成员信息
Student* queryStudent(int id) {
for (int i = 0; i < id; i++) {
if (students[i].id == id) {
return &students[i];
}
}
return NULL;
}
private:
Student students[100]; // 存储100个学生信息
};
int main() {
ClassDirectory directory;
directory.addStudent({"张三", 1, 'M'});
directory.addStudent({"李四", 2, 'F'});
directory.addStudent({"王五", 3, 'M'});
// 查询学生信息
Student* student = directory.queryStudent(2);
if (student != NULL) {
printf("姓名:%s,学号:%d,性别:%c
", student->name, student->id, student->gender);
} else {
printf("未找到该学生信息
");
}
// 修改学生信息
directory.modifyStudent(2, "李四", 'F');
student = directory.queryStudent(2);
if (student != NULL) {
printf("姓名:%s,学号:%d,性别:%c
", student->name, student->id, student->gender);
} else {
printf("未找到该学生信息
");
}
// 删除学生信息
directory.deleteStudent(2);
student = directory.queryStudent(2);
if (student != NULL) {
printf("姓名:%s,学号:%d,性别:%c
", student->name, student->id, student->gender);
} else {
printf("未找到该学生信息
");
}
return 0;
}
```
这个程序实现了一个简单的班级通讯录管理系统,可以添加、删除、修改和查询班级成员信息。在实际项目中,可以根据需求进行扩展和优化。