求大神啊,怎么全是没有定义。。。
#include<stdio.h> #include<conio.h>
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
#define N 50
struct
{
char num[8];
char num[10];
int score[5];
}student[N],stutemp;
void main()
{
int j,n,m;
char number[8],name[10];
printf("\n\t欢迎使用成绩管理系统\n请选择用户身份:\n1->管理员登陆\n2->普通用户登录\n3->退出\n");
scanf("%d",&n);
while(n!=3)
{
if(n==1)Manager();
if(n==1)User();
if(n!=1&&n!=2)printf("\n\n选择错误,请重新输入!");
printf("\n\n请选择登录窗口:\n1->管理员登陆\n2->普通用户登录\n3->退出\n");
scanf("%d",&n);
}
}
void Manager()
{
int j,n,m;
char number[8],name[10];
getchar();
printf("\n\n请选择数据输入方式:\n1->手动输入\n2->文件导入\n");
scanf("%d",&n);
if(n==1)Input_Data();
if(n==2)Up_Data();
Count_Score();
printf("请根据提示选择相应的操作:");
Login_MFace();
scanf("%d",&m);
while(m!=0)
{
switch(m)
{
case 0:return;
case 1:for(j=0;j<i;j++)Printf_Data(j);break;
case 2:Search_Infor();break;
case 3:Sort_Data();break;
case 4:Modify_Data();break;
case 5:Delete_Data();break;
case 6:Insert_Data();break;
case 7:Save_Data();break;
}
Login_MFace();
scanf("%d",&m);
}
return;
}
void Up_Data()
{
FILE*fp;
fp=fopen("d:\score.txt","at+");
for(i=0;i<N;i++)
{
fscanf(fp,"%s%s%d%d%d",student[i].num,student[i].name,&student[i].score[0],&student[i].score[1],&student[i].score[2]);
if(strcmp(student[i].num,"stop")==0)break;
}
fclose(fp);
}
void Count_Score()
{
int n;
for(n=0;n<i;n++)
{student[n].score[3]=student[n].score[0]+student[n].score[1]+student[n].score[2];
(student[n].score[4]=student[n].score[0]+student[n].score[1]+student[n].score[2])/3;
}
}
void Print_Data(int n)
{
printf("学号:%s 姓名:%s 数学%d 英语%d 总成绩%d 平均成绩%d\n",student[n].num,student[n].name,student[n].score[0],student[n].score[1],student[n].score[2],student[n].score[3],student[n].score[4]);
}
void Search_Infor()
{
int m,j;
char number[8],name[10];
int Search_Num(char number[8]);
int Search_Name(char name[20]);
printf("\n1->按学号查询\n2->按姓名查询\n请根据提示选择:");
scanf("%d",&m);
if(m==1){printf("\n请输入待查询的学生的学号:");scanf("%s",number);j=Search_Num(number);}
if(m==2){printf("\n请输入待查询的学生的姓名:");scanf("%s",name);j=Search_Name(name);}
if(j<i) Print_Data(j);
else printf(\n您输入错误");
}
int Search_Num(char number[8])
{
int n;
for(n=0;n<i;n++)
if(strcmp(student[n].num,number)==0)break;
return n;
}
void Sort_Data()
{
int p,q,temp,j;
printf("\n0->按数学成绩\n1->按语文成绩\n2->按英语成绩\n3->按平均成绩\n4->按总分\n请选择成绩由低到高的排序方式:");
scanf(%d",&j);
for(p=0;p<i-1;p++)
for(q=p+1;q<i;q++)
if(stuudent[p].score[j]>student[q].score[j])
{stutemp=stuudent[p];stuudent[p]=stuudent[q];stuudent[q]=stutemp;}
for(p=0;p<i;p++)
Print_Data(p);
}
void Delete_Data()
{
int n,j;
char choice,number[8];
printf("\n请输入待删除的学生学号:\n");
scanf("%s",number);
j=Search_Num(number);
getchar();
printf("确认删除?Y或N:");
scanf("%c",&choice);
if(choice=='Y'||choice=='y')
{
if(j==i-1)strcpy(student[j].num,"stop");
for(n=j;n<i;n++)
student[n]=student[n+1];
i--;
print("\n删除成功,请选择其他操作");
}
else return;
}
void Modify_Data()
{
int n,j;
char number[8];
printf("\n请输入待修改的学生学号:\n");
scanf("%s",number);
j=Search_Num(number);
printf("1->修改姓名\n2->修改数学成绩\n->修改语文成绩\n4->修改英语成绩\n请选择您要修改的内容:");
scanf(%d",&n);
switch(n)
{
case 1:printf("请输入新的学生姓名:"),scanf("%s",student[j].name);break;
case 2:printf("请输入新数学成绩:"),scanf("%d",&student[j].score[0]);break;
case 3:printf("请输入新语文成绩:"),scanf("%d",&student[j].score[1]);break;
case 4:printf("请输入新英语成绩:"),scanf("%d",&student[j].score[2]);break;
}
printf("\n修改成功,请选择其他操作\n");
}
void Save_Data()
{
FILE*fp;
int n;
fp=fopen("d:\score1.txt","wt+");
for(n=0;n<i;n++)
fprintf(fp,"%s%s%d%d%d\n",student[n].num,student[n].name,&student[n].score[0],&student[n].score[1],&student[n].score[2]);
fprintf(fp,"%s","stop");
fclose(fp);
}