#include
#include
#include
#define num 50
int count=0;
int i=0,j;
struct student
{
char no[10];
char name[20];
char age[10];
int score;
}stu[1000];
void input()
{
printf("请输入记入条数:");
scanf("%d",&j);
printf("学号\t姓名\t年龄\t成绩\n");
for(i=count;i.no,&stu.name,&stu.age,&stu.score);
count+=j;
return;
}
void watch()//浏览函数
{
printf("学号\t姓名\t年龄\t成绩\n");
for(int i=0;i.no,stu.name,stu.age,stu.score);
}
void look()//数据查询
{
int x,y=0,z;
char code[10];
printf("请输入查询方式 1-学号 2-姓名");
e:scanf("%d",&z);
switch(z)
{
case 1:
printf("输入学号:");
scanf("%s",&code);printf("学号\t姓名\t年龄\t成绩\n");
for(i=0;i.no,code);
switch(x)
{ case 0:
printf("%s\t%s\t%s\t%d\n",stu.no,stu.name,stu.age,stu.score);
y=1;break;
}
}
if(y=1)
printf("查询完毕!\n");
else printf("查无此讯息!!");
break;
case 2:
printf("输入姓名:");
scanf("%s",&code);printf("学号\t姓名\t年龄\t成绩\n");
for(i=0;i.name,code);
switch(x)
{ case 0:
printf("%s\t%s\t%s\t%d\n",stu.no,stu.name,stu.age,stu.score);
}
}
if(y=1)
printf("查询完毕!\n");
else printf("查无此讯息!!");
break;
default:printf("\n输入无效,请确认后再次输入:");
goto e;
}
}
void sta()//数据统计
{
int sum=0,x,y,z,w;
printf("请统计要求(1-总分 2-平均分 3-分数段):");
scanf("%d",&z);
switch(z)
{
case 1:for(i=0;i.score;
printf("总分为:%d",sum);break;
case 2:for(i=0;i.score;
w=sum/count;
printf("平均分为:%d",w);break;
case 3: printf("输入始末分数:\n");
scanf("%d%d",&x,&y);
printf("学号\t姓名\t年龄\t成绩\n");
for(i=0;i.score>=x&&stu.score<=y)
printf("%s\t%s\t%s\t%d\n",stu.no,stu.name,stu.age,stu.score);
}break;
default:printf("无效输入!!\n");
}
}
void row()
{
struct student a=stu[0];
printf("学号\t姓名\t年龄\t成绩\n");
for(i=0;i.score;
stu=a;
}
}
for(i=0;i.no,stu.name,stu.age,stu.score);
}
void open(void)//数据预读函数
{
FILE *fp;
if((fp=fopen("stuGrade","r+b"))==NULL)
{
printf("无法打开文件!\n");
exit(1);
}
fread(&count,sizeof(int),1,fp);
for(int i=0;i,sizeof(struct student),1,fp);
if(ferror(fp))
printf("\n读入文件时发生错误!\n");
}
fclose(fp);
}
void save(void)//保存
{
FILE *fp;
if((fp=fopen("stuGrade","r+b"))==NULL)
{
printf("无法打开文件!");
exit(1);
}
fwrite(&count,sizeof(int),1,fp);
for(int i=0;i,sizeof(struct student),1,fp);
if(ferror(fp))
printf("\n写入文件时发生错误!\n");
}
fclose(fp);
printf("\n保存完毕!\n");
}
void mod(void)//修改
{
int match,i,flag=0;
char code[10];
printf("输入学号:");
scanf("%s",&code);
for(i=0;i.no,code);
if(match==0)
{
printf("学号\t姓名\t年龄\t成绩\n");
printf("%s\t%s\t%s\t%d\n",stu.no,stu.name,stu.age,stu.score);
flag=1;
break;
}
}
if(flag)
{
printf("\n请输入新的学生信息:\n");
printf("学号\t姓名\t年龄\t成绩\n");
scanf("%s\t%s\t%s\t%d\n",stu.no,stu.name,stu.age,&stu.score);
}
else
printf("无此学号!\n");
}
void del(void)//删除
{
int match,i,flag=0;
char code[10],ch;
printf("输入学号:");
scanf("%s",&code);
for(i=0;i.no,code);
if(match==0)
{
printf("学号\t姓名\t年龄\t成绩\n");
printf("%s\t%s\t%s\t%d\n",stu.no,stu.name,stu.age,stu.score);
flag=1;
break;
}
}
if(flag)
{
printf("是否删除此记录(y/n):");
scanf(" %c",&ch);
if(ch==';Y';||ch==';y';)
{
for(int j=i;j |