1、 数数 据据 结结 构构 课课 程程 设设 计计 设计题目 学生管理系统 设计时间 2012.12.31 至 2012.1.6 学生姓名 学生学号 所在班级 指导教师 成成 绩绩 学生管理系统学生管理系统 一、一、 需求分析需求分析 1) 课程设计题目:运用数据结构编一 C+程序,实现对学生信息的管理,主要 包括主控程序、学生档案管理子系统、学生成绩管理子系统、学生宿舍管理 子系统。 2)课程设计的基本要求:设计好算法,使之能顺利实现对学生信息的管理,实 用。 3)课程设计的任务:通过此系统可以实现如下功能: a) 添加学生信息:包括学生的姓名,学号,班级,宿舍号以及其 C+、多 媒体技术、高
2、等数学、大学英语、大学体育等成绩; b) 删除学生信息:可以根据其姓名、学号、班级、宿舍号和其成绩进行删 除; c) 查询学生信息:可以根据其姓名、学号、班级、宿舍号和其成绩进行查 询; d) 输出所有学生信息:可以显示所有录入到系统中的学生的信息。 4)软硬件运行环境及开发工具 本次课程设计主要是在Visual C+6.0下做的, Visual C+是Microsoft公司的 功能强大的 Windows 应用程序开发环境。由于 Visual C+与 Windows 同为 Microsoft 公司的产品,它与 Windows 操作系统的结合将更加紧密。目前,Visual C+是 Windows
3、 平台下开发应用程序最重要的开发环境之一。Visual C+既能支 持 C 语言程序,又能 C+运行程序,C+程序通常无需修改,或稍作修改,即 可在其他计算机系统上运行。 二、二、 概要设计概要设计 (1)、课程设计思想 学生管理系统是由单链表来完成的, 它的主要思想是先将你的具体信息录入 到文件中,如果要查询的话就是从文件中读取出来的,然后我的查询是由多种方 式来查询的,可以通过姓名,学号,班级,宿舍号或成绩;删除也是通过多种方 式实现的,也是根据用户输入的姓名,学号,班级,宿舍号或者成绩;最后还有 一个显示所有学生的信息,可以把所有录入的学生信息显示出来。这个系统整个 思想就是如此。编程时
4、考虑得还不是很周全,还需要不断完善。 (2) 、模块设计 本课题主要分为 5 个模块,即: (1) void add(CList pnext=0; CNode(CNode void inputdata(CData *pd)pdata=pd; void shownode()pdata-show(); CData *getdata()return pdata; friend class CList; private: CData *pdata; CNode *pnext; ; CNode:CNode(CNode pnext=n.pnext; class CList /链表类 public: CLi
5、st()phead=0; CList()deletelist(); void addnode(CNode *pnode); void deletelist(); CNode *deletenode(CNode *pnode); CNode *lookup(CData CNode *getlisthead()return phead; void showlist(); CNode *getnext(CNode *pnode); private: CNode * phead; ; 2)显示所有学生信息的函数 代码如下: void display(CList coute; coutm; coutsm
6、; coutset(c,n,nam,e,cp,m,ce,sm,cg,mar,aver); p=new CNode; p-inputdata(s); stulist.addnode(p); coutchoice; coutendl; switch(choice) case 1:display(stulist);break; case 2:add(stulist);break; case 3:deletes(stulist);break; case 4:lookup(stulist);break; case 0:storefile(stulist);break; default:cout“输入错误,请重新输入您的选择:“; while(choice!=0); int main() CList stulist