数据结构课程设计报告考生报名管理系统.docx

上传人:b****2 文档编号:558929 上传时间:2023-04-29 格式:DOCX 页数:16 大小:170.83KB
下载 相关 举报
数据结构课程设计报告考生报名管理系统.docx_第1页
第1页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第2页
第2页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第3页
第3页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第4页
第4页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第5页
第5页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第6页
第6页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第7页
第7页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第8页
第8页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第9页
第9页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第10页
第10页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第11页
第11页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第12页
第12页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第13页
第13页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第14页
第14页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第15页
第15页 / 共16页
数据结构课程设计报告考生报名管理系统.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据结构课程设计报告考生报名管理系统.docx

《数据结构课程设计报告考生报名管理系统.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告考生报名管理系统.docx(16页珍藏版)》请在冰点文库上搜索。

数据结构课程设计报告考生报名管理系统.docx

数据结构课程设计报告考生报名管理系统

 

课程设计报告

 

课程设计名称:

数据构造

系:

三系

学生XX:

班级:

学号:

成绩:

指导教师:

开课时间:

2011-2012学年1学期

 

一.设计题目

考生报名管理系统〔线性表、查找、排序〕

考生报名管理系统的设计主要是实现对考生报考相应类别考试的管理和相关操作。

根本功能如下:

〔1〕考试报考息录入、添加功能:

包括考生的考号、XX、性别、年龄、籍贯、考试类别等信息。

〔2〕报考信息查询:

可以按考生的考号查询某个考生的报考信息。

〔3〕报考信息排序:

按考生的考号排序或按考试类别排序。

〔4〕考生报考信息的修改或删除:

按考生考号修改或删除某个考生的相关信息。

〔5〕统计功能:

分别统计系统中共有多少人报名、每个考生的报考种类的数量、每种考试类别的考生数量等。

二.主要容

程序主要分为三局部:

1.KSBM.h头文件,2.KSBM.cpp各种实现功能函数,3.KSBM_M.cpp主函数。

程序的功能:

1.数据的录入与添加LinkList*InsetList(LinkList*&p)

2人数统计intListLength(LinkList*p)

3.信息查询voidFindElem(LinkList*p)

4.考生排序voidSortList(LinkList*&p)

5.考生信息修改LinkList*ReList(LinkList*&p)

6.删除考生LinkList*DelList(LinkList*&p)

7.输出考生信息表voidDispList(LinkList*p)

三.课题设计的根本思想,原理和算法描述

 

 

录入采用链表的尾插法;人数统计即利用链表长度求出;信息查询即匹配关键字循环一次链表,匹配成功就输出;修改似于查询,对链表有改动,最后返回链表完成修改;删除考生对应节点的指针移动,并释放节点。

四.源程序及注释

1.头文件

KSBM.H头文件================================================================

typedefstruct{

charKH[12];//考生考号

charXM[12];//考生XX

charXB[4];//性别

charNL[4];//年龄

charJG[20];//籍贯

charKSLB[10];//考试类别

}DataType;

typedefstructLNode

{

DataTypedata;

structLNode*next;

}LinkList;

externLinkList*InsetList(LinkList*&p);//1

externintListLength(LinkList*p);//2

externvoidFindElem(LinkList*p);//3

externvoidSortList(LinkList*&p);//4

externLinkList*ReList(LinkList*&p);//5

externLinkList*DelList(LinkList*&p);//6

externvoidDispList(LinkList*p);//7

===============================================================================

 

2.函数实现文件

KSBM.CPP函数实现文件==========================================================

#include"KSBM.H"

#include

#include

#include

usingnamespacestd;

//1.报名表信息添加函数

//===========================================================

LinkList*InsetList(LinkList*&p)

{LinkList*L=p;

while(L->next!

=NULL)

L=L->next;

LinkList*q;

q=(LinkList*)malloc(sizeof(LinkList));

cout<<"考号:

";cin>>q->data.KH;

cout<<"XX:

";cin>>q->data.XM;

cout<<"性别:

";cin>>q->data.XB;

cout<<"年龄:

";cin>>q->data.NL;

cout<<"籍贯:

";cin>>q->data.JG;

cout<<"考试类别:

";cin>>q->data.KSLB;

q->next=L->next;

L->next=q;

returnp;

}

//===========================================================

 

//2.报名表人数统计

//=========================================================

intListLength(LinkList*p)

{intn=0;

LinkList*L=p;

while(L->next!

=NULL)

{n++;L=L->next;}

returnn;

}

//===========================================================

 

//3.考生信息的查询

//===========================================================

voidFindElem(LinkList*p)

{

LinkList*L=p;

chary[12];

cout<<"请输入需查询者的考号或XX\n";

cin>>y;

while(L!

=NULL&&(strcmp(L->data.KH,y)!

=0||strcmp(L->data.XM,y)!

=0))

{L=L->next;}

if(L!

=NULL)

{cout<<"------------------------------------------------------------------------------------------------------------------------\n";

cout<<"考生号XX性别年龄籍贯考试类别\n";

cout<

:

left)<data.KH<

:

left)<data.XM<

:

left)<data.XB<

:

left)<data.NL

<

:

left)<data.JG<

:

left)<data.KSLB<

cout<<"------------------------------------------------------------------------------------------------------------------------\n";}

else

cout<<"查无此人\n";

}

//===========================================================

 

//4.报名表信息排序

//===========================================================

voidSortList(LinkList*&p)

{LinkList*L=p->next,*q,*r;

if(L!

=NULL)

{r=L->next;

L->next=NULL;

L=r;

while(L!

=NULL)

{r=L->next;

q=p;

while(q->next!

=NULL&&strcmp(q->next->data.KH,L->data.KH)<0)

q=q->next;

L->next=q->next;

q->next=L;

L=r;

}

}cout<<"排序完成\n";

DispList(p);

}

//===========================================================

 

//5.信息修改

//===========================================================

LinkList*ReList(LinkList*&p)

{LinkList*L;

L=p->next;

if(L!

=NULL)

{

chary[12];

cout<<"请输入需修改人的考号\n";

cin>>y;

while(strcmp(L->data.KH,y)!

=0)//||strcmp(L->data.XM,y)!

=0)

{L=L->next;}

for(;;)

{cout<<"修改哪类信息\n";

cout<<"1.考号2.XX3.性别4.年龄5.籍贯6.考试类别其它整数退出";

intx;cin>>x;

if(x==1)

{cin>>L->data.KH;cout<<"修改完毕\n";}

if(x==2)

{cin>>L->data.XM;cout<<"修改完毕\n";}

if(x==3)

{cin>>L->data.XB;cout<<"修改完毕\n";}

if(x==4)

{cin>>L->data.JG;cout<<"修改完毕\n";}

if(x==5)

{cin>>L->data.KSLB;cout<<"修改完毕\n";}

else

break;}

cout<<"确认更改后信息:

\n";

cout<<"考生号XX性别年龄籍贯考试类别\n";

cout<

:

left)<data.KH<

:

left)<data.XM<

:

left)<data.XB<

:

left)<data.NL

<

:

left)<data.JG<

:

left)<data.KSLB<

}

else

cout<<"表为空\n";

returnp;}

//===========================================================

 

//6.考生信息的删除

//===========================================================

LinkList*DelList(LinkList*&p)

{

LinkList*m=p,*s;

chary[12];

cout<<"请输入需删除者的考号\n";

cin>>y;

//if(m!

=NULL)

while(m!

=0&&(strcmp(m->next->data.KH,y)!

=0))//||strcmp(m->next->data.XM,y)!

=0))

m=m->next;

if(m==0)

returnNULL;

s=m->next;

if(s==0)return0;

m->next=s->next;

free(s);

returnp;

}

//===========================================================

 

//7.考生信息表的输出

//==========================================================

voidDispList(LinkList*p)

{LinkList*L;

L=p->next;

cout<<"考生报名信息表输出:

\n";

cout<<"---------------------------------------------------------------------------------------------------------\n";

cout<<"考生号XX性别年龄籍贯考试类别\n";

while(L!

=NULL)

{cout<

:

left)<data.KH<

:

left)<data.XM<

:

left)<data.XB<

:

left)<data.NL

<

:

left)<data.JG<

:

left)<data.KSLB<

L=L->next;}

cout<<"---------------------------------------------------------------------------------------------------------\n";

cout<<"输出完毕\n";

}

//============================================================

 

===============================================================================

 

3.主函数

KSBM_M.CPP主函数===============================================================

#include"KSBM.H"

#include

#include

usingnamespacestd;

intmain()

{LinkList*p;

intxz;

p=(LinkList*)malloc(sizeof(LinkList));

p->next=NULL;

B:

{

cout<<"考生报名管理系统\n";

cout<<"=============================\n";

cout<<"1.考生初始添加\n";

cout<<"2.考生人数统计\n";

cout<<"3.考生信息查询\n";

cout<<"4.考生排序\n";

cout<<"5.考生信息修改\n";

cout<<"6.删除考生\n";

cout<<"7.输出考生信息表\n";

cout<<"0.平安退出系统\n";

cout<<"=============================\n";

cout<<"请选择0-7进展操作\n";}

A:

{cin>>xz;

switch(xz)

{

case0:

cout<<"谢谢使用\n";break;

case1:

{intK=1;

while(K==1)

{

InsetList(p);

cout<<"是否继续添加?

〔1/0〕\n";

cin>>K;}

gotoB;

break;}

case2:

cout<<"当前报名人数为:

"<

break;

case3:

FindElem(p);gotoB;

break;

case4:

SortList(p);gotoB;

break;

case5:

ReList(p);gotoB;

break;

case6:

DelList(p);gotoB;

break;

case7:

DispList(p);gotoB;

break;

default:

cout<<"输错啦!

重输==\n";

gotoA;

}

}

return0;}

================================================================================

 

五、运行例如及结果分析

1.

主界面

录入三个数据

统计人数

删除一数据的效果

排序并输出

六、调试和运行程序过程中产生的问题及采取的措施

数据类型定义为char,在函数体中当int型简单的比拟,造成exe运行至那里时崩掉,改成用strcmp〔S1,S2〕的返回值进展条件控制并顺利地解决。

七、总结和展望

在这次数据构造程序设计中遇到了很多实际性的问题,在实际中发现,书本上的理论性的东西并不能很好的切合实际问题,有出入就必须熟用书本知识,生硬的搬用并不能写出好的程序。

所以在这次的课程设计中我不断改正以前学习中所形成的错误思维。

理论与实践的结合在这次课程设计中很有体会。

此次的设计信息的录入完全放在存,没有用以前学的文件知识很是遗憾。

程序设计就要勇于尝试。

在这一点上做的不够,设计不单单是哪一方面的知识,运用到所有学过的,只有融汇才能贯穿。

写的过程中碰到不少问题,苦思冥想而不能解决,为一个函数的错误而浪费了好多时间,让同学看了一下就改好了,就是很简单的错误。

通过这件事我知道,课程设计是个人的事,但要懂得求教,以免浪费珍贵的时间,自大要不得。

这为以后的工作提供了良好的教训,工作中必然一个工程是大到一个人无法单独完成,那就要求合作了。

这次的课程设计让我学到的不仅仅是知识,更多的是方法。

另外,同学的设计让我大开眼界,自学了好多知识并用到设计中,这更是激起了我今后学习的强烈欲望。

八、参考资料

[1]春葆、为名等编著数据构造教程〔第3版〕清华大学2009

[2]春葆、为名等编著数据构造教程上机实验指导〔第3版〕清华大学2009

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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