用c语言实现学生通讯录管理 问题描述: 建立一个学生通讯录主要功能包括: 能建立、修改和增删学生通讯录 能够按多种方式进行查询 每个学生信息包含:学号、姓名、班级、手机号码等 实现要求: [1]学生信息录入 [2]学生信息查询 [3]学生信息修改 [4]学生信息删除
时间: 2023-11-21 13:05:06 浏览: 215
C语言通讯录管理系统实现添加,查询,修改,删除等功能。
4星 · 用户满意度95%
好的,以下是用C语言实现学生通讯录管理的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义学结构体
struct student {
char id[];
char name[20];
char class[];
char phone[15];
};
// 定义全局变量
struct student students[100]; // 学生数组
int student = 0; // 学数量
// 添加学生
void add_student() {
printf("请输入学号:");
scanf("%s", students[student_count].id);
printf("请输入姓名:");
scanf("%s", students[student_count].name);
printf("请输入班级:");
scanf("%s", students[student_count].class);
printf("请输入手机号码:");
scanf("%s", students[student_count].phone);
student_count++;
printf("添加成功!\n");
}
// 查询学生信息
void search_student() {
int i, flag = 0;
char id[10];
char name[20];
printf("请选择查询方式:\n");
printf("1. 按学号查询\n");
printf("2. 按姓名查询\n");
scanf("%d", &i);
switch (i) {
case 1:
printf("请输入学号:");
scanf("%s", id);
for (i = 0; i < student_count; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("学号:%s,姓名:%s,班级:%s,手机号码:%s\n", students[i].id, students[i].name, students[i].class, students[i].phone);
flag = 1;
}
}
if (flag == 0) {
printf("未找到该学生!\n");
}
break;
case 2:
printf("请输入姓名:");
scanf("%s", name);
for (i = 0; i < student_count; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("学号:%s,姓名:%s,班级:%s,手机号码:%s\n", students[i].id, students[i].name, students[i].class, students[i].phone);
flag = 1;
}
}
if (flag == 0) {
printf("未找到该学生!\n");
}
break;
default:
printf("输入错误!\n");
}
}
// 修改学生信息
void modify_student() {
int i, flag = 0;
char id[10];
printf("请输入要修改的学生学号:");
scanf("%s", id);
for (i = 0; i < student_count; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("请输入新的学号:");
scanf("%s", students[i].id);
printf("请输入新的姓名:");
scanf("%s", students[i].name);
printf("请输入新的班级:");
scanf("%s", students[i].class);
printf("请输入新的手机号码:");
scanf("%s", students[i].phone);
flag = 1;
printf("修改成功!\n");
}
}
if (flag == 0) {
printf("未找到该学生!\n");
}
}
// 删除学生信息
void delete_student() {
int i, j, flag = 0;
char id[10];
printf("请输入要删除的学生学号:");
scanf("%s", id);
for (i = 0; i < student_count; i++) {
if (strcmp(students[i].id, id) == 0) {
for (j = i; j < student_count - 1; j++) {
students[j] = students[j + 1];
}
student_count--;
flag = 1;
printf("删除成功!\n");
}
}
if (flag == 0) {
printf("未找到该学生!\n");
}
}
int main() {
int i;
while (1) {
printf("请选择操作:\n");
printf("1. 添加学生信息\n");
printf("2. 查询学生信息\n");
printf("3. 修改学生信息\n");
printf("4. 删除学生信息\n");
printf("0. 退出程序\n");
scanf("%d", &i);
switch (i) {
case 1:
add_student();
break;
case 2:
search_student();
break;
case 3:
modify_student();
break;
case 4:
delete_student();
break;
case 0:
exit(0);
default:
printf("输入错误!\n");
}
}
return 0;
}
```
该程序使用结构体数组来存储学生信息,提供了添加、查询、修改和删除学生信息的功能。您可以根据自己的需求进行修改和扩展。
阅读全文