该代码实现的功能
- 从文件中读取
- 保存在文件中
- 添加学生信息
- 修改学生信息
- 删除学生信息
- 查询
- 排序
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define Print_Search_num puts("班级 姓名 语文 数学 英语 总成绩")
#define Print_Search_Class puts("学号 姓名 语文 数学 英语 总成绩")
#define Print_Search_All puts("班级 学号 姓名 语文 数学 英语 总成绩")
typedef struct Node Node;
struct Score
{
int chinese,math,english,sum;
};
struct Node
{
char name[20],classs[20],number[20];
struct Score score;
struct Node* next;
};
//声明全局变量
struct Node *head,*u,*p,*q;
int flag,n;
int C,M,E;//语文、数学、英语
int Cj,Cy,Mj;//语文数学英语及格人数
int My,Ej,Ey;//语文数学英语优秀人数
char num[20]; //存储学生学号
//welcom 菜单
void Welcome()
{
printf("\t\t ***********************************\n");
printf("\t\t * 欢迎您使用学生信息管理系统 *\n");
printf("\t\t * *\n");
printf("\t\t * 1.读取文件 *\n");
printf("\t\t * *\n");
printf("\t\t * 2.保存文件 *\n");
printf("\t\t * *\n");
printf("\t\t * 3.添加学生成绩 *\n");
printf("\t\t * *\n");
printf("\t\t * 4.修改学生成绩 *\n");
printf("\t\t * *\n");
printf("\t\t * 5.删除学生成绩 *\n");
printf("\t\t * *\n");
printf("\t\t * 6.查询本人成绩 *\n");
printf("\t\t * *\n");
printf("\t\t * 7.查询本班成绩 *\n");
printf("\t\t * *\n");
printf("\t\t * 8.查询全校成绩 *\n");
printf("\t\t * *\n");
printf("\t\t * 9.退出管理系统 *\n");
printf("\t\t * *\n");
printf("\t\t *****************************************\n\n");
printf("\t\t 请输入指令:(1-9) ");
}
//创建链表节点
Node* new_node(Node* p)
{
p = (Node*)malloc(sizeof(Node));
p->next = NULL;
return p;
}
//添加
void Add()
{
u = new_node(u);
printf("\n请输入您要加入的学生的信息:\n");
printf("\n姓名: ");
scanf("%s",u->name);
printf("\n班级: ");
scanf("%s",u->classs);
printf("\n学号: ");
scanf("%s",u->number);
printf("\n请分别输入语文、数学、英语成绩: ");
scanf("%d%d%d",&u->score.chinese,&u->score.math,&u->sc