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

更新时间:2023-09-19 20:56:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课 程 设 计 报 告

课程设计名称:数据结构 系 : 三 系 学生姓名: 班 级:

学 号: 20100311222 成 绩: 指导教师:

开课时间: 2011-2012 学年 1 学期

一.设计题目

《数据结构课》程设计报告

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

考生报名管理系统的设计主要是实现对考生报考相应类别考试的管理和相关操作。基本功能如下:

(1)考试报考息录入、添加功能:包括考生的考号、姓名、性别、年龄、籍贯、考试类别等信息。

(2)报考信息查询:可以按考生的考号查询某个考生的报考信息。 (3)报考信息排序:按考生的考号排序或按考试类别排序。

(4)考生报考信息的修改或删除:按考生考号修改或删除某个考生的相关信息。

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

二.主要内容

程序主要分为三部分:1.KSBM.h头文件,2.KSBM.cpp各种实现功能函数,3.KSBM_M.cpp主函数。

程序的功能:

1.数据的录入与添加 LinkList * InsetList(LinkList *&p) 2人数统计 int ListLength(LinkList *p) 3.信息查询 void FindElem(LinkList *p) 4.考生排序 void SortList(LinkList *&p)

5.考生信息修改 LinkList * ReList(LinkList *&p) 6.删除考生 LinkList * DelList(LinkList *&p) 7.输出考生信息表 void DispList(LinkList *p)

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

头文件 录入与添加 人数统计 信息查询 考生排序 信息修改

主函数

结束 删除考生 输出 录入采用链表的尾插法;人数统计即利用链表长度求出;信息查询即匹配关键字

循环一次链表,匹配成功就输出;修改似于查询,对链表有改动,最后返回链表完成修改;删除考生对应节点的指针移动,并释放节点。

四.源程序及注释

第1页

1

《数据结构课》程设计报告

1. 头文件

KSBM.H头文件================================================================ typedef struct {

char KH[12]; //考生考号 char XM[12]; //考生姓名 char XB[4]; //性别 char NL[4]; //年龄 char JG[20]; //籍贯

char KSLB[10]; //考试类别 }DataType;

typedef struct LNode {

DataType data; struct LNode * next; }LinkList;

extern LinkList * InsetList(LinkList *&p) ; // 1 extern int ListLength(LinkList *p); // 2 extern void FindElem(LinkList *p); // 3 extern void SortList(LinkList *&p); // 4 extern LinkList * ReList(LinkList *&p); // 5 extern LinkList * DelList(LinkList *&p); // 6 extern void DispList(LinkList *p); // 7

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

2. 函数实现文件

KSBM.CPP函数实现文件========================================================== #include\#include #include #include using namespace std;

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

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

LinkList * InsetList(LinkList *&p) {LinkList *L=p;

while(L->next!=NULL) L=L->next;

第2页

2

《数据结构课》程设计报告

LinkList *q;

q=(LinkList *)malloc(sizeof(LinkList)); cout<<\考号:\cout<<\姓名:\cout<<\性别:\cout<<\年龄:\cout<<\籍贯:\

cout<<\考试类别:\q->next=L->next;

L->next=q;

return p; }

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

// 2.报名表人数统计

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

int ListLength(LinkList *p) {int n=0;

LinkList *L=p;

while(L->next!=NULL) {n++;L=L->next;} return n; }

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

// 3.考生信息的查询

//=========================================================== void FindElem(LinkList *p) {

LinkList *L=p; char y[12];

第3页

3

《数据结构课》程设计报告

cout<<\请输入需查询者的考号或姓名\\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<<\考生号 姓名 性别 年龄 籍贯 考试类别 \\n\

cout<data.KH<data.XM<data.XB<data.NL

<data.JG<data.KSLB<

cout<<\------------------------------------------------\\n\else

cout<<\查无此人\\n\}

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

// 4.报名表信息排序 //===========================================================

void SortList(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; }

第4页

4

《数据结构课》程设计报告

录入三个数据

统计人数

第10页 10

《数据结构课》程设计报告

删除一数据的效果

排序并输出

第11页

11

《数据结构课》程设计报告

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

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

七、总结和展望

在这次数据结构程序设计中遇到了很多实际性的问题,在实际中发现,书本上的理论性

的东西并不能很好的切合实际问题,有出入就必须熟用书本知识,生硬的搬用并不能写出好的程序。所以在这次的课程设计中我不断改正以前学习中所形成的错误思维。理论与实践的结合在这次课程设计中很有体会。

此次的设计信息的录入完全放在内存,没有用以前学的文件知识很是遗憾。程序设计就要勇于尝试。在这一点上做的不够,设计不单单是哪一方面的知识,运用到所有学过的,只有融汇才能贯通。

写的过程中碰到不少问题,苦思冥想而不能解决,为一个函数的错误而浪费了好多时间,让同学看了一下就改好了,就是很简单的错误。通过这件事我知道,课程设计是个人的事,但要懂得求教,以免浪费宝贵的时间,自大要不得。这为以后的工作提供了良好的教训,工作中必然一个工程是大到一个人无法单独完成,那就要求合作了。

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

八、参考资料

[1] 李春葆、尹为名等编著 数据结构教程(第3版)清华大学出版社 2009

[2] 李春葆、尹为名等编著 数据结构教程 上机实验指导(第3版)清华大学出版社 2009

第12页 12

本文来源:https://www.bwwdw.com/article/itph.html

Top