课 程 设 计 报 告
课程设计名称:数据结构 系 : 三 系 学生姓名: 班 级:
学 号: 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
// 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<
< 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 搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育数据结构课程设计:考生报名管理系统 全文阅读和word下载服务。
相关推荐: