流程图:运行结果:程序源码:#include #include #include #include #include #define LEN sizeof(struct student)//求字节数运算符 struct student { char name[20]; long int num; char sex[4]; int age; char address[30]; float score; struct student *next;//链表 };//定义一个结构题 int TOTAL_NUM = 0;//学生总数 struct student *head = NULL; void mainmenu ();//主界面 void record (); //记录数据 void insert(struct student *stu); //插入数据 void display(struct student *stu); //显示一个学生的信息 void displayAll (); //显示所有学生的信息 void query(); //查询学生信息 void query_by_num(); //按学号查询学生信息 void query_by_name(); void readData (); //读取文件里学生的信息 void writeData (); //向文件写入学生信息 void freeAll (); //清空链表内容 void del (); //删除学生信息 void change (); //更改学生信息 void sort();//排序 void devise (struct student *p); //选择更改内容 int main (void) { mainmenu (); return 0; } //系统主菜单 void mainmenu () { int choice; choice = -1; readData (); printf ("\t\t\t----------------------------------------------------\n"); printf ("\t\t\t| 欢迎使用通信工程专业学生信息管理系统 |\n"); printf ("\t\t\t----------------------------------------------------\n"); printf ("\t\t\t 本程序需要在当前目录下建立 student.txt 才可正常运行\n"); do { printf ("\n\n\n"); printf ("\t\t\t--------------------------------------------\n"); printf ("\t\t\t 通信工程专业学生信息管理系统 |\n"); printf ("\t\t\t--------------------------------------------\n"); printf ("\t\t\t[1]----录入学生信息 |\n"); printf ("\t\t\t[2]----浏览学生信息 |\n"); printf ("\t\t\t[3]----查询学生信息 |\n"); printf ("\t\t\t[4]----删除学生信息 |\n"); printf ("\t\t\t[5]----修改学生信息 |\n"); printf ("\t\t\t[6]----排序 |\n"); printf ("\t\t\t[0]----退出系统 |\n"); printf ("\t\t\t---------------------------...