数据结构课程设计:考生报名管理系统
更新时间: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
// 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 《数据结构课》程设计报告 录入三个数据 统计人数 第10页 10 《数据结构课》程设计报告 删除一数据的效果 排序并输出 第11页 11 《数据结构课》程设计报告 六、调试和运行程序过程中产生的问题及采取的措施 数据类型定义为char,在函数体中当int型简单的比较,造成exe运行至那里时崩掉,改成用strcmp(S1,S2)的返回值进行条件控制并顺利地解决。 七、总结和展望 在这次数据结构程序设计中遇到了很多实际性的问题,在实际中发现,书本上的理论性 的东西并不能很好的切合实际问题,有出入就必须熟用书本知识,生硬的搬用并不能写出好的程序。所以在这次的课程设计中我不断改正以前学习中所形成的错误思维。理论与实践的结合在这次课程设计中很有体会。 此次的设计信息的录入完全放在内存,没有用以前学的文件知识很是遗憾。程序设计就要勇于尝试。在这一点上做的不够,设计不单单是哪一方面的知识,运用到所有学过的,只有融汇才能贯通。 写的过程中碰到不少问题,苦思冥想而不能解决,为一个函数的错误而浪费了好多时间,让同学看了一下就改好了,就是很简单的错误。通过这件事我知道,课程设计是个人的事,但要懂得求教,以免浪费宝贵的时间,自大要不得。这为以后的工作提供了良好的教训,工作中必然一个工程是大到一个人无法单独完成,那就要求合作了。 这次的课程设计让我学到的不仅仅是知识,更多的是方法。另外,同学的设计让我大开眼界,自学了好多知识并用到设计中,这更是激起了我今后学习的强烈欲望。 八、参考资料 [1] 李春葆、尹为名等编著 数据结构教程(第3版)清华大学出版社 2009 [2] 李春葆、尹为名等编著 数据结构教程 上机实验指导(第3版)清华大学出版社 2009 第12页 12
正在阅读:
数据结构课程设计:考生报名管理系统09-19
福建长泰一中14-15学年高一下学期期中考试试卷(普通班)B卷数学06-04
友谊是一杯水作文500字07-04
2016年秋福师《幼儿园教育》在线作业一标准满分答案16秋05-23
《软件工程导论》实验报告06-12
Commensurate Spin Dynamics in the Superconducting State of an Electron-Doped Cuprate Superconductor05-13
松树赞作文600字06-26
2022年安徽师范大学外国语学院333教育综合之外国教育04-10
关于旅游业跨国经营动因的思考05-20
- 通信原理实验报告
- 2016年上半年安徽省临床医学检验技术中级技师职称试题
- 传智播客刘意老师JAVA全面学习笔记
- 星级酒店客房部保洁服务标准与工作流程操作规范 - PA新员
- 算法竞赛入门经典授课教案第1章 算法概述
- 《微信公众平台架起家校互通桥》结题报告
- 2018年宁夏银川市高考数学三模试卷(理)Word版含解析
- 大学生创业基础 - 尔雅
- 2016年6月英语六级真题写作范文3套
- 中国磁性材料纸行业专项调查与发展策略分析报告(2015-2020)
- 云南省2018届高三普通高中学业水平考试化学仿真试卷二Word版缺答案
- 窗函数法设计低通滤波器
- 第三章 绩效考评方法与绩效管理模式
- 高等数学教案
- 个人独资合伙企业习题及答案
- 小学语文沪教版三年级上册第六单元第30课《想别人没想到的》公开课优质课教案比赛讲课获奖教案
- 曳引钢丝绳及其他曳引系统校核计算 - 图文
- 淮阴工学院管理学期末试卷7 - 图文
- 受力分析方法(1)
- 2013-2014学年陕西省西安市西工大附小五年级(上)期末数学试卷及解析
- 数据结构
- 考生
- 管理系统
- 报名
- 课程
- 设计
- 安徽理工大学精品课程土力学PPT教案01 - 图文
- 戒毒人员自伤自残应急处置预案
- 2012年初中毕业与升学统一考试物理试卷(江西南昌市)(详细解析)
- 红岗区职称论文发表网-输电线路运行维护故障排除论文选题题目
- 基于PLC的混凝土搅拌机设计
- 项目1任务3外圆切削
- 体育理论基础知识
- MHWJW11-第三方安全管理规范-V1.1-ok
- ERP电子沙盘模拟实训实习精选
- 八年级下册语文第五单元测试题及答案
- 酸洗磷化工艺
- 面试答题技巧
- 2016年全国水利安全生产网络知识竞赛题库
- 级音乐对十教案
- 保险学模拟试题题目(一)
- Join in教材五年级下学期Unit1重难点
- 危险源辨识、危险预知培训教案
- 五上第7单元优秀教案
- 《组织行为学》(二)复习资料
- 事业单位人事管理工作概述答案