数据结构 课程设计

发布 2022-10-01 21:40:28 阅读 9652

10信计2011-2012(一)

设计题目学生管理系统

设计时间 2012.12.31 至 2012.1.6

学生姓名。学生学号。

所在班级。指导教师。

徐州工程学院数学与物理科学学院。

学生管理系统。

一、 需求分析。

1) 课程设计题目:运用数据结构编一c++程序,实现对学生信息的管理,主要包括主控程序、学生档案管理子系统、学生成绩管理子系统、学生宿舍管理子系统。

2) 课程设计的基本要求:设计好算法,使之能顺利实现对学生信息的管理,实用。

3) 课程设计的任务:通过此系统可以实现如下功能:

a) 添加学生信息:包括学生的姓名,学号,班级,宿舍号以及其c++、多**技术、高等数学、大学英语、大学体育等成绩;

b) 删除学生信息:可以根据其姓名、学号、班级、宿舍号和其成绩进行删除;

c) 查询学生信息:可以根据其姓名、学号、班级、宿舍号和其成绩进行查询;

d) 输出所有学生信息:可以显示所有录入到系统中的学生的信息。

4) 软硬件运行环境及开发工具。

本次课程设计主要是在visual c++6.0下做的, visual c++是microsoft公司的功能强大的windows应用程序开发环境。由于visual c++与windows同为microsoft公司的产品,它与windows操作系统的结合将更加紧密。

目前,visual c++是windows平台下开发应用程序最重要的开发环境之一。visual c++既能支持c语言程序,又能c++运行程序,c++程序通常无需修改,或稍作修改,即可在其他计算机系统上运行。

二、 概要设计。

1)、课程设计思想。

学生管理系统是由单链表来完成的,它的主要思想是先将你的具体信息录入到文件中,如果要查询的话就是从文件中读取出来的,然后我的查询是由多种方式来查询的,可以通过姓名,学号,班级,宿舍号或成绩;删除也是通过多种方式实现的,也是根据用户输入的姓名,学号,班级,宿舍号或者成绩;最后还有一个显示所有学生的信息,可以把所有录入的学生信息显示出来。这个系统整个思想就是如此。编程时考虑得还不是很周全,还需要不断完善。

2)、模块设计。

本课题主要分为5个模块,即:

1) void add(clist &stulist)模块,其作用是向系统中添加学生的信息;

2) void display(clist &stulist)模块,其作用是显示所有录入的学生的信息;

3) void lookup(clist &stulist)模块,其作用是按照一定的条件查找学生的信息;

4) void deletes(clist &stulist)模块,其作用是删除满足一定条件的学生的信息。

其流程图如下:

三、 详细设计。

本课题分为六个部分:构造单链表,显示所有学生信息的函数,添加学生信息的函数,查找学生信息的函数,删除学生信息的函数,主函数的设计。

1) 构造单链表。

单链表有连个部分组成,即链表的结点类和链表类,其**如下:

class cnode结点类。

public:

cnode()

cnode(cnode &n);

void inputdata(cdata *pd)

void shownode()

cdata *getdata()

friend class clist;

private:

cdata *pdata;

cnode *pnext;

cnode::cnode(cnode &n拷贝构造函数。

pdata=

pnext=

class clist链表类。

public:

clist()

~clist()

void addnode(cnode *pnode);

void deletelist();

cnode *deletenode(cnode *pnode);

cnode *lookup(cdata &data);

cnode *getlisthead()

void showlist();

cnode *getnext(cnode *pnode);

private:

cnode * phead;

2) 显示所有学生信息的函数。

**如下:void display(clist &stulist)

cout< cout<<"按任意键返回主菜单";

getchar();getchar();

3) 添加学生信息的函数。

**如下:void add(clist &stulist)

cnode *p;

student *s;

char c[17],n[17],nam[17];

double e,cp,m,ce,sm,cg,mar;float **er;

cout<<"请输入姓名(输入0结束):"

while(strcmp(nam,"0"))

cout<<"输入学号:";

cout<<"输入班级:";

cout<<"输入宿舍:";cin>>e;

cout<<"输入c++成绩:";cin>>cp;

cout<<"输入多**技术成绩:";cin>>m;

cout<<"输入大学英语成绩:";cin>>ce;

cout<<"输入高等数学成绩:";cin>>sm;

cout<<"输入大学体育成绩:";cin>>cg;

**er=(cp+m+ce+sm+cg)/5;

s=new student;

s->set(c,n,nam,e,cp,m,ce,sm,cg,mar,**er);

p=new cnode;

p->inputdata(s);

cout<<"记录添加成功。"

4) 查找学生信息的函数。

**如下:void lookup(clist &stulist)

cnode *plook;

char name[17];

cout<<"请输入你要查找的姓名(输入0结束):"

while(strcmp(name,"0"))

student s;

"0","0",name,0,0,0,0,0,0,0,0);

plook=

if(plook)

plook->shownode();

else cout<<"对不起,在学生记录中查找不到"< cout<<"请输入你要查找的姓名(输入0结束):"

5) 删除学生信息的函数。

**如下:void deletes(clist &stulist)

cnode *plook;

char name[17];

cout<<"请输入要删除的记录的学生姓名(输入0结束):"

while(strcmp(name,"0"))

student s;

"0","0",name,0,0,0,0,0,0,0,0);

plook=

if(plook)

plook->shownode();

cout<}

else cout<<"对不起,在学生记录中查找不到"< cout<<"请输入要删除的记录的学生姓名(输入0结束):"

6) 主函数的设计。

**如下:void operate(clist &stulist)

int choice; do

system("cls");

cout《欢迎使用学生管理系统 ";

cout< <1.输出所有学生记录"

<<2.增加学生记录"

<<3.删除学生记录"

<<4.查询学生记录"

<<0.退出"

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...

数据结构课程设计

班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...