用c语言实现学生信息管理系统 (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 系统以菜单方式工作 学生信息录入功能(学生信息用文件保存)---输入 学生信息浏览功能——输出 查询、排序功能——算法 1、按学号查询 2、按姓名查询 3、按学号排序 学生信息的删除与修改 (2)功能要求 界面简单明了; 有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入。
时间: 2024-03-06 18:49:00 浏览: 101
以下是用C语言实现学生信息管理系统的代码实现,其中包含学生信息的录入、浏览、查询、排序、删除和修改等功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
// 定义学生信息结构体
typedef struct student {
int id; // 学号
char name[20]; // 姓名
int age; // 年龄
char sex[5]; // 性别
char birth[20]; // 出生日期
char address[50]; // 地址
char phone[20]; // 电话
char email[50]; // 邮箱
} Student;
// 全局变量,用于记录学生数量
int student_num = 0;
// 学生信息数组
Student students[MAX_STUDENT_NUM];
// 显示菜单
void show_menu() {
printf("\n\n\n");
printf("*****************************\n");
printf(" 学生信息管理系统 \n");
printf("*****************************\n");
printf("1. 录入学生信息\n");
printf("2. 浏览学生信息\n");
printf("3. 查询学生信息\n");
printf("4. 排序学生信息\n");
printf("5. 删除学生信息\n");
printf("6. 修改学生信息\n");
printf("0. 退出系统\n");
printf("*****************************\n");
printf("请选择(0-6):");
}
// 录入学生信息
void add_student() {
printf("\n请输入学生信息:\n");
// 获取学生信息
Student student;
printf("学号:");
scanf("%d", &student.id);
printf("姓名:");
scanf("%s", student.name);
printf("年龄:");
scanf("%d", &student.age);
printf("性别:");
scanf("%s", student.sex);
printf("出生日期:");
scanf("%s", student.birth);
printf("地址:");
scanf("%s", student.address);
printf("电话:");
scanf("%s", student.phone);
printf("邮箱:");
scanf("%s", student.email);
// 将学生信息保存到数组
students[student_num++] = student;
// 提示信息
printf("\n学生信息录入成功!\n");
}
// 浏览学生信息
void view_student() {
printf("\n学生信息如下:\n");
printf("学号\t姓名\t年龄\t性别\t出生日期\t地址\t电话\t邮箱\n");
for (int i = 0; i < student_num; i++) {
printf("%d\t%s\t%d\t%s\t%s\t%s\t%s\t%s\n", students[i].id,
students[i].name, students[i].age, students[i].sex,
students[i].birth, students[i].address, students[i].phone, students[i].email);
}
}
// 按学号查询学生信息
void search_student_by_id() {
int id;
printf("\n请输入要查询的学生学号:");
scanf("%d", &id);
// 在数组中查找学生信息
int index = -1;
for (int i = 0; i < student_num; i++) {
if (students[i].id == id) {
index = i;
break;
}
}
// 输出查询结果
if (index == -1) {
printf("未找到学号为%d的学生信息\n", id);
} else {
printf("学号\t姓名\t年龄\t性别\t出生日期\t地址\t电话\t邮箱\n");
printf("%d\t%s\t%d\t%s\t%s\t%s\t%s\t%s\n", students[index].id,
students[index].name, students[index].age, students[index].sex,
students[index].birth, students[index].address, students[index].phone, students[index].email);
}
}
// 按姓名查询学生信息
void search_student_by_name() {
char name[20];
printf("\n请输入要查询的学生姓名:");
scanf("%s", name);
// 在数组中查找学生信息
int index = -1;
for (int i = 0; i < student_num; i++) {
if (strcmp(students[i].name, name) == 0) {
index = i;
break;
}
}
// 输出查询结果
if (index == -1) {
printf("未找到姓名为%s的学生信息\n", name);
} else {
printf("学号\t姓名\t年龄\t性别\t出生日期\t地址\t电话\t邮箱\n");
printf("%d\t%s\t%d\t%s\t%s\t%s\t%s\t%s\n", students[index].id,
students[index].name, students[index].age, students[index].sex,
students[index].birth, students[index].address, students[index].phone, students[index].email);
阅读全文