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

2018-12-03 18:14

课 程 设 计 报 告

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

学 号: 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


数据结构课程设计:考生报名管理系统.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新编实用英语基础教程第1册英语一电子教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: