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

上传人:b****8 文档编号:9415696 上传时间:2023-05-18 格式:DOCX 页数:19 大小:40.04KB
下载 相关 举报
数据结构课程设计 宿舍管理查询软件doc.docx_第1页
第1页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第2页
第2页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第3页
第3页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第4页
第4页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第5页
第5页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第6页
第6页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第7页
第7页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第8页
第8页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第9页
第9页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第10页
第10页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第11页
第11页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第12页
第12页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第13页
第13页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第14页
第14页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第15页
第15页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第16页
第16页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第17页
第17页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第18页
第18页 / 共19页
数据结构课程设计 宿舍管理查询软件doc.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

 

数据结构

课程设计报告

设计题目:

宿舍管理查询软件

 

学号:

姓名:

指导教师:

专业:

班级:

学年学期:

起止时间:

 

哈尔滨师范大学计算机科学与信息工程学院

 

一.具体任务………………………………………………………………….1

二.软件环境…………………………………………………………………..1

三.算法设计思想及流程图……………………………………………………1

1.算法设计思想……………………………………………………………1

2.流程图……………………………………………………………………1

四.源代码………………………………………………………………………2

五.运行结果……………………………………………………………………9

六.收获及体会………………………………………………………………..10

七.参考文献…………………………………………………………………10

八.教师评价表…………………………………………………………………11

数据结构课程设计报告

一.程序设计题目和具体任务:

题目:

宿舍管理查询软件(限1人完成)

任务:

1)为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:

A.采用交互工作方

B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)

2)查询菜单:

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

A.按姓名查询

B.按学号查询

C.按房号查询

3)打印任一查询结果(可以连续操作)

二.软件环境:

C语言

三.算法设计思想及流程图

1.算法设计思想:

主要有主菜单函数,插入功能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数,插入函数以及查找函数。

在每个区域中会调用不同的函数来实现主要的功能。

在插入功能里调用子菜单函数;在显示信息时调用排序函数先对需要输出的信心进行排序,然后再输出;在查找功能里会调用查找函数来进行查找,包括按照性别,学号,姓名,房间号等查询。

显示“宿舍管理查询系统主菜单”

“信息录入”

输入“学号,姓名,性别,房间号”

是否继续

“信息显示”

输出已录入的学生信息

查找功能子菜单

插入功能子菜单

插入学生信息

分别进行查询

输入“4”返回上一级菜单

输入“3”返回上一级菜单

输入“5”退出

结束

2.流程图:

YN

 

图1宿舍管理查询系统流程图

 

四.源代码:

#include

#include

#include

#include

#include

#defineN20

voidshowheader();

intmenu();

intmenu3();

intmenu5();

//intquanxian();

//voidSavePass();

structstudentshuru();

voiddisplay(structstudent);

voidsort(structstudentstu[N],int);

voidcharu(structstudentstu[N],int);

voidchazhao1(structstudentstu[N],inti);

voidchazhao2(structstudentstu[N],inti);

voidchazhao3(structstudentstu[N],inti);

structstudent

{

intID;

charname[15];

charsex;

introomnum;

floatscore[3];

char*getSex()

{

if(sex=='g')

return"女";

else

return"男";

}

};

voidmain()

{

structstudentstu[N];

intcount=0,m=0,j;

charch,ch1;

intchoice,choice3,choice4;

intuser;

do

{

do

{ch1='n';

choice=menu();

switch(choice)

{

case1:

{

do

{

cout<<"***********学员信息录入********\n";

cout<<"请输入第"<

stu[count]=shuru();

//cout<<"是否继续(y/n)";

fflush(stdin);

ch=getchar();

count++;

}while(ch=='y');

break;

}

case2:

{

cout<<"*******************学员信息显示************\n";

cout<<"\n排序后的信息如下:

\n";

sort(stu,count);

showheader();

for(j=0;j

{

display(stu[j]);

}

break;

}

case3:

//插入功能

{

while(choice3!

=3)

{

choice3=menu3();

if(choice3==1)

{

do

{cout<<"******************学员信息插入***************\n";

charu(stu,count);

count++;

cout<<"是否继续插入?

(y/n)";

fflush(stdin);

ch=getchar();

}while(ch=='y');

}

if(choice3==2)

{

cout<<"\n\n插入学生信息后如下:

\n";

sort(stu,count);

showheader();

for(j=0;j

{

display(stu[j]);

}

}

}

break;

}

case4:

//查找功能

{

while(choice4!

=4)

{

choice4=menu5();

if(choice4==1)

{

chazhao1(stu,count);

}

if(choice4==2)

{

chazhao2(stu,count);

}

if(choice4==3)

{

chazhao3(stu,count);

}

}

break;

}

case5:

//退出

{

cout<<"确认退出?

(y/n)";

fflush(stdin);

ch=getchar();

break;

}

default:

{

cout<<"\a\a警告:

您输入错误,是否重输!

(y/n)";

fflush(stdin);

ch1=getchar();

break;

}

}

}while(ch=='n'||ch1=='y');

{

cout<<"\a\a警告:

您的用户名或密码输入有误!

是否重输?

(y/n)";

}

fflush(stdin);

ch=getchar();

}while(ch=='y');

}

structstudentshuru()

{

structstudentstu;

cout<<"学号:

";

cin>>stu.ID;

cout<<"姓名:

";

cin>>stu.name;

cout<<"性别(g/b):

";

fflush(stdin);

cin>>stu.sex;

cout<<"房间号:

";

cin>>stu.roomnum;

cout<<"是否继续?

(Y/N)"<

returnstu;

}

voiddisplay(structstudentstu)

{

cout<<"\t"<

cout<

cout<

cout<

}

voidsort(structstudentstu[N],inti)

{

intj,k;

structstudenttemp;

for(j=0;j

{

for(k=0;k

{

if((stu[k].ID)>(stu[k+1].ID))

{

temp=stu[k];

stu[k]=stu[k+1];

stu[k+1]=temp;

}

}

}

}

voidcharu(structstudentstu[N],intk)

{

inti,l;

structstudentin;

in=shuru();

for(i=0;i

{

}

for(l=k;l>i;l--)

{

stu[l]=stu[l-1];

}

stu[i]=in;

}

intmenu()

{intchoice;

cout<<"\t\t*************\n\n\t\t\t欢迎进入学生宿舍管理查询系统\n\n\t\t*****************************\n\n";

cout<<"\t\t\t***************主菜单***************\n\n";

cout<<"\t\t\t\t1>学生信息录入\n\n";

cout<<"\t\t\t\t2>学生信息显示\n\n";

cout<<"\t\t\t\t3>插入学生信息\n\n";

cout<<"\t\t\t\t4>查找学生信息\n\n";

cout<<"\t\t\t\t5>退出\n";

cout<<"\n\n请选择功能选项:

";

cin>>choice;

returnchoice;

}

intmenu3()

{cout<<"\t***************这里显示的是插入功能子菜单***************\n\n";

cout<<"\t\t\t\t1、插入学生信息\n\n";

cout<<"\t\t\t\t2、显示插入后的学生信息\n\n";

cout<<"\t\t\t\t3、退出子菜单,返回上一级菜单\n\n";

cout<<"\n\n请选择功能选项:

";

intchoice3;

cin>>choice3;

returnchoice3;

}

voidchazhao1(structstudentstu[N],inti)

{

intselect,j;

charch;

cout<<"\t***********您选择的是按照学号查找:

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

do

{

cout<<"\n\n请输入学号:

";

cin>>select;

for(j=0;j

{

if(select==stu[j].ID)

{

break;

}

}

if(j

{

showheader();

display(stu[j]);

}

else

{

cout<<"你查找的信息不存在\n";

}

fflush(stdin);

ch=getchar();

}while(ch=='y');

}

voidchazhao2(structstudentstu[N],inti)

{

intj;

charname[15];

charch;

cout<<"\t*********您选择的是按照姓名查找:

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

do

{

cout<<"\n\n请输入姓名:

";

cin>>name;

for(j=0;j

{

if(strcmp(name,stu[j].name)==0)

{

break;

}

}

if(j

{

showheader();

display(stu[j]);

}

else

{

cout<<"你查找的信息不存在\n";

}

fflush(stdin);

ch=getchar();

}while(ch=='y');

}

voidchazhao3(structstudentstu[N],inti)

{

intj,room;

charch;

cout<<"\t*******************您选择的是按照房间号查找:

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

do

{

cout<<"\n\n请输入房间号:

";

cin>>room;

for(j=0;j

{

if(room==stu[j].roomnum)

{

break;

}

}

if(j

{

showheader();

display(stu[j]);

}

else

{

cout<<"你查找的信息不存在\n";

}

cout<<"是否继续查找?

(y/n)";

fflush(stdin);

ch=getchar();

}while(ch=='y');

}

intmenu5()

{

cout<<"\t**********这里显示的是查找功能子菜单***********\n\n";

cout<<"\t\t\t\t1、按照学号查找\n\n";

cout<<"\t\t\t\t2、按照姓名查找\n\n";

cout<<"\t\t\t\t3、按照房间号查找\n\n";

cout<<"\t\t\t\t4、退出子菜单,返回上一级菜单\n\n";

cout<<"\n\n请选择功能选项:

";

intchoice4;

cin>>choice4;

returnchoice4;

}

voidshowheader()

{cout<<"\n\n\t************************************\n";

cout<<"\t学号\t姓名\t性别\t房间号\t\n";

cout<<"\t******************************************\n";

}

五.程序运行的结过

图2.主菜单显示

图3.信息录入界面

图4.信息显示界面

图5.查找学生信息界面

六.收获及体会

通过四个星期的时间,我把课程设计给完成了,这是一个坚苦而又漫长的过程。

是啊,读了那么多年的书,课程设计可是第一次。

看着劳动成果,很欣慰!

刚开始,可以说是没有头绪,于是就去图书馆找资料,找到了一些关于程序设计方面的,可是这点小进展远远不够,这只是一个小小的开始。

下一步是上网查,找到了些与我们题目相似的,那时我很高兴,可是那还不是我想要的,于是又上网查到了些有关内容。

通过此次做的程序,我深深的体会到当一名程序员的辛苦和努力。

而且要想做好一个程序,首先要细心。

因为,可能仅仅因为一个逗号一个位置的变化,一个程序就会运行不了。

其次,要耐心,编一个程序不是那么容易的,要有缜密的思想和思考的时间。

最后要恒心,因为是学计算机专业的,所以要认真的尝试每一个程序,并要求把他们做到最好,这就需要拥有一颗永远向上的恒心。

做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们来说,已经很不容易了。

这次的体验为以后的学习计算机的我们增强了信心。

享受劳动成果的滋味实在很美妙啊!

七、参考文献

[1]严蔚敏等,《数据结构》(C语言版)清华大学出版社

[2]苏仕华等,数据结构课程设计,机械工业出版社

[3]电脑资料

 

教师评价表

姓名

李芷萱

学号

2009030096

题目

宿舍管理查询软件

指导教师

黄玉妍

职称

讲师

评语:

该生在设计第4题宿舍管理查询软件课题的这段时间中,我总结出以下几点:

1.在设计程序期间,态度极其认真,学习积极、细心、踏实,能虚心接受指导;同时善于思考,能够举一反三,具有较强与同学沟通能力和沟通技巧,能保质保量地完成我交给她的设计;还表现出强烈的兴趣,深厚的专业基础和良好的专业知识水平.

2.态度端正,出勤率高,不做与课程设计无关的事情,积极思考,认真分析、研究,勤于动手实践。

3.与课题相符,构思巧妙,思路清晰,考虑全面、完整,漏洞少,有创新。

文章条理清楚,语句通顺,叙述准确、科学,不脱题,核心把握准确,论点明确,论据充分,篇幅适当,版面格式符合要求。

4.对所学知识和技术有充分理解并掌握,能融会贯通,充分发挥自己的才能实施设计方案。

积极体温,所提问题新颖,有水平,是深思熟虑后而产生的疑问。

5.从自学能力、知识接受能力、分析问题、解决问题的能力、创新能力、动手能力、写作能力等方面进行衡量。

教师签字

成绩

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

当前位置:首页 > 自然科学 > 生物学

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

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