校园十大优秀青年评比数据结构课程设计报告书
数据结构课程设计报告范文

数据结构课程设计报告课程设计报告课程设计题目:链表的创立、插入、删除、修改学生姓名专业计算机科学与技术班级学号指导教师艾9月 30日一、实验题目:实现链表的创立、插入、删除和修改任务:实现链表的创立、插入、删除、修改和输出要求:建立一个简单的人机对话,创立、插入、删除、修改和输出功能能够根据需要选择使用。
二、实验时间、地点:-12-26~ -12-30、信工楼302三、实验目的本次课程设计的主要目的是综合运用所学的数据结构知识解决一个比较实际问题,侧重对链表、数组、字符串、图、树等相关内容的综合应用,使同学们能进一步熟悉掌握数据结构的基础知识,进一步提升自己的解决问题和编程调试能力,为后续专业课程的学习打下良好的基础。
四、实验要求1. 了解数据结构及其分类、数据结构与算法的密切关系;2. 熟悉各种基本数据结构及其操作,学会根据实际问题来选择数据结构;3. 掌握设计算法的步骤和分析方法;4. 掌握数据结构在排序和查找等常见算法中的应用。
5. 独立完成;6.每个人需按照选题规则确定好自己的题目(注意不是多人完成一题,每人独立完成一题),不得以任何理由选择其它的题目,当然在完成自己的题目之后根据个人兴趣能够继续选做其它的题目;7.课程设计完成后严格按照报告格式撰写课程设计报告,并于结束后的第三天上交到学习委员统一交给老师;8.课程设计的成绩由两部分组成:程序检查成绩(40%,每个功能占程序分的20%)+报告检查成绩(40%)+平时考核(20%)五、实现思路链表是一种动态数据结构,她的特点是用一组任意的存储单元(能够是连续的,也能够是不连续的)存放数据元素。
链表中每一个元素成为“结点”,每一个结点都是由数据域和指针域组成的,每个结点中的指针域指向下一个结点。
Head是“头指针”,表示链表的开始,用来指向第一个结点,而最后一个指针的指针域为NULL(空地址),表示链表的结束。
能够看出链表结构必须利用指针才能实现,即一个结点中必须包含一个指针变量,用来存放下一个结点的地址。
数据结构课程设计实验报告完整版

数据结构课程设计实验报告完整版【正文】一、实验目的本实验主要目的是通过实践,掌握数据结构的基本概念、常见数据结构的实现方式以及在实际应用中的应用场景和效果。
二、实验背景数据结构是计算机科学与技术领域中的一个重要概念,是研究数据的组织方式、存储方式、访问方式以及操作等方面的方法论。
在计算机科学领域,数据结构是实现算法和解决问题的基础,因此对数据结构的理解和应用具有重要意义。
三、实验内容本次数据结构课程设计实验主要分为以下几个部分:1. 实验环境的准备:包括选择合适的开发平台、安装必要的软件和工具。
2. 实验数据的收集和处理:通过合适的方式收集实验所需的数据,并对数据进行处理和整理。
3. 数据结构的选择和实现:根据实验需求,选择合适的数据结构,并进行相应的数据结构实现。
4. 数据结构的测试和优化:对所实现的数据结构进行测试,包括性能测试和功能测试,并根据测试结果对数据结构进行优化和改进。
5. 实验报告的撰写:根据实验过程和结果,撰写完整的实验报告,包括实验目的、实验背景、实验内容、实验结果和结论等。
四、实验过程1. 实验环境的准备本实验选择了Visual Studio作为开发平台,安装了相应版本的Visual Studio,并根据官方指引进行了相应的配置和设置。
2. 实验数据的收集和处理本实验选取了一份包含学生信息的数据集,包括学生姓名、学号、性别、年龄等信息。
通过编写Python脚本,成功提取了所需信息,并对数据进行了清洗和整理。
3. 数据结构的选择和实现根据实验需求,我们选择了链表作为数据结构的实现方式。
链表是一种常见的动态数据结构,能够高效地插入和删除元素,适用于频繁插入和删除的场景。
在实现链表时,我们定义了一个节点结构,包含数据域和指针域。
通过指针的方式将节点连接起来,形成一个链式结构。
同时,我们还实现了相关的操作函数,包括插入、删除、查找等操作。
4. 数据结构的测试和优化在完成链表的实现后,我们对其进行了性能测试和功能测试。
数据结构课程设计报告模板

数据结构课程设计报告模板篇一:数据结构课程设计报告模板课程设计说明书课程名称:数据结构与算法专业:计算机科学与技术班级: 103013姓名:徐粤玲学号:03成绩:完成日期:XX年1 月 12日任务书摘要本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。
所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。
关键词:黑白棋编程设计s目录1.引言 ................................................ ................................................... .. (4)2.课题分析 ................................................ ................................................... (7)3.具体设计过程 ................................................ ....................................................8设计思路 ................................................ ...................................................8程序设计流程图 ................................................ (8)函数实现说明 ................................................ .. (12)4.程序运行结果 ................................................ ..................................................145.软件使用说明 ................................................ ..................................................186.结论 ................................................ ................................................... (21)参考文献 ................................................ ................................................... . (23)附录:源代码 ................................................................................................... .. 241.引言数据结构在计算机科学界至今没有标准的定义。
数据结构课程设计报告学生信息管理系统

题目2.学生信息管理系统一、课程设计目的1.数据构造课程设计是综合运用数据构造课程中学到的几种典型数据构造,以及程序设计语言〔C语言〕,自行实现一个较为完整的应用系统的设计与开发2.通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据构造在软件开发中的应用。
3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。
学生信息管理系统:〔1〕熟练掌握链表存储构造及其建立过程和常用操作;〔3〕学会自己调试程序的方法并掌握一定的技巧二、课程设计容建立学生信息管理系统,通过链表实现对学生信息的输入,查找,删除,插入和排序等操作。
三、需求分析1.每位学生的信息有:学号,XX,性别,出生日期,E-mile,,c成绩,数学成绩等,用链表对学生的信息进展存储。
2.全部数据可以只放在存中;3.系统能实现的操作和功能如下:a) 输入学生信息:对不同学生分别输出以下信息:学号,XX,性别,出生日期,E-mile,,c成绩,数学成绩等。
b) 查找学生信息:根据学生的学号或XX对学生的信息进展查找。
c) 删除学生信息:删除某个学生的所有信息。
d) 插入学生信息:将某个学生的信息插入到已经输入的信息中。
e) 显示学生信息:将所有学生的信息显示出来。
f) 排序:将所有学生按某个学科的成绩依次排序。
四、概要设计1.系统构造图〔功能模块图〕2.功能模块说明①.输入学生信息,creat()函数:建立单向链表,组织循环,将学生的信息依次录入。
②:查找学生信息:a.按学号查找,find1〔〕函数;b.按XX查找,find2〔〕函数;③.删除学生信息,del〔〕函数:建立指针,在链表中寻找要删除信息的学生的学号,找到后p->next=p->next->next,将其删除。
④.插入学生信息,insert〔〕函数;输入要插入的信息,建立指针,寻找要插入的节点。
数据结构课程设计报告书

1引言本设计使用C语言编写程序,以栈为主体实现功能,所以首先我们要认识一下栈。
栈是限定仅在表尾进行插入或删除操作的线性表,其存取数据时按照后进先出的原则进行。
而此次课程设计就是利用栈的这一特性并结合栈的输入、输出、判空等基本操作,来实现栈的三种实际应用:数制转换,行编辑和括号匹配。
2问题分析2.1 设计内容的分析本次课程设计的目标是使用C语言编写一个程序,当使用者进入程序时,首先出现一个菜单项,使用者可以选择所要实现的功能,从而进入相应的程序模块:数制转换:进入此模块后,程序提示输入任意一个十进制数和所要转换的进制,程序运行后得到相应进制的数据。
行编辑:进入模块后,程序提示输入原始数据,运行时当遇到#时退格一个,当遇到@时,清空所在行中之前的所有数据;当遇到\n时,完成前一行的输入处理,进行下一行的输入;当遇到¥时,全文输入编辑结束。
括号匹配:进入模块后,程序提示输入所要检验的括号以#为结束符,当括号匹配不正确时,程序输出相应的:左右括号匹配次序不正确,左括号多于右括号,右括号多于左括号。
当左右括号匹配无误时,输出左右括号匹配正确。
2.2 程序中用到的数据结构本程序主要是运用栈的相关知识,所以为了实现上述的三种功能,需要定义栈的结构用于储存数据:typedef char ElemType;//定义用户变量,代替char,便于以后修改typedef struct{ElemType *base;//在栈构造之前和销毁之后,base的值为NULLElemType *top;//栈顶指针int stacksize;//当前已分配的存储空间,以元素为单位}SqStack;实现第一个模块功能时,需要使用while语句进行栈的输入输出。
实现第二个模块功能时,需要使用while语句和swicth语句的嵌套来进行文本编辑实现第三个模块功能时,需要使用if、else语句的多重嵌套来判断匹配3总体设计3.1 总体设计思路本程序主要首先在主函数通过调用switch 语句来选择需要实现的功能,从而进入相应的函数模块。
数据结构课程设计报告(仓库管理系统、通讯录管理系统、猴子选大王、

数据布局课程设计陈述目录第一章设计目的 (3)第二章设计任务及要求 (3)一、根本要求 (3)二、内容 (3)第三章标题问题阐发与解答 (4)一、仓库办理系统 (4)1.标题问题要求 (4)2.应用程序功能 (4)3.输入数据类型、格式和内容限制 (6)4.主要模块的算法描述 (6)5.源程序代码 (7)二、通讯录办理系统 (13)1.标题问题要求 (13)2.应用程序功能 (13)3.输入数据类型、格式和内容限制 (15)4.主要算法模块描述 (16)5.源程序代码 (16)三、猴子选大王 (22)1.标题问题要求: (22)2.应用程序功能 (22)3.输入数据类型、格式和内容限制 (23)4.主要算法模块描述 (23)5.源程序代码 (23)四、二叉树运算2 (26)1.标题问题要求 (26)2.应用程序功能 (26)3.输入数据类型、格式和内容限制 (26)4.主要算法模块描述 (26)5.源程序代码 (28)第一章设计目的一、培养学生运用算法与数据布局的根本常识解决实际编程中的数据布局设计和算法设计问题。
二、培养学生独立设计程序与解决问题的能力,培养学生团队协作集成程序模块及调试能力。
三、培养学生初步的软件设计及软件测试的能力。
第二章设计任务及要求一、根本要求学生必需仔细阅读《数据布局》课程设计指导书,当真主动完成课设的要求。
有问题及时主动通过各种方式与教师联系沟通。
学生要阐扬自主学习的能力,充实操纵时间,安排好课设的时间方案,并在课设过程中不竭检测本身的方案完成情况,及时的向教师陈述请示。
课程设计按照教学要求需要一周时间完成,一周中每天〔按每周5天〕至少要上3-4小时的机来调试C语言设计的程序,总共至少要上机调试程序15小时。
按照设计陈述要求编写设计陈述,主要内容包罗目的、意义、道理和实现方法简介、过程阐发及说明、尝试成果情况说明、结论。
每个人必需有可运行的程序,学生能对本身的程序面对教师提问并能熟练地解释清楚,学生答复的问题和程序运行的成果作为评分的主要衡量尺度。
课题数据结构课程设计报告书

北方民族大学课程设计课程名称: 数据结构及算法课程设计院(部)名称:信息及计算科学学院组长姓名:金龙龙 20080544同组人员姓名:任杰马鹏起赵俞军 20080576赵庆康 20080570设计时间: 2015.6.1---2015.6.24金龙龙 200805442、一元多项式计算任务:能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输入;在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;存储结构:链表存储#include<stdio.h>#include<malloc.h>#include<stdlib.h>#define null 0typedef struct polynode{int coef;int exp;struct polynode *next;}node;node *create(){node *h,*r,*s;int c,e;h=(node*)malloc(sizeof(node));r=h;printf("coef:");scanf("%d",&c);printf("exp: ");scanf("%d",&e);while(c!=0){s=(node*)malloc(sizeof(node)); s->coef=c;s->exp=e;r->next=s;r=s;printf("coef:");scanf("%d",&c);printf("exp: ");scanf("%d",&e);}r->next=NULL;return(h);}void arrange(node *pa){node *h=pa,*p,*q,*r;for(p=pa;p->next!=NULL;p=p->next);r=p;for(h=pa;h->next!=r;){for(p=h;p->next!=r&&p!=r;p=p->next)if((p->next)->exp>(p->next->next)->exp) {q=p->next->next;p->next->next=q->next;q->next=p->next;p->next=q;}r=p;}}void neipai(node *head){ node *p,*q,*r,*Q;p=head;if(head->next->next!=NULL){for(q=p->next;q!=NULL;q=q->next)for(p=q->next,r=q;p!=NULL;)if(q->exp==p->exp){q->coef=q->coef+p->coef; r->next=p->next;Q=p;p=p->next;free(Q);}else{r=r->next;p=p->next;}} }void insert(node *head,node *s){node *pre,*p;pre=head;p=pre->next;while(p!=NULL){if(p->exp > s->exp) break;pre=p;p=p->next;}s->next=p;pre->next=s;}node *copyList(node *head){node *l = NULL, *newHead;newHead = (node *) malloc(sizeof(node)); newHead->next = NULL;head = head->next;while (head != NULL){l = (node *) malloc(sizeof(node));l->coef = head->coef;l->exp = head->exp;insert(newHead, l);head = head->next;}return newHead;}void print(node *p){ while(p->next!=NULL){p=p->next;printf(" %d*x^%d",p->coef,p->exp);}}void polyadd(node *ha, node *hb){node *p,*q,*pre,*temp;int sum;p=ha->next;q=hb->next;pre=ha;while(p!=NULL&&q!=NULL){if(p->exp==q->exp){sum=p->coef+q->coef;if(sum!=0){p->coef=sum;pre->next=p;pre=pre->next;p=p->next;temp=q;q=q->next;free(temp); }else{temp=p->next;free(p);p=temp; temp=q->next;free(q);q=temp; }}else if(p->exp<q->exp){pre->next=p;pre=pre->next;p=p->next;}else{pre->next=q;pre=pre->next;q=q->next;}}if(p!=NULL)pre->next=p;elsepre->next=q;}void polysub(node *ha,node *hb) {node *p,*q,*pre,*temp,*x; int sum;p=ha->next;q=hb->next;x=q;pre=ha;while(x!=null){ x->coef=-x->coef;x=x->next;}while(p!=NULL&&q!=NULL){if(p->exp==q->exp)sum=p->coef+q->coef;if(sum!=0){p->coef=sum;pre->next=p;pre=pre->next;p=p->next;temp=q;q=q->next;free(temp); }else{temp=p->next;free(p);p=temp; temp=q->next;free(q);q=temp; }}else if(p->exp<q->exp){pre->next=p;pre=pre->next;p=p->next;}elsepre->next=q;pre=pre->next;q=q->next;}}if(p!=NULL)pre->next=p;elsepre->next=q;}void main(){node *ha,*hb,*hc,*hd;printf("please input the coef and exp of ha:\n"); ha=create();arrange(ha);neipai(ha);hc=copyList(ha);print(ha);printf("\n");printf("please input the coef and exp of hb:\n");hb=create();arrange(hb);neipai(hb);hd=copyList(hb);print(hb);printf("\n");printf("add is :\n"); polyadd(ha,hb);print(ha);printf("\n");printf("sub is :\n"); polysub(hc,hd);print(hc);}运行结果赵俞军 200805767、猴子选大王任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
数据结构课程设计报告书

独立完成
课程设计题目
链表的操作: 用链表建立通讯录。通讯录内容有:姓名、通讯地址、电话号码。 要求:(1)通讯录是按姓名项的字母顺序排列的; (2)能查找通讯录中某人的信息; [提示] 可用链表来存放这个通讯录,一个人的信息作为一个 结点。成链的过程可以这样考虑:先把头结点后面的第一个数据 元素结点作为链中的首结点,也是末结点。从第二个数据开始逐 一作为‘工作结点’,需从链表的首结点开始比较,如果‘工作 结点’的数据元素的姓名字符串比链中的‘当前结点’的数据元 素的姓名字符串小,就插在其前面。否则,再看后面是否还有结 点,若没有结点了就插在其后面成为末结点;若后面还有结点, 再与后面的结点逐一比较处理。
课程设计题目(**)
规定:输入数据形式和范围:20以内的整数(如果做得 更好可以输入学校的名称,运动项目的名称) 输出形式:有中文提示,各学校分数为整形 界面要求:有合理提示,每个功能可以设立菜单,根据 提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是 要求运动会的相关数据要存储在数据文件中。(数据文 件的数据读写方法等相关内容在c语言程序设计的书上, 请自学解决)请在最后的上交资料中指明你用到的存储 结构; 测试数据:要求使用1、全部合法数据;2、整体非法数 据;3、局部非法数据。进行程序测试,以保证程序的稳 定。测试数据及测试结果请在上交的资料中写明;
演示结束!
THANK YOU FOR WATCHING!
感谢聆听!
独立完成
课程设计题目
约瑟夫环问题:
设有n个人按顺时针方向围坐一圈,先从某个人开 始报数,数到m的人出列,接着从出列的下一个人开始重 新从1报数,数到m的人又出列,如此下去,直至所有人全 部出列为止。设计确定他们的出列顺序的程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.问题的描述和分析1.1问题描述新一届校园十大青年评比开始了!每一位在校学生可通过网上评比系统,为自己认为优秀的学生提名与投票。
请开发一个用于该需求的系统,满足下列基本功能:(1)提名优秀学生与投票。
(2)查看提名学生的基本信息。
(3)显示各提名学生的票数。
(4)显示排行榜。
一.基本要求:.(1)采用散列存储,存放提名学生的相关信息。
(2)设计哈希函数和冲突解决方法。
(3)提名学生至少包括以下信息:姓名、票数、个人基本信息(如:班级、专业、年级、突出事迹等)。
(4)设计输入提名学生信息的界面。
(5)完成基本功能。
(6)界面友好,操作简单。
(7)设计足够多的测试用例。
(8)查看指定学生的票数。
(9)按序显示各提名学生票数。
二.较高要求(1)限制每人的投票次数。
(2)按软件要求,扩充其他功能。
(3)实现数据的后效验,即不接收非法数据。
1.2 问题分析(1)用哈希表存储提名学生相关信息。
每位选手即学生的基本信息含有多个属性,为此可根据学生信息建立结构体,如下:struct student{char name[20];//姓名的拼音int studentnum;//学号int number;//票数int Class;//班级char major[30];//专业char grade[10];//年级char achievement[200];//突出事迹};(2)设计哈希函数,并用开放定址线性探测法处理冲突。
哈希函数根据姓名拼音的ascll码来设计,hash(key)=key%hashlength,其中k为姓名所有拼音的ascll 码值的累加和,hashlength为表长。
因此需储存学生姓名的拼音。
(3)设计一个投票系统类:votesystemclass votesystem{private:student *st;int count;//当前元素个数int hashlength;//哈希表长public:votesystem() {st=NULL;count=0;hashlength=0;}~votesystem() {delete []st;count=0;}void HashTable(int n);//初始化哈希表int Hash(char *name);//哈希函数void collision(int &s){s=s++;}//开放定址线性探测法处理冲突int hashfind(char *name,int&k);//查找void inserthash(char*name);//插入int vote(char*name);//投票void display();//显示哈希表void showvote(int k); //按哈希表下标显示票数void showrank();//显示排行榜};(4)加入用户登录系统,所以同时构造用户user的结构体;结构体中需要有用户姓名和用户权限次数的数据。
struct user{char username[20];int root;user(){root=4;}};2.概要设计2.1系统模块划分图2-1 系统模块图2.2 ADT(抽象数据类型)描述1.为了满足程序功能的设计,定义了两个结构体;分别是学生选手student和登录用户user;2.定义了投票系统类class votesystem;3.详细设计3.1 ADT基本操作算法设计3.1.1struct student{char name[20];//姓名的拼音int studentnum;//学号int number;//票数int Class;//班级char major[30];//专业char grade[10];//年级char achievement[200];//突出事迹};struct user{char username[20];int root;user(){root=4;}};user store[20];3.1.2class votesystem{private:student *st;int count;//当前元素个数int hashlength;//哈希表长public:votesystem() {st=NULL;count=0;hashlength=0;}~votesystem() {delete []st;count=0;}void HashTable(int n);//初始化哈希表int Hash(char *name);//哈希函数void collision(int &s){s=s++;}//开放定址线性探测法处理冲突int hashfind(char *name,int&k);//查找void inserthash(char*name);//插入int vote(char*name);//投票void display();//显示哈希表void showvote(int k); //按哈希表下标显示票数void showrank();//显示排行榜};3.2 功能模块设计3.2.1 评比界面模块(1)界面设计(2)处理流程设计评比系统选择界面:由于选择结构比较单一,故在选择时没有选择使用switch 语句,使用简单的if语句;while(choice!=2){ system("cls");cout<<"***欢迎来到校园十大优秀青年评比系统***"<<endl;char username[20];cout<<"1.=============>投票<=============="<<endl<<"2.=============>退出<=============="<<endl;cin>>choice;if(choice==1){……}else cout<<"退出成功!";3.2.2 用户登录模块(1)界面设计(2)处理流程设计while(choose!=5)//不是选择5的情况下继续运行,否则退出{cout<<"****************************\n"<<" 校园十大优秀青年评比系统\n"<<"1、提名选手信息\n"<<"2、查询选手得票\n"<<"3、=======>投票\n"<<"4、前十排行榜单\n"<<"5、退出投票系统\n"<<"****************************\n"<<"感谢使用本系统!O(∩_∩)O"<<endl<<"请选择操作:";cin>>choose;if(choose==3)//每次投票后限制次数减一store[i].root--;switch(choose){char a[2];case 1:L.display();break;case 2:cout<<"请输入选手姓名的拼音(如:zhangjing ):"<<endl;cin.getline(a,2);cin.getline(name,20);int f;f=L.hashfind(name,k);if(f) L.showvote(k),cout<<endl;else cout<<"选手尚未提名!\n";break;case 3:if(store[i].root<=0)//当限制次数使用全部后,3操作不可继续操作{cout<<"【每人限投3票,您的投票次数已经用完】。
"<<endl;break;}elsecout<<"请输入选手姓名的拼音(如:zhangjing ):"<<endl;cin.getline(a,2);cin.getline(name,20);f=L.hashfind(name,k);if(f) {L.vote(name);cout<<"投票成功!剩余投票次数为:"<<(store[i].root-1)<<endl;}else{cout<<"无此记录!\n";cout<<" 1、提名该学生\n"<<" 2、返回系统界面\n"<<"请选择操作:";int t;cin>>t;if(t==1){L.inserthash(name);cout<<"选手提名成功\n";cout<<"剩余投票次数为:"<<(store[i].root-1)<<endl;}}break;case 4:L.showrank();break;case 5:cout<<"已登出,感谢您的使用!" <<endl;break;default:cout<<"操作无效,请重新选择!\n";break;}3.2.3选手信息模块(1)界面设计(2)处理流程设计此处利用了类votesystem中定义的函数display;显示哈希表保存的下标对应储存位置中的数据;void votesystem::display()//【显示哈希表】{for(int i=0;i<hashlength;i++)if(st[i].name[0]!='\0')cout<<st[i].studentnum<<' '<<st[i].name<<' '<<st[i].number<<"票"<<' '<<st[i].major<<st[i].grade<<st[i].Class<<"班"<<' '<<st[i].achievement<<'\t'<<endl;}3.2.4查询得票模块(1)界面设计(2)处理流程设计利用类中定义的函数showvote,表现出选手得票数;得票数储存在用哈希表下表表示位置的student类型的数组中;void votesystem::showvote(int k) //【按哈希表下标显示票数】{cout<<"现得票数:"<<st[k].number;}3.2.5 投票模块(1)界面设计(2)处理流程设计投票模块的功能是整个系统中最主要的,其中需要考虑的有进行姓名插入时调用的哈西函数,使其排序更合理;同时调用的collision。