这个C语言的程序函数错误在哪?
#include "student.h"int stunum=0;
STUDENT *record=NULL;
int savedtag=0;
int arraysize;
char*subject[]={"数据结构","C语言","操作系统","数据库","计算机组成原理"};
void main()
{
record=(STUDENT*)malloc(sizeof(STUDENT)*INITIAL_SIZE);
if(record==NULL)
{printf("分配存储空间失败!");
exit(-1);
}
arraysize=INITIAL_SIZE;
printf("\n");
printf("\t这是一个学生成绩管理系统,可以对成绩进行管理。\n");
printf("\t欢迎使用该管理系统!\n");
printf("\n");
menu_handle();
}
void menu_handle (void)
{for(;;)
switch(menu_select())
{case0:addrecord();
break;
case1:modifyrecord();
break;
case2:displayrecord();
break;
case3:queryrecord();
break;
case4:removerecord();
break;
case5:sortrecord();
break;
case6:saverecord();
break;
case7:loadrecord();
break;
case8:newrecord();
break;
case9:quit();
break;
}
}
int menu_select(void)
{int s;
printf("\n");
printf("\t0:增加学生信息。 \n");
printf("\t1:修改学生信息。 \n");
printf("\t2:显示学生信息。 \n");
printf("\t3:查询学生信息。 \n");
printf("\t4:删除学生信息。 \n");
printf("\t5:排序学生信息。 \n");
printf("\t6:保存学生信息。 \n");
printf("\t7:读取学生信息。 \n");
printf("\t8:新建学生信息。 \n");
printf("\t9:结束程序运行。 \n");
printf("\t 请选择对应功能的数字:0-9。\n");
scanf("%d",&s);
if(s<0||s>9) printf("\n 选择错误,请重新选择!");
return s;
}
void newrecord(void)
{char str[5];
if(stunum!=0)
if(savedtag==1)
{printf("现在已有记录,是否保存已有记录?(Y/N)\n");
gets(str);
if(str[0]!=`n`)
saverecord();
}
void quit(void)
{char str[5];
if(savedtag==1)
{printf("是否要保存现有记录? (Y/N)");
gets(str);
if(str[0]!=`N`||str[0]!=`n`) saverecord();
}
exit(0);
}
}
追问:不明白!那你修改后复制下完整答案来好吗》?