学生信息管理系统数据结构课程设计.docx

上传人:b****5 文档编号:5786143 上传时间:2023-01-01 格式:DOCX 页数:14 大小:105.20KB
下载 相关 举报
学生信息管理系统数据结构课程设计.docx_第1页
第1页 / 共14页
学生信息管理系统数据结构课程设计.docx_第2页
第2页 / 共14页
学生信息管理系统数据结构课程设计.docx_第3页
第3页 / 共14页
学生信息管理系统数据结构课程设计.docx_第4页
第4页 / 共14页
学生信息管理系统数据结构课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

学生信息管理系统数据结构课程设计.docx

《学生信息管理系统数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数据结构课程设计.docx(14页珍藏版)》请在冰豆网上搜索。

学生信息管理系统数据结构课程设计.docx

学生信息管理系统数据结构课程设计

华中科技大学文华学院

 

数据结构

课程设计报告

 

题目:

学生信息管理系统

专业:

计算机应用与技术

学号:

姓名:

指导老师:

时间:

一、总体框架图

1、题目:

学生信息管理系统

2、设计内容及要求:

内容:

完成简单的学生信息管理系统

要求:

(1)学生信息包括:

学号、姓名、数学成绩、英语成绩、数构成绩;

(2)用链表存放学生信息;

(3)实现简单的菜单调用;

(4)程序的功能包括:

学生信息链表的建立;

学生信息的显示;

学生信息的查询;

学生信息的删除;

学生信息的插入;

编写算法,以实现基本要求。

二、本程序用到的基本操作

():

操作结果:

构造一个空的线性表L。

()

初始条件:

线性表已存在。

操作结果:

销毁线性表。

()

初始条件:

线性表L已存在,

操作结果:

在L中第i个位置之前插入新的数据元素e。

L的长度加1.

()

初始条件:

线性表L已存在且非空

操作结果:

删除L的第i个数据元素,并用e返回其值,L的长度减1.

}

三、模块设计

模块一:

头文件,变量定义,函数的声明对系统所使用的变量进行定义,

对函数进行声明

模块二:

结构体的建立,定义学生的学号,名字,和各成绩

 模块三:

学生信息系统使用菜单声明函数(),对整个系统进行明

模块四:

链表的建立,用()来建立链表

模块五:

显示学生信息,声明()显示学生的信息

模块六:

学生信息的查找声明()为查找函数,通过(a)

设定用学号查找,用姓名查找两个分支

模块七:

删除学生信息通过()实现学生信息的删除,

确定要删除的信息,再删除掉。

模块七:

插入学生信息,通过()为插入函数,通过(a)插入到指定学生的后面。

模块八:

学生信息按学号排序声明()将录入学生系按升序排列,

用的是“冒泡排序法”实现排序

四、系统设计流程图

五、源代码

""

""

""

2

{

;学号

[20];姓名

高数

英语

数据结构

*;

};

*;

;链表的长度

()

{

*p1,*p2;

0;

0;

p1=(*)(());

p1->1;

()

1;

("请输入学生的学号、姓名、高数、英语、数据结构:

\n");

(<=3)

{

p2=(*)(());

(""2->2->2->2->2->);输入学生信息

(p2->0)

{

("链表创建完成!

\n");

;

}

;链表的长度

p1->2;

p2->;

p11->;

;

}

;

 

}

()

{

*>;

("链表中所有的学生信息如下:

\n");

()

{

("\n">>>>>);

>;

}

;

}

()

{

;

*>;

("需要查找的学生学号为:

");

("");

()

{

(>)

{

("学号为的学生的信息如下:

\n");

("\n">>>>>);

;

}

>;

}

()

("无此记录!

\n");

;

}

1()

{

[20];

*>;

("需要查找的学生姓名为:

");

("");

()

{

(!

((>)))

{

("姓名为的学生的信息如下:

\n");

("\n">>>>>);

;

}

>;

}

()

("无此记录!

\n");

;

}

()

{

;

*p,*q;

;

("请输入你要插入位置:

");

("");

(>)

{

("找不到要插入的位置\n");

;

}

{

("请输入你要插入的学生的学号、姓名、高数、英语、数据结构:

\n");

(*)(());

("">>>>>);

()

{

(>>)

{

("该学号已经存在,无法插入!

\n");

;

}

>;

}

;

(0<)

>;

>>;

>;

;

("插入成功!

\n");

;

}

}

()

{

;

*p,*q;

>;

("请输入要删除的学生的学号:

\n");

("");

()

{

(>)

{

>>;

(p);

;

("删除成功!

\n");

;

}

>;

>;

}

()

{

("找不到要删除的编号!

\n");

;

}

}

()

{

("\n");

("|学生信息管理系统|\n");

("|0、退出系统|\n");

("|1、建立链表|\n");

("|2、显示链表|\n");

("|3、查找链表中的某个学生信息|\n");

("|4、删除链表中指定学号的学生|\n");

("|5、指定的位置上插入一个学生|\n");

("\n");

;

}

()

{

a;

();

;

(1)

{

("请选择相应的功能:

");

("");

(a)

{

0:

0;

1:

();

();

;

2:

()

{

();

();

}

{

("链表为空,请先建立链表!

\n");

();

}

;

3:

()

{

("请选择是按学号查找还是按姓名查找,若是学号就按7,姓名按8\n");

("");

(7)

{

();

}

{

1();

}

();

}

{

("链表为空,请先建立链表!

\n");

();

}

;

4:

()

{

();

();

}

{

("链表为空,请先建立链表!

\n");

();

}

;

5:

()

{

();

();

}

{

("链表为空,请先建立链表!

\n");

();

}

;

:

;

}

}

("");

0;

}

 

六、程序结果

建立链表

显示链表

查询学生信息

按学号查

按姓名查

删除信息

插入信息

退出系统

七、心得体会

这次的《学生信息管理系统》的设计中,使我懂得课堂上的知识,必须要通过实践操作才能掌握。

在练习中,遇到一些问题,需要具体分析,具体操作,不断调试。

在这过程中,遇到过很多问题。

刚建立链表时,总是出错,经过不断地调试后来解决了。

通过这次的设计,我发现了自身知识的欠缺,上机操作的经验不足,以及粗心。

比如,一些错误不知道怎么改,后来同学讨论后才调试成功,还有字符串的比较都不熟,有时掉了地址符等等。

虽然有很多欠缺,但在这过程中我也受益良多,感觉自己对程序的处理越来越清晰。

在调试过程中,我发现有时一个小小的错误也会给程序带来很大的麻烦,所以以后应该更加细心,多多操作,积累经验。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1