学生管理系统——基于双向循环链表
基于双向循环链表实现的学生管理系统,包括初始化,插入,删除,查抄,保存,自动按照姓名排序功能,退出并保存功能。 实现思想是将程序的各个部分划分为三个层次。主函数为界面层,即客户端层;其中后缀为Student的一般是某个功能的调度函数,属于逻辑层的内容;在调度函数之下有相应的被调度的函数,也就是相应功能的实现函数,一般后缀名为Node,意思就是这个函数直接操作链表中的结点,可以简单的划分为实现层; 这样分层实现呢有利于代码维护和个功能之间对包含或者重叠功能的直接调用,从而提高代码重用度,而降低代码冗余,并且最低成的实现函数也可以用于别的项目中对双向循环链表的操作。 本次学生管理系统的实现是先用一个初始化文件函数将一些学生信息先存入磁盘中,然后用初始化函数读出到链表中进行各种操作,保存功能和退出功能可以将链表中操作了的内容,也就是内存中的内容写入磁盘中,其中对文件的操作采用二进制读写文件,读写对象为学生结构体。 以下是代码实现: #include<stdio.h> #include<stdlib.h> #include<string.h> #pragma warning (disable:4996) //定义学生信息结点 struct SNode{ char name[50]; char sex; int math; int chinese; int history; };