1、;/定义一个结构题 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();vo
2、id 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 (ttt-n);
3、ttt| 欢迎使用通信工程专业学生信息管理系统 |nttt本程序需要在当前目录下建立student.txt才可正常运行n do nnnttt-nttt通信工程专业学生信息管理系统 |nttt1-录入学生信息 |nttt2-浏览学生信息 |nttt3-查询学生信息 |nttt4-删除学生信息 |nttt5-修改学生信息 |nttt6-排序 |nttt0-退出系统 |n请输入您的选择 scanf (%d, &choice); switch (choice) case 0:writeData ();freeAll (); exit (0); case 1:record ();break; case
4、2:displayAll (); case 3:query (); case 4:del (); case 5:change (); case 6:sort (); default:printf (n无效选项! while (choice != 0);/录入学生信息 void record () struct student *p0; p0 = (struct student *)malloc(LEN);ttt请输入学生的姓名:%s,p0-name);ttt请输入学生的学号:%ld,&p0-num);ttt请输入学生的性别:sex);ttt请输入学生的年龄:age);ttt请输入学生的地址:a
5、ddress);ttt请输入学生的成绩:%fscore); insert (p0);ttt该学生的信息为:nttt-nttt姓名t学号tt年龄t性别t地址tt成绩n display (p0);void insert (struct student *stu) struct student *p0, *p1, *p2; p1 = head; p0 = stu; if (head = NULL) head = p0; p0-next = NULL; else while (p0-num p1-num)&(p1-next != NULL) p2 = p1;p1 = p1-next; if (p0-n
6、um num) if (head = p1) p2-next = p0;next = p1; TOTAL_NUM+;void display (struct student *p) ttt%st%ldtt%dt%st%stt%fn, p-name, p-num, p-age, p-sex,p-address, p-/浏览学生信息 void displayAll() struct student *p; printf(ttt学生总数:%dn, TOTAL_NUM); p = head; if (head != NULL) do display(p); p = p- while(p != NULL
7、);void query() -n| 按学号查询 请按 1 |n| 按姓名查询 请按 2 |n| 取消 请按 0 |n+-+n scanf( switch(choice) return;query_by_num();query_by_name();printf( while(choice !/按姓名查询学生信息 void query_by_name() struct student *p1;请输入学生的姓名, name); if(head=NULL) printf(无学生记录n return; p1=head; while(strcmp(name, p1-name) &next!=NULL) p1=p1- if(!strcmp(name, p1-name) display(p1);没有该学生记录 请核对/按学号查询学生信息 void query_by_num () int num;请输入学生的学号无学生记录n wh
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1