数据结构课程设计宿舍管理查询软件.docx

上传人:b****1 文档编号:2461030 上传时间:2023-05-03 格式:DOCX 页数:47 大小:25.41KB
下载 相关 举报
数据结构课程设计宿舍管理查询软件.docx_第1页
第1页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第2页
第2页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第3页
第3页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第4页
第4页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第5页
第5页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第6页
第6页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第7页
第7页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第8页
第8页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第9页
第9页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第10页
第10页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第11页
第11页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第12页
第12页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第13页
第13页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第14页
第14页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第15页
第15页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第16页
第16页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第17页
第17页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第18页
第18页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第19页
第19页 / 共47页
数据结构课程设计宿舍管理查询软件.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据结构课程设计宿舍管理查询软件.docx

《数据结构课程设计宿舍管理查询软件.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计宿舍管理查询软件.docx(47页珍藏版)》请在冰点文库上搜索。

数据结构课程设计宿舍管理查询软件.docx

数据结构课程设计宿舍管理查询软件

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

 

数据构造课程设计

 

宿舍管理查问软件

 

班级学号班

 

学生姓名

提交日期

2015年7月24日

成绩

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

 

计算机与通讯工程学院

 

一、需求剖析

1、程序设计任务

为宿舍管理人员编写一个宿舍管理查问软件。

①程序设计要求:

A.采纳交互工作方式

B.成立数据文件,数据文件按重点字(姓名、学号、房号)进行排序(冒泡、选择、插入

排序等任选一种)

②查问菜单:

(用二分查找实现以下操作)

A.按姓名查问

B.按学号查问

C.按房号查问

③打印任一查问结果(能够连续操作)

2、功能

①要实现交互工作方式,各项操作结束后均应返回主菜单;

②系统本无任何信息数据,要成立数据文件,需开发一个信息录入功能,即第一创立一个学员线性表,同时我们能够将数据临时保留在内存中,因此我们未开发信息存盘功能;

③信息录入后都保留在内存中,用户看不到,需要设计一个信息显示功能,信息的显示应当便于查阅,因此需具备按各样重点字显示的功能;

④本系统按重点字(姓名、学号、房号)进行冒泡排序,采纳二分查找方式分别实现按重点字(姓名、学号、房号)查问功能;

⑤因为有些同学因为不一样原由此离校,因此设计了删除功能;

⑥因为有新同学入校,因此设计了插入功能;

⑦当用户操作完成需要退出时,我们供给了退出选项,便于使用者退出交互式工作系统。

3、功能模块图

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

 

4、流程图

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

 

5、输入和输出

①输入的形式

1)开始创立线性表:

按先后次序输入姓名(20个字之内),学号(整型),房号(整型)。

2)依据用户所选择的操作键,而后再依据程序的相应提示进行输入。

选择操作键1(按姓名排序):

无输入;

选择操作键2(按学号排序):

无输入;

选择操作键3(按房号排序):

无输入;

选择操作键4(按姓名查找):

输入要查找的姓名;

选择操作键5(按学号查找):

输入要查找的学号;

选择操作键6(按房号查找):

输入要查找的房号;

选择操作键7(按学号插入):

依据提示次序输入要插入的学生姓名,学号,房号;选择操作键8(按学号删除):

输入要删除学生的学号。

②输出的形式及范围

依据用户选择的不一样,会有不一样的输出。

选择操作键1(按姓名排序):

输出以姓名首字母排序的全部学生信息;选择操作键2(按学号排序):

输出按学号从小到大摆列的全部学生信息;选择操作键3(按房号排序):

输出按房号从小到大摆列的全部学生信息;

选择操作键4(按姓名查找):

若查找成功,则输出相应学生信息,若不可功,则输出该学生不存在;

选择操作键5(按学号查找):

若查找成功,则输出相应学生信息,若不可功,则输出该学生不存在;

选择操作键6(按房号查找):

若查找成功,则输出相应学生信息,若不可功,则输出该学生不存在。

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

选择操作键7(按学号插入):

输出插入后的全部学生信息;

选择操作键8(按学号删除):

输出所需删除的学生信息,确认删除后,输出删除后

的全部学生信息。

6、测试数据

开始录入的数据:

姓名学号房号

刘备1102

孙权6231

周瑜3124

正确输入:

查找的数据:

6(按学号)

正确输出:

孙权6231

二、详尽设计

1、数据构造

typedefstruct//定义构造体成员

{

charname[20];

intnum;//学号和房号都为整型

introom;

}stu;

stustud;

typedefstruct

{

intlength;//目前长度

stu*elem;//储存空间基址

intlistsize;//目前分派的储存容量

}linklist;

2、数据

intf;

f为全局变量,指选择的操作键数

charname[20];

name为姓名

intnum;

num为学号

introom;

room为房号

intlength;

length为线性表的目前长度

stu*elem;

elem指示线性表的基地点

intlistsize;

listsize为目前分派的储存容量

charc;

c为进入主界面的随意键

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

charch;

ch为判断字符y或n

inti,j;

在冒泡排序中,i为外层循环次数,j为内层循环次数

inti;

在打印学生信息时,i作为循环变量

intm;

intn;

inta;

m,n,a在二分查找中分别代表房号,学号,姓名

inti,j,k;

i,j,k在按学号插入中作为循环变量

inti,j,k=-1;

i,j,k在按学号删除中作为循环变量

3、函数调用

详细函数以下:

voidinit(linklist&l)

用于线性表初始化,经过调用

C语言文件操作函数来实现。

voidcreate(linklist&l)

用于创立学生信息表,经过线性表来实现。

voidsort3(linklist&l)

用于按房号排序,经过采纳冒泡排序的算法来实现。

voidsort2(linklist&l)

用于按学号排序,经过采纳冒泡排序的算法来实现。

voidsort1(linklist&l)

用于按姓名排序,经过采纳冒泡排序的算法来实现。

voidchazhao3(linklist

&l):

用于按房号从小到大查找,

经过采纳二分查找的算法来实现。

voidchazhao2(linklist

&l):

用于按学号从小到大查找,

经过采纳二分查找的算法来实现。

voidchazhao1(linklist

&l):

用于按姓名从小到大查找,

经过采纳二分查找的算法来实现。

voidprint1(linklist&l):

用于打印学生信息,经过调用文件操作函数实现。

voidprint2(linklist&l,intmid):

用于打印查找到的学生信息,经过调用文件查找函

数实现。

intpanduan2(charch):

用于假如学生不存在,判断能否持续查找,经过if语句,文件操

作函数实现

voidpanduan3():

用于假如已无学生记录则返回主界面,经过调用其余函数和文件操作函

数实现。

voiddisp():

用于返回主界面,经过调用menu()函数实现。

voidmenu():

用于列出操作菜单,经过输入输出语句实现。

voidmain():

程序操作的进口,是程序的主函数,能够依据已定义的函数调用子函数。

4、主程序:

intmain()//主函数

{

linklistl;//定义线性表l

init(l);//调用初始化函数

charch;

system("colora");

printf("\n");

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

printf("*************************欢迎进入宿舍管理查询系统

*************************\n");

printf("\n");

printf("请按随意键开始操作:

");

scanf("%c",&ch);

system("cls");//将屏幕先前显示的内容清理掉

create(l);//调用线性表创立函数

system("cls");

t=1;

menu();//调用主菜单函数

 

while(f!

=0)

{

 

system("cls");

switch(f)

{

case1:

sort1(l);//调用按姓名排序函数

printf("\n");

if(l.length==0)

{

printf("已无学生记录\n");

printf("\n");

disp();

menu();

}

else

{

printf("按姓名排序:

\n");

print1(l);

disp();//调用返回主界面

menu();

 

}

break;

case2:

sort2(l);//调用按学号排序函数

printf("\n");

if(l.length==0)

{

printf("已无学生记录\n");

printf("\n");

disp();

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

menu();

}

else

{

printf("按学号排序:

\n");

print1(l);

disp();

menu();

}break;

 

case3:

sort3(l);//调用按房号排序函数

printf("\n");

if(l.length==0)

{

printf("已无学生记录\n");

printf("\n");

disp();

menu();

}

else

{

printf("按房号排序:

\n");

print1(l);

disp();

menu();

}break;

 

case4:

sort1(l);//先调用按姓名排序函数进行排序

chazhao1(l);//再调用按姓名查找函数进行(二分)查找

break;

case5:

sort2(l);//先调用按学号排序函数进行排序

chazhao2(l);//再调用按学号查找函数进行(二分)查找

break;

case6:

sort3(l);//先调用按房号排序函数进行排序

chazhao3(l);//再调用按房号查找函数进行(二分)查找

break;

case7:

sort2(l);//调用插入函数

insert(l);

system("cls");

printf("显示插入后的学生信息:

\n");print1(l);

disp();

menu();

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

break;

case8:

Delete(l);//调用删除函数

 

if(l.length==0)

{

printf("\n");

printf("学生记录已被删除完\n");

printf("\n");

disp();

menu();

}

else

{

printf("显示删除后的学生信息:

\n");

print1(l);

disp();

menu();

}

 

break;

}

}

}

三、调试剖析

①为了防止繁琐、改良算法,在一些函数中调用了其余的函数。

如:

在按(姓名、学号、

房号)查找中都调用了panduan1(ch)和panduan2(ch)函数。

②在插入和删除模块中,显示学生的信息的下边老是有主界面,经过调试,运用

system("cls")函数清屏后,显示的只有学生的信息了,再按键即可返回主界面。

③本程序多次运用了disp()、menu()、system("cls")、fflush(stdin)等函数,经过

多次调试,已经很好的控制了显示的学生信息与主界面的变换。

④经过本次课程设计,对线性表、冒泡排序、二分查找的应用有了更深入的认识。

四、用户手册

第一,运转程序进入“欢迎进入宿舍管理查问系统”界面,而后进入线性表创立界面中,

输入学生的信息,创立勤学生信息此后单击随意键则进入操作界面(主界面),而后可按键

进行操作。

单击数字键“1”,则为按姓名排序单击数字键“2”,则为按学号排序

单击数字键“3”,则为按房号排序单击数字键“4”,则为按姓名查找

单击数字键“5”,则为按学号查找单击数字键“6”,则为按学号查找

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

单击数字键“7”,则为按学号插入单击数字键“8”,则为按学号删除

系统中有以下重点词:

提示:

当输入的数字键为0时,退出操作;

请输入数字键(1~8为操作键);

请按随意键进入主界面。

五、测试结果

(1)欢迎界面

 

(2)按随意键进入线性表的创立界面,并输入数据,开始创立

 

(3)按操作键选择操作

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

 

(4)按姓名排序

 

(5)按学号排序

 

(6)按房号排序

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

 

(7)按姓名查找

 

(8)按学号查找

 

(9)按房号查找

 

(10)按学号插入

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹;哨鸽从天空飞过,留下串串欢韵;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么?

(11)按学号删除

 

六、附录

源程序:

//采纳次序线性表解决宿舍管理问题(C语言)

#include

#include

#include

#defineN40//线性表储存空间的初始分派量

#defineincrease10//线性表储存空间的分派量增量

intf,t=0;//定义全局变量

typedefstruct

{

charname[20];

intnum;//学号和房号都为整型

introom;

}stu;

stustud;

typedefstruct

{

intlength;//目前长度

stu*elem;//储存空间基址

intlistsize;//目前分派的储存容量

}linklist;

voidinit(linklist&l)//线性表初始化

{

l.length=0;

l.elem=(stu*)malloc(N*sizeof(stu));

l.listsize=N;

}

voidmenu()//操作菜单

{

printf("\n");

printf("***************请按键选择操作****************\n");

printf("\n");printf("\n");

 

没有夕阳般的瑰丽,没有流云般的俊逸,但能够有水晶般的纯洁与透明。

没有大山般的雄伟,没有湖水般的柔和,但能够有岩石般的刚毅与庄重。

没有海洋般的浩大,没有瀑布般的飞泻,但能够有泥土般的朴实与平和。

风从水上走过,留下粼粼涟漪;骆驼从荒漠上走过,留下深深的脚迹

;哨鸽从天空飞过,留下串串欢韵

;光阴

从树林穿过,留下圈圈年轮。

啊,朋友,我们从时代的舞台走过,将给社会留下些什么

?

花从春走过,留下

缕缕花香;叶从夏走过,留下片片荫凉;风从秋走过,留下阵阵金浪

;雪从冬走过,留下各种希望。

啊,朋友,

我们从人生的四时走过,将给人生留下些什么

?

printf("

1

按姓名排序

2

按学号排序\n");

printf("\n");

printf("

3

按房号排序

4

按姓名查找\n");

printf("\n");

printf("

5

按学号

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2