#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define A 40
int e=0;
int y=0;
int r=0;/*全局变量r代表学生数*/
void jiemian2();
void jiemian();
struct student
{
char name[50];
char sex;
int num;
int age;
int math;
int C;
double ave;
int n;
}stu[A];
void finput()/*输入数据*/
{
FILE *fp;/*建立一个二进制文件*/
int i,k,j;
fp=fopen("y.dat","wb");/*打开只写文件*/
k=r;
jiemian2();
e++;
scanf("%d",&r);/*输入数据组数*/
system("cls");
for(i=0;i<r;i++)
{
loop:
e=1;
system("cls");
jiemian2();
scanf("%d",&stu[i].num);
system("cls");
if(stu[i].num<1000||stu[i].num>9999)/*判断学号输入是否正确*/
{
e=2;
system("cls");
jiemian2();
system("pause");
goto loop;
}
for(j=0;j<k;j++)/*查找重复输入的学号*/
{
if(j!=i)
{
if(stu[j].num==stu[i].num)
{
e=3;
system("cls");
jiemian2();
system("pause");
goto loop;
}
}
}
e=4;
jiemian2();
scanf("%s %c%d%d%d",stu[i].name,&stu[i].sex,&stu[i].age,&stu[i].C,&stu[i].math);
system("cls");
stu[i].ave=(stu[i].C+stu[i].math)/2.0;
stu[i].n=i;
fwrite(&stu[i],sizeof(struct student),1,fp);/*边输入边保存*/
}
e=0;
fclose(fp);
system("pause");/*按任意键继续*/
system("cls");/*清屏*/
}
int loading()/*初始化全局变量r*/
{
int i = 0;
char y;
FILE *fp;
fp=fopen("y.dat","rb");
if ( fp == NULL)
{
printf("cannot open this file\n");
printf("你要创建一个文件吗?(y/n)\n");
scanf("%c",&y);
if(y=='y')
fopen("fstu","wb");
}
else
{
r = 0;
while (fread(&stu[i],sizeof(struct student),1,fp))/*读取出学生数*/
{
i++;
r++;
}
}
fclose(fp);
return i;
}
void foutput()/*输出数据*/
{
y=1;
FILE *fp;
int i;
fp=fopen("y.dat","rb");/*读取文件*/
jiemian();
y=0;
fclose(fp);
system("pause");
system("cls");
}
void jiemian()/*主界面*/
{
int i,j,k;
for(j=0;j<20;j++)
{
if(j==0)
{
for(i=0;i<40;i++)
{
if(i==0)
{
printf("┏");
}
else if(i==39)
{
printf("┓");
}
else
{
printf("━");
}
}
}
else if(j==1)
{
printf("┃");
for(k=0;k<26;k++)
{
printf(" ");
}
printf("欢迎进入学生信息管理系统");
for(i=0;i<26;i++)
{
printf(" ");
}
printf("┃");
}
else if(j==2)
{
printf("┣");
for(k=0;k<38;k++)