学生通讯录管理系统 c
时间: 2023-12-26 09:05:23 浏览: 106
学生通讯录管理系统是一个用于管理学生联系信息的程序。它可以实现建立、修改和增删学生通讯录的功能,并能够按多种方式进行查询。在C语言中,可以使用结构体来表示学生的信息,并使用文件来存储和读取通讯录数据。
以下是一个简单的学生通讯录管理系统的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
// 定义学生结构体
typedef struct {
char name[20];
char phone[20];
char email[30];
} Student;
// 学生通讯录数组
Student contacts[MAX_SIZE];
int numContacts = 0;
// 添加学生信息
void addContact() {
if (numContacts >= MAX_SIZE) {
printf("通讯录已满,无法添加新的学生信息。\n");
return;
}
Student newContact;
printf("请输入学生姓名:");
scanf("%s", newContact.name);
printf("请输入学生电话:");
scanf("%s", newContact.phone);
printf("请输入学生邮箱:");
scanf("%s", newContact.email);
contacts[numContacts] = newContact;
numContacts++;
printf("学生信息添加成功。\n");
}
// 修改学生信息
void modifyContact() {
char name[20];
printf("请输入要修改的学生姓名:");
scanf("%s", name);
int index = -1;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到该学生的信息。\n");
return;
}
printf("请输入新的学生电话:");
scanf("%s", contacts[index].phone);
printf("请输入新的学生邮箱:");
scanf("%s", contacts[index].email);
printf("学生信息修改成功。\n");
}
// 删除学生信息
void deleteContact() {
char name[20];
printf("请输入要删除的学生姓名:");
scanf("%s", name);
int index = -1;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到该学生的信息。\n");
return;
}
for (int i = index; i < numContacts - 1; i++) {
contacts[i] = contacts[i + 1];
}
numContacts--;
printf("学生信息删除成功。\n");
}
// 按姓名查询学生信息
void searchByName() {
char name[20];
printf("请输入要查询的学生姓名:");
scanf("%s", name);
int index = -1;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到该学生的信息。\n");
return;
}
printf("学生姓名:%s\n", contacts[index].name);
printf("学生电话:%s\n", contacts[index].phone);
printf("学生邮箱:%s\n", contacts[index].email);
}
// 按电话查询学生信息
void searchByPhone() {
char phone[20];
printf("请输入要查询的学生电话:");
scanf("%s", phone);
int index = -1;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].phone, phone) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到该学生的信息。\n");
return;
}
printf("学生姓名:%s\n", contacts[index].name);
printf("学生电话:%s\n", contacts[index].phone);
printf("学生邮箱:%s\n", contacts[index].email);
}
// 按邮箱查询学生信息
void searchByEmail() {
char email[30];
printf("请输入要查询的学生邮箱:");
scanf("%s", email);
int index = -1;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].email, email) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到该学生的信息。\n");
return;
}
printf("学生姓名:%s\n", contacts[index].name);
printf("学生电话:%s\n", contacts[index].phone);
printf("学生邮箱:%s\n", contacts[index].email);
}
int main() {
int choice;
while (1) {
printf("\n学生通讯录管理系统\n");
printf("1. 添加学生信息\n");
printf("2. 修改学生信息\n");
printf("3. 删除学生信息\n");
printf("4. 按姓名查询学生信息\n");
printf("5. 按电话查询学生信息\n");
printf("6. 按邮箱查询学生信息\n");
printf("0. 退出程序\n");
printf("请输入操作编号:");
scanf("%d", &choice);
switch (choice) {
case 1:
addContact();
break;
case 2:
modifyContact();
break;
case 3:
deleteContact();
break;
case 4:
searchByName();
break;
case 5:
searchByPhone();
break;
case 6:
searchByEmail();
break;
case 0:
printf("程序已退出。\n");
exit(0);
default:
printf("无效的操作编号,请重新输入。\n");
break;
}
}
return 0;
}
```
这个示例代码实现了学生通讯录管理系统的基本功能,包括添加学生信息、修改学生信息、删除学生信息以及按姓名、电话、邮箱查询学生信息。你可以根据自己的需求进行修改和扩展。
阅读全文