C语言实现学生信息管理系统(多文件)攻略
1. 项目概述
该项目是一个基于C语言的学生信息管理系统,实现了学生的增删改查等功能,使用了多文件的方式组织代码,提高了代码的可维护性。
2. 实现步骤
2.1 文件结构
首先建立项目文件夹,并在文件夹中创建如下的文件:
main.c
:包含主函数和系统的核心功能代码;student.c
:包含学生信息相关的实现代码;student.h
:包含学生信息相关的函数声明。
2.2 编写student.h文件
在 student.h
中声明学生信息相关的函数,例如:
#ifndef _STUDENT_H
#define _STUDENT_H
struct Student {
int id;
char name[20];
int age;
char sex[5];
};
extern struct Student students[100];
extern int count;
void addStudent(struct Student stu);
void modifyStudent(int id, struct Student new_stu);
void deleteStudent(int id);
struct Student queryStudent(int id);
#endif
2.3 编写student.c文件
在 student.c
中实现学生信息相关的函数,例如:
#include "student.h"
#include <stdio.h>
struct Student students[100];
int count = 0;
void addStudent(struct Student stu) {
students[count++] = stu;
}
void modifyStudent(int id, struct Student new_stu) {
for (int i = 0; i < count; i++) {
if (students[i].id == id) {
students[i] = new_stu;
return;
}
}
printf("未找到ID为 %d 的学生\n", id);
}
void deleteStudent(int id) {
for (int i = 0; i < count; i++) {
if (students[i].id == id) {
for (int j = i + 1; j < count; j++) {
students[j - 1] = students[j];
}
count--;
return;
}
}
printf("未找到ID为 %d 的学生\n", id);
}
struct Student queryStudent(int id) {
for (int i = 0; i < count; i++) {
if (students[i].id == id) {
return students[i];
}
}
printf("未找到ID为 %d 的学生\n", id);
struct Student null_stu = {0, "", 0, ""};
return null_stu;
}
2.4 编写main.c文件
在 main.c
中实现主函数和系统的核心功能,例如:
#include <stdio.h>
#include "student.h"
void printMenu() {
printf("\n");
printf("1. 添加学生信息\n");
printf("2. 修改学生信息\n");
printf("3. 删除学生信息\n");
printf("4. 查询学生信息\n");
printf("0. 退出\n");
printf("\n");
}
void addStudentInfo() {
struct Student stu;
printf("请输入学号:");
scanf("%d", &stu.id);
printf("请输入姓名:");
scanf("%s", stu.name);
printf("请输入年龄:");
scanf("%d", &stu.age);
printf("请输入性别:");
scanf("%s", stu.sex);
addStudent(stu);
printf("学生信息添加成功\n");
}
int main() {
int choice = -1;
while (choice != 0) {
printMenu();
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1: addStudentInfo(); break;
case 2: /* 修改学生信息 */ break;
case 3: /* 删除学生信息 */ break;
case 4: /* 查询学生信息 */ break;
case 0: printf("退出系统\n"); break;
default: printf("无效的选择\n"); break;
}
}
return 0;
}
3. 示例说明
3.1 示例一
需求: 添加学生信息。
步骤:
- 用户输入学生信息;
- 调用
addStudent()
函数添加学生信息; - 显示添加成功消息。
演示:
请输入学号:1001
请输入姓名:张三
请输入年龄:18
请输入性别:男
学生信息添加成功
3.2 示例二
需求: 查询学生信息。
步骤:
- 用户输入要查询的学生ID;
- 调用
queryStudent()
函数查询学生信息; - 显示查询结果。
演示:
请输入要查询的学生ID:1001
学号:1001
姓名:张三
年龄:18
性别:男
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现学生信息管理系统(多文件) - Python技术站