#include
#include
#include
#include
#define N 10000
void srh_stu();
void sort();
struct student
{
char num[10];//学号
char name[10];//姓名
char code[10];//登录密码
char sex[3];//性别
char depart[10];//系部
char addr[10];//家庭住址
char tel[15];//电话
int age;//年龄
int elec;//选修课
int requ;//必修课
int sum; //总成绩
}stu[N],ts;
struct admin//管理员结构体
{
char num[10];//管理员编号
char code[10];//密码
}adm[N],ta;
struct teacher//教师结构体
{
char num[10];//教师编号
char code[10];//密码
}thr[N],tt;
int ID;//登录号
int i,j;
int len=0;//学生人数
int lent=0;//老师人数
int lena=0;//管理员人数
void save()//保存信息
{
FILE *fp;
if((fp=fopen("student.txt","w"))==NULL)//打开文件
{
printf("文件打开失败!");
exit(0);
}
for(i=0;i
{
fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].num,stu[i].name,stu[i].code,stu[i].sex,stu[i].depart,stu[i].addr,stu[i].tel,stu[i].age,stu[i].elec,stu[i].requ,stu[i].sum );
}
fclose(fp);//关闭文件
if((fp=fopen("teacher.txt","w"))==NULL)//打开教师文件
{
printf("文件打开失败!");
exit(0);
}
for(i=0;i
{
fprintf(fp,"%s\t%s\t\n",thr[i].num,thr[i].code);
}
fclose(fp);//关闭文件
if((fp=fopen("admin.txt","w"))==NULL)//打开管理员文件
{
printf("文件打开失败!");
exit(0);
}
for(i=0;i
{
fprintf(fp,"%s\t%s\t\n",adm[i].num,adm[i].code);
}
fclose(fp);//关闭文件
}
void load()//读取信息
{
FILE *fp;
if((fp=fopen("student.txt","r"))==NULL)//打开文件
{
fopen("student.txt","w");//创建文件
goto loop1;
}
i=0;
while(!feof(fp))//读取文件
{
fscanf(fp,"%s%s%s%s%s%s%s%d%d%d%d",&stu[i].num,&stu[i].name,&stu[i].code,&stu[i].sex,&stu[i].depart,&stu[i].addr,&stu[i].tel,&stu[i].age,&stu[i].elec,&stu[i].requ,&stu[i].sum );
if(!feof(fp))
i++;
}
len=i;//数量
fclose(fp);//关闭文件
loop1: if((fp=fopen("teacher.txt","r"))==NULL)//打开文件
{
fopen("teacher.txt","w");//创建文件
goto loop2;
}
i=0;
w