- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构课》程设计报告
PAGE
PAGE 1
第 PAGE 1页
.
教育资料
课 程 设 计 报 告
课程设计名称:数据结构
系 : 三 系
学生姓名:
班 级:
学 号:
成 绩:
指导教师:
开课时间: 2011-2012 学年 1 学期
一.设计题目
考生报名管理系统
二.主要内容
考生报名管理系统的设计主要是实现对考生报考相应类别考试的管理和相关操作。
基本功能如下:
(1)考试报考息录入、添加功能:包括考生的考号、姓名、性别、年龄、籍贯、考试类别等信息。
(2)报考信息查询:可以按考生的考号查询某个考生的报考信息。
(3)报考信息排序:按考生的考号排序或按考试类别排序。
(4)考生报考信息的修改或删除:按考生考号修改或删除某个考生的相关信息。
(5)统计功能:分别统计系统中共有多少人报名、每个考生的报考种类的数量、每种考试类别的考生数量等。
三.课题设计的基本思想,原理和算法描述
主函数(int main)
主函数
(int main)
显示菜单函数(Display(L))
显示菜单函数
(Display(L))
定义指针
(LinkList *L)
初始化线性表函数
(InitList(L))
原理和算法描述:
本课题是采用单链表编写程序,用函数实现其整个功能,整个程序分为三个模块:1.编写头文件和成员;2.编写外部函数;3.编写主函数。
1. 编写头文件和成员.
1.1头文件: #include <stdio.h> #include <string.h>
#include <malloc.h> #include <stdlib.h>
1.2成员 :考号(num)、姓名(name)、性别(sex)、年龄(age)、籍贯(address)、考试类别(type)等信息。
2.编写外部函数.
2.1输入函数(CreateListR) //采用尾差法创建链表
a.定义int n //该链表的总人数
定义LinkList *s //做作为插入的新结点
定义LinkList *r //始终指向尾结点
b.使用for循环将新结点逐次插入链表之后(条件是int i<n)
c.将尾结点指向null
2.2输出函数(DispList)
a.定义LinkList *p //指向第一个元素结点
b.用while循环逐次输出链表元素(条件是p!=null)
2.3查找函数(LocateElem)
a.定义ElemType e //作为查找考号的对象
b.定义LinkList *p //指向第一个元素结点
c.用while循环查找要查找的结点(条件是p!=NULL && p->data.num!=e.num)
d.找到该结点就输出该结点指向的元素,否则结束
2.4删除函数(ListDelete)
a.定义ElemType e //作为删除考号的对象
b.定义LinkList *p //指向头结点
c.定义LinkList *q //作为存储删除结点的变量
d.用while循环查找该结点,并且用free(q)清空该结点
(条件是e.num!=p->next->data.num &&p!=NULL)
e.调用输出函数,输出删除后的结果
2.5修改函数(create)
a.定义ElemType i //作为修改考号的对象
b.定义LinkList *p //指向头结点
c.用while循环查找该结点(条件是i.num!=p->data.num&&p!=NULL)
d.重新输入该结点指向的所有元素
e. 并
文档评论(0)