这个程序设计调了好久,还是有错!郁闷!而且不知道为什么错了?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TITLE "教学信息管理系统" //标题文字
#define MAX 10
#define MENU_MAiN_COUNT 7//主菜单的选项个数
#define MENU_SEARCH_COUNT 3//查询子菜单的选项个数
#define MENU_PAIXU_COUNT 3//排序的选项个数
typedef struct teacher
{ int num;// 职工号
char name[MAX];// 姓名
char workname[MAX];// 职称
char sex[MAX];// 性别
struct
{ char clasname[MAX]; //课程名称
int time ; //开课学期
char xingzhi[MAX]; //课程性质(学位与非学位课)
char xiaoguo[MAX];//教学效果
}clas[3]; //3门主讲课程
int fenshu; //教学效果综合评分
struct teacher *next;//指向下一个教师的指针
}tea;
tea* head=NULL;
void input_record();//输入教师记录的处理
void show_record();//显示教师记录的处理
void search_record();//查询教师记录的处理
void paixu_record();//排序教师记录的处理
void charu_record();//插入教师记录的处理
void save_to_file();//保存到文件的处理
void exit_system();//退出
void search_by_name();//通过姓名检索教师的处理
void search_by_clas();//通过课程检索教师的处理
void search_exit();//退出子菜单
void paixu_by_num();//通过职工号对教师排序的处理
void paixu_by_fengshu();//通过教学效果综合评分对教师排序的处理
void paixu_exit();//退出子菜单
void create_teacher_by_input(tea*p);//通过输入为teacher赋值
tea* get_last_teacher(tea*p);//找到最后一个教师的记录
void clear_record(tea*p);//清空所有记录
void print_menu_main();//显示主菜单
void print_menu_title(char*title);//显示菜单的标题
void print_table_head();//显示教师记录的表格的头部
void print_table_row(tea *p);//显示一条教师记录
void print_table_buttom();//显示教师记
char menu_main[]=
"|\n"
"| 1 输入教师信息\n"
"| 2 显示教师信息\n"
"| 3 查找教师信息\n"
"| 4 排序教师信息\n"
"| 5 插入教师信息\n"
"| 6 保存文件\n"
"| 7 退出系统\n"
"|\n";
void (* menu_main_func[])()=
{
input_record,
show_record,
search_record,
paixu_record,
charu_record,
save_to_file,
exit_system
};
char menu_search[]=
"|\n"
"| 1 按姓名查询教师信息\n"
"| 2 按课程查询教师信息\n"
"| 3 返回上级菜单\n"
"|\n";
void (* menu_search_func[])()=
{ search_by_name,
search_by_clas,
search_exit
};
char menu_paixu[]=
"|\n"
"| 1 按职工号排序\n"
"| 2 按教学效果综合评分排序\n"
"| 3 返回上级菜单\n"
"|\n";
void (*menu_paixu_func[])()=
{
paixu_by_num ,
paixu_by_fengshu,
paixu_exit
};