C语言实现学生成绩管理系统(单链表实现)很详细容易理解
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Student
{
char name[20];
char num[20];
int chinese;
int math;
int english;
};
struct Node
{
Student data;
Node*next;
};
void menu();
void keyUser();
Node*creatList();
Node*creatNode(Student data);
void insertNode(Node*headNode, Student data);
void printList(Node*headNode);
void deleNode(Node*HeadNode, char*name);
void amendNode(Node*HeadNode, char*name);
void seekScore(Node*HeadNode, char*num);
void saveFromFile(const char*filename, Node*HeadNode);
void readFromFile(const char*filename, Node*HeadNode);
void SortChinese(Node*HeadNode);
void SortMath(Node*HeadNode);
void SortEnglish(Node*HeadNode);
void Sort(Node*HeadNode, int num);
void printList2(Node* HeadNode);
Node*list = NULL;
#include"ScoreAdmin.h";
#define _CRT_SECURE_NO_WARNINGS
void menu()
{
printf("\t\t\t*********************学生成绩管理系统***********************\n");
printf("\t\t\t*\t\t\t1.成绩录入\t\t\t *\n");
printf("\t\t\t*\t\t\t2.成绩删除\t\t\t *\n");
printf("\t\t\t*\t\t\t3.成绩修改\t\t\t *\n");
printf("\t\t\t*\t\t\t4.成绩查询\t\t\t *\n");
printf("\t\t\t*\t\t\t5.信息总览\t\t\t *\n");
printf("\t\t\t*\t\t\t6.退出系统\t\t\t *\n");
printf("\t\t\t*\t\t\t7.学业困难学生\t\t\t *\n");
printf("\t\t\t*\t\t\t8.按学科成绩排序\t\t *\n");
printf("\t\t\t************************************************************\n");
}
void keyUser()
{
int num;
Student data;
scanf_s("%d", &num);
switch (num)
{
case 1:
printf("请输入要添加学生的 姓名 学号 语文成绩 数学成绩 英语成绩\n");
scanf_s("%s%s%d%d%d", data.name, data.num, &data.chinese, &data.math,