C语言下简单的学籍管理系统源代码
#include
#include
#include
#include
#include
#define N 10000
void window();
typedef struct student
{
char ID[10];
char name[20];
char sex;
float score[5];
float total;
float ag;
} STU;
FILE *fp;
STU stu[N];
STU stu1[N];
void tj(int i)
{
int j,k,m=0,flag=0,n=0,flag1;
printf("请输入第%d个学生信息\n",i+1);
do
{
flag=0;
printf("请输入学生学号(学号小于9位数字组成)\n");
scanf("%s",&stu[i].ID);
for(k=i-1; k>=0; k--)
if(strcmp(stu[k].ID,stu[i].ID)==0)
{
printf("输入错误,请重新输入\n");
flag=1;
break;
}
if(strlen(stu[i].ID)>8)
{
printf("输入错误,请重新输入\n");
flag=1;
}
for(k=0; k
if(strcmp(stu1[k].ID,stu[i].ID)==0)
{
printf("输入错误,请重新输入\n");
flag=1;
break;
}
}
while(flag);
do
{
flag=0;
printf("请输入学生姓名\n");
scanf("%s",stu[i].name);
}
while(flag);
do
{
getchar();
printf("请输入学生性别(f或m f代表女性 m代表男性)\n");
scanf("%c",&stu[i].sex);
if((stu[i].sex)!='f'&&(stu[i].sex)!='m')
{
printf("输入错误,请重新输入\n");
flag=1;
}
else flag=0;
}
while(flag);
printf("请输入五门课成绩(输入成绩无顺序,成绩0~100)\n");
printf("每次只输入一门\n");
stu[i].total=0;
for(j=0; j<5; j++)
{
do
{
printf("输入第%d科",j+1);
scanf("%f",&stu[i].score[j]);
if(stu[i].score[j]<0.0||stu[i].score[j]>100.0)
{
flag1=1;
printf("第%d科成绩输入错误,请重新输入\n",j+1);
}
else
flag1=0;
stu[i].total=stu[i].total+stu[i].score[j];
}
while(flag1);
stu[i].ag=stu[i].total/5;
}
}
void add()
{
int i=0,j,n=0,be;
cha