赞
踩
C语言版学生信息管理系统
请选择一个操作:
1. 添加学生信息
2. 查询学生信息
3. 修改学生信息
4. 删除学生信息
5. 显示所有学生信息
6. 退出系统
请输入学生的学号:
请输入学生的姓名:
请输入学生的年龄:
请输入学生的性别:
请输入学生的班级:
请选择查询方式:
1. 通过学号查询
2. 通过姓名查询
学生信息:
学号: 123
姓名: 张三
年龄: 20
性别: 男
班级: 计算机1班
请输入新的学生信息:
请输入学生的姓名:
请输入学生的年龄:
请输入学生的性别:
请输入学生的班级:
+--------+--------+------+-------+------------+
学号 | 姓名 | 年龄 | 性别 | 班级 |
+--------+--------+------+-------+------------+
1001 | 张三 | 20 | 男 | 计算机1班 |
1002 | 李四 | 21 | 女 | 计算机2班 |
+--------+--------+------+-------+------------+
StudentInfoManagementSystem/
├── CMakeLists.txt
├── src/
│ ├── main.c
│ ├── student.c
│ └── student.h
├── build/
└── README.md
// student.h
#ifndef STUDENT_H
#define STUDENT_H
typedef struct {
int id;
char name[50];
int age;
char gender[10];
char class_name[50];
} Student;
void add_student(Student students[], int *num_students);
void query_student(Student students[], int num_students);
void modify_student(Student students[], int num_students);
void delete_student(Student students[], int *num_students);
void display_students(Student students[], int num_students);
#endif // STUDENT_H
// student.c
#include <stdio.h>
#include <string.h>
#include "student.h"
void add_student(Student students[], int *num_students) {
printf("请输入学生的学号: ");
scanf("%d", &students[*num_students].id);
printf("请输入学生的姓名: ");
scanf("%s", students[*num_students].name);
printf("请输入学生的年龄: ");
scanf("%d", &students[*num_students].age);
printf("请输入学生的性别: ");
scanf("%s", students[*num_students].gender);
printf("请输入学生的班级: ");
scanf("%s", students[*num_students].class_name);
(*num_students)++;
}
void query_student(Student students[], int num_students) {
int choice;
printf("请选择查询方式:\n");
printf("1. 通过学号查询\n");
printf("2. 通过姓名查询\n");
printf("请输入你的选择: ");
scanf("%d", &choice);
if (choice == 1) {
int id;
printf("请输入学生的学号: ");
scanf("%d", &id);
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
printf("学号: %d, 姓名: %s, 年龄: %d, 性别: %s, 班级: %s\n",
students[i].id, students[i].name, students[i].age, students[i].gender, students[i].class_name);
return;
}
}
printf("未找到该学生信息\n");
} else if (choice == 2) {
char name[50];
printf("请输入学生的姓名: ");
scanf("%s", name);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("学号: %d, 姓名: %s, 年龄: %d, 性别: %s, 班级: %s\n",
students[i].id, students[i].name, students[i].age, students[i].gender, students[i].class_name);
return;
}
}
printf("未找到该学生信息\n");
} else {
printf("无效的选择\n");
}
}
void modify_student(Student students[], int num_students) {
int id;
printf("请输入要修改的学生的学号: ");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
index = i;
break;
}
}
if (index != -1) {
printf("请输入学生的新姓名: ");
scanf("%s", students[index].name);
printf("请输入学生的新年龄: ");
scanf("%d", &students[index].age);
printf("请输入学生的新性别: ");
scanf("%s", students[index].gender);
printf("请输入学生的新班级: ");
scanf("%s", students[index].class_name);
printf("学生信息已更新。\n");
} else {
printf("未找到该学生信息。\n");
}
}
void delete_student(Student students[], int *num_students) {
int id;
printf("请输入要删除的学生的学号: ");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < *num_students; i++) {
if (students[i].id == id) {
index = i;
break;
}
}
if (index != -1) {
for (int i = index; i < (*num_students) - 1; i++) {
students[i] = students[i + 1];
}
(*num_students)--;
printf("学生信息已删除。\n");
} else {
printf("未找到该学生信息。\n");
}
}
void display_students(Student students[], int num_students) {
printf("+--------+--------+------+-------+------------+\n");
printf("| 学号 | 姓名 | 年龄 | 性别 | 班级 |\n");
printf("+--------+--------+------+-------+------------+\n");
for (int i = 0; i < num_students; i++) {
printf("| %-6d | %-6s | %-4d | %-5s | %-10s |\n",
students[i].id, students[i].name, students[i].age, students[i].gender, students[i].class_name);
}
printf("+--------+--------+------+-------+------------+\n");
}
cmake_minimum_required(VERSION 3.10)
# 设置项目名称和版本
project(StudentInfoManagementSystem VERSION 1.0)
# 设置C标准
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED True)
# 添加一个可执行文件
add_executable(StudentInfoManagementSystem src/main.c src/student.c)
# 如果你有其他库文件或者链接的需求,你可以在这里添加
项目的资料及代码已整理打包,有需要可取,也可定制开发,附带GPT提问链接。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。