学生管理系统(C语言版)
最终效果展示
-
初始登录页面
-
管理员操作页面
-
成绩分析页面
-
所有学生成绩信息的页面
其他功能不再赘述头文件定义:
#ifndef LIST
#define LIST
#define L 50
#include<stdbool.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
//这是用户信息节点
typedef struct message {
char name[20];
char password[20];
} Item2;
//用户信息链表
typedef struct node2 {
Item2 item;
struct node2 * next;
}*List2, Node2;
//学生信息节点
typedef struct data {
char name[L];
char id[L];
int math, en, pe, ch;
int ranking;//总排名
int math_r, en_r, pe_r, ch_r;
}Item;
//学生信息链表
typedef struct node {
Item item;
struct node * next;
}Node, *List;
//开始菜单页面
void begin(void);
//学生菜单页面
void screen_s(void);
//管理员菜单页面
void screen(void);
//排序菜单页面
void sort_screen(void);
//注册函数
bool registe(List2 head2);
//学生链表的创建
List creat(void);
//按照学号删除
void del_id(List head, char n[L]);
//按姓名删除(只删第一个名字相同的学生)
void del_name(List head, char s[]);
//学生尾插
void tail_insert(List head);
//遍历学生信息
void traverse_list(List head);
//返回学生链表的长度
int length(List);
//按学号查找学生(不可使用姓名)
bool serach(List head, char s[]);
//修改学生信息
void revamp(List head, char s[]);
//保存所有学生信息
bool save0(List head);
//读取
bool load0(List head);
//登录超级用户
bool logAdministrator(void);
//普通账户登录
bool login(List2 head2);
//读取普通账户信息
bool load_user(List2 head2);
//用户名查重
bool user_chachong(List2 head2, char s[]);
//id查重
bool id_chachong(List head, char id[]);
//按语文排序
bool sort_ch(List head);
//按数学排序
bool sort_math(List head);
//按英语排序
bool sort_en(List head);
//按体育排序
bool sort_pe(List head);
//按总成绩排序
bool sort_all(List head);
//成绩分析
bool analyze(List head);
//查找已经通过所有科目的学生
bool serach2(List head);
//学生链表逆置
bool reverse(List head);
#endif
其余的代码可在Github上面下载到