数据结构-银行排队系统

合集下载

C语言课程设计:银行排队系统

C语言课程设计:银行排队系统

#include <stdio.h>#include <malloc.h>#include <stdlib.h>#include <conio.h>#include <time.h>#define n 3int vip1=0;int y,z;float sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;float i1=0,i2=0,i3=0,i4=0,i5=0;float ave1=0,ave2=0,ave3=0,ave4=0,ave5=0;struct List{int A[n+1]; //顾客用来办理业务的N个窗口int len; //表示数组中的元素个数}L;struct Lnode{ //链表结点类型int data;Lnode *next;};struct Linkqueue{ //链式存储的等候队列的类型定义Lnode *front;Lnode *rear;}Q;void Initshuzu() //初始化线性的算法{for(int i=1;i<=n;i++)L.A[i]=0; //元素值为0,表示编号为I的窗口当前状态为空L.len=0;}void Initqueue() //初始化队列的算法{Q.front=Q.rear=(Lnode *)malloc(sizeof(Lnode));Q.front->next=NULL; //k1}void Enqueue(Linkqueue *Q,int elem) //进队算法{Lnode *s;s=(Lnode *)malloc(sizeof(Lnode));s->data=elem; //k2s->next=NULL; //k3Q->rear->next=s; //k4Q->rear=s; //k5}int Dlqueue(Linkqueue *Q) //出队算法{Lnode *t;int x;if(Q->front==Q->rear){printf("队列为空!\n");exit(1);}else{t=Q->front->next;Q->front->next=t->next; //k6x=1; //k7free(t); //k8return x;}}void printl() //输出数组算法{int i;printf("正在办理业务的顾客编号为:一号柜台二号柜台三号柜台\n");printf(" ");for( i=1;i<=L.len;i++){printf("%d号客户",L.A[i]);}printf("\n");}void print2() //输出队列算法{ int i=0;printf("正在等候办理业务的顾客编号为:");Lnode *s=Q.front->next;while(s!=NULL){printf("%d ",s->data);s=s->next; //k9i++;}printf("\n您的前面一共有%d人在排队,请您稍候!",i);printf("\n");void daoda(int x) //解决顾客到达事件算法{int i=L.len+1;if (L.len<n) //{ L.A[i]=x;i++;L.len++;}elseEnqueue(&Q,x);}void likai(int x) //解决顾客离开事件算法{int i=0;do{if(x>L.len){printf("输入有误!\n请重新输入:");scanf("%d",&x);}elsefor(i=0;i<=L.len;i++){if(i==x){printf("尊敬的%d号顾客您好!\n",x);L.A[i]=0;L.len--;if(Q.front!=Q.rear){int y=Dlqueue(&Q);L.A[i]=y;L.len++;}}}}while(i==0);}int guitai( ) //判断输入的柜台号是否正确int y=0;printf("请输入你所办理业务的柜台号(1-3):\n");scanf("%d",&y);if(y<1||y>5){printf("你输入的柜台号有误,请重新输入!\n");printf("请输入你所办理业务的柜台号(1-3):\n");scanf("%d",&y);}elseprintf(" 你所办理业务的柜台为%d.\n",y);return y;}int pingfeng( ) //判断输入的分数是否正确{int y=0;printf("请输入你评分(1-5):\n 1分…………非常不满意;\n 2分…………比较不满意;\n 3分…………一般满意;\n 4分…………比较满意;\n 5分…………非常满意。

银行排队系统实验报告

银行排队系统实验报告

一、实验目的1. 熟悉银行排队系统的基本原理和设计方法;2. 掌握使用C语言实现银行排队系统的基本操作;3. 培养团队合作精神和实践能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:C语言3. 开发工具:Visual Studio三、实验内容1. 银行排队系统简介银行排队系统是一种模拟真实银行排队场景的程序,主要功能包括:客户到达、排队、服务、离开等。

通过模拟银行排队过程,我们可以了解银行排队系统的基本原理,并为实际应用提供参考。

2. 系统设计(1)数据结构本系统采用队列数据结构来存储排队客户。

队列是一种先进先出(FIFO)的数据结构,适用于模拟银行排队场景。

(2)功能模块本系统主要包括以下功能模块:1)客户到达模块:模拟客户到达银行,并随机生成客户信息,如客户ID、到达时间、服务时间等;2)排队模块:根据客户到达顺序,将客户信息依次加入队列;3)服务模块:按照客户排队顺序,为每位客户提供服务,并更新客户状态;4)离开模块:客户服务完成后,从队列中移除该客户信息;5)统计模块:记录客户服务次数、平均等待时间、最长等待时间等数据。

(3)实现方法1)客户到达模块:使用随机数生成器生成客户信息,并将客户信息存入队列;2)排队模块:当客户到达时,将客户信息加入队列尾部;3)服务模块:从队列头部取出客户信息,为该客户提供服务,并更新客户状态;4)离开模块:当客户服务完成后,从队列中移除该客户信息;5)统计模块:记录客户服务次数、平均等待时间、最长等待时间等数据。

3. 实验步骤(1)初始化系统,设置窗口数量和客户到达时间间隔;(2)模拟客户到达,生成客户信息并加入队列;(3)按照客户到达顺序,为每位客户提供服务;(4)记录客户服务次数、平均等待时间、最长等待时间等数据;(5)统计实验结果,分析银行排队系统性能。

四、实验结果与分析1. 实验结果通过实验,我们得到了以下数据:(1)客户服务次数:100次;(2)平均等待时间:5分钟;(3)最长等待时间:15分钟。

数据结构银行业务模拟实验报告

数据结构银行业务模拟实验报告

数据结构银行业务模拟实验报告1. 背景随着信息技术的快速发展,银行业务的处理和管理变得越来越复杂,需要高效的数据结构来支持。

在这个实验中,我们将使用数据结构来模拟银行业务的处理过程,以评估不同数据结构对于银行业务的影响。

2. 分析2.1 问题描述我们需要模拟一个银行的业务处理过程,包括客户排队、办理业务、等待时间等方面的模拟。

具体而言,我们需要解决以下问题:1.如何表示客户队列和银行窗口?2.如何模拟客户到达和离开的过程?3.如何计算客户等待时间和平均等待时间?4.如何评估不同数据结构对于银行业务处理效率的影响?2.2 设计思路为了解决上述问题,我们可以采用以下设计思路:1.使用队列来表示客户队列,每个元素表示一个客户。

2.使用数组或链表来表示银行窗口,每个元素表示一个窗口。

3.模拟客户到达和离开的过程时,将客户加入队列或从队列中移除。

4.计算客户等待时间时,可以记录客户进入队列的时间和离开队列的时间。

5.通过多次实验,统计客户的平均等待时间。

6.对比不同数据结构的处理效率,可以比较它们的平均等待时间和处理时间。

2.3 数据结构选择在这个实验中,我们需要选择适合模拟银行业务的数据结构。

根据问题描述和设计思路,我们可以选择以下数据结构:1.队列:用于表示客户队列。

队列具有先进先出(FIFO)的特性,非常适合模拟排队等待的场景。

2.数组或链表:用于表示银行窗口。

数组具有随机访问的特性,在某些情况下可能更高效;链表则更适合频繁插入和删除操作。

3. 实验结果3.1 实验设置为了评估不同数据结构对于银行业务处理效率的影响,我们进行了多次实验。

每次实验中,我们模拟了一定数量的客户到达银行,并记录了每个客户离开时的等待时间。

3.2 实验结果分析根据实验结果,我们计算了不同数据结构下客户的平均等待时间,并进行了比较。

以下是实验结果的总结:数据结构平均等待时间队列10分钟数组12分钟链表9分钟从上表可以看出,使用队列作为客户队列的数据结构具有最低的平均等待时间,而使用数组作为银行窗口的数据结构具有最高的平均等待时间。

数据结构 实验报告

数据结构 实验报告

数据结构实验报告一、实验目的数据结构是计算机科学中非常重要的一门课程,通过本次实验,旨在加深对常见数据结构(如链表、栈、队列、树、图等)的理解和应用,提高编程能力和解决实际问题的能力。

二、实验环境本次实验使用的编程语言为C++,开发工具为Visual Studio 2019。

操作系统为 Windows 10。

三、实验内容1、链表的实现与操作创建一个单向链表,并实现插入、删除和遍历节点的功能。

对链表进行排序,如冒泡排序或插入排序。

2、栈和队列的应用用栈实现表达式求值,能够处理加、减、乘、除和括号。

利用队列实现银行排队系统的模拟,包括顾客的到达、服务和离开。

3、二叉树的遍历与操作构建一棵二叉树,并实现前序、中序和后序遍历。

进行二叉树的插入、删除节点操作。

4、图的表示与遍历用邻接矩阵和邻接表两种方式表示图。

实现图的深度优先遍历和广度优先遍历。

四、实验步骤及结果1、链表的实现与操作首先,定义了链表节点的结构体:```cppstruct ListNode {int data;ListNode next;ListNode(int x) : data(x), next(NULL) {}};```插入节点的函数:```cppvoid insertNode(ListNode& head, int val) {ListNode newNode = new ListNode(val);head = newNode;} else {ListNode curr = head;while (curr>next!= NULL) {curr = curr>next;}curr>next = newNode;}}```删除节点的函数:```cppvoid deleteNode(ListNode& head, int val) {if (head == NULL) {return;}ListNode temp = head;head = head>next;delete temp;return;}ListNode curr = head;while (curr>next!= NULL && curr>next>data!= val) {curr = curr>next;}if (curr>next!= NULL) {ListNode temp = curr>next;curr>next = curr>next>next;delete temp;}}```遍历链表的函数:```cppvoid traverseList(ListNode head) {ListNode curr = head;while (curr!= NULL) {std::cout << curr>data <<"";curr = curr>next;}std::cout << std::endl;}```对链表进行冒泡排序的函数:```cppvoid bubbleSortList(ListNode& head) {if (head == NULL || head>next == NULL) {return;}bool swapped;ListNode ptr1;ListNode lptr = NULL;do {swapped = false;ptr1 = head;while (ptr1->next!= lptr) {if (ptr1->data > ptr1->next>data) {int temp = ptr1->data;ptr1->data = ptr1->next>data;ptr1->next>data = temp;swapped = true;}ptr1 = ptr1->next;}lptr = ptr1;} while (swapped);}```测试结果:创建了一个包含 5、3、8、1、4 的链表,经过排序后,输出为 1 3 4 5 8 。

银行预约排队系统(数据结构问题)

银行预约排队系统(数据结构问题)
银行预约排队系统 (数据结构问题)
目录
• 引言 • 银行预约排队系统概述 • 数据结构问题在银行预约排队系统中的应用 • 解决方案与实现 • 结论与展望
01
引言
主题简介
银行预约排队系统是一种用于管理客户 在银行进行业务办理预约的系统,通过 该系统,客户可以提前预约时间,减少 等待时间,提高银行服务效率。
02
银行预约排队系统概述
系统定义与功能
系统定义
银行预约排队系统是一种用于管 理客户在银行进行业务办理预约 的软件系统。
功能概述
该系统主要提供在线预约、排队 等待、业务分配和信息管理等功 能,旨在提高银行业务办理效率 和客户满意度。
系统的重要性与应用
重要性
随着银行业务量的增长和客户需求的多样化,预约排队系统能够有效地解决客 户等待时间过长、业务办理效率低下等问题,提升客户体验和服务质量。
04
解决方案与实现
解决方案设计
确定问题定义
明确银行预约排队系统的需求,包括客户预约、 等待队列管理、服务台分配等功能。
设计数据结构
选择合适的数据结构来存储客户信息和等待队列, 如使用数组、链表或优先队列等。
考虑性能优化
为提高系统效率,考虑采用合适的数据结构和算 法,如使用哈希表实现快速查找。
算法设计与实现
数据结构问题是该系统的核心问题之 一,如何设计一个高效、稳定的数据 结构来存储和管理客户预约信息,是 实现该系统的关键。
背景和目的
随着银行业务的不断发展,客户数量 不断增加,传统的排队方式已经不能 满足客户的需求,因此需要引入预约 排队系统来提高服务效率。
该系统的目的是通过管理客户预约信 息,实现客户分流,减少等待时间, 提高银行服务效率,提升客户满意度 。

银行排队叫号系统需求分析设计文档(含5篇)

银行排队叫号系统需求分析设计文档(含5篇)

银行排队叫号系统需求分析设计文档(含5篇)第一篇:银行排队叫号系统需求分析设计文档银行排队叫号系统的分析与UML建模一、需求分析近年来,由于各行各业的信息化、智能化建设越来越普及,整个社会对各个行业的办事效率的要求也越来越高。

例如像银行办业务,在顾客办业务过程中排队现象在所难免,为了在排队时减少顾客的等待时间,为顾客办业务创造一个良好的环境,银行排队叫号系统应运而生。

银行排队系统的功能性需求包括以下内容:1、排队系统可以分为票务打印系统和窗口操作系统。

2、票务打印系统(1)显示发号机上的显示屏使用液晶显示,显示对待办业务的选择;(2)输入输入过程即通过触摸屏对业务进行选择的过程;(3)输出打印号票打印内容应该包括业务名称、排队号码、时间等;3、窗口操作系统基本包括显示屏、语言提示,叫号按钮(1)显示屏使用点阵式LED显示,显示内容应该是下一个号码以及办理业务窗口;(2)语音提示语音播报时用语音的形式通过广播或者音箱给人一提示信息。

语音提示不需要用户一直盯着提示屏或者排队情况。

选择使用语音芯片,实现的功能应该是当操作员按下按钮后,语音播放下一个办理者的票号。

(3)叫号按钮设置叫号按钮,以便于操作员控制窗口模块的显示屏及语音提示。

满足上述需求的系统主要包括以下几个小的系统模块:(1)派号功能模块。

派号功能模块主要是用于在用户进入服务大厅后,根据自己的业务需要,通过自助式触摸屏号票机领取票号;或者用户在服务大厅业务咨询台进行业务咨询后,咨询员可以为用户打印排队号票。

号票是由排队服务器根据当前情况自动生成。

(2)叫号功能模块。

工作人员可以通过座席软件键盘上的设置键对客户进行叫号;也可通过按键控制器对客户进行叫号;系统可以设置单语或双语进行语音播放;以及通过LED显示屏和其它视频显示设备显示票号。

(3)预约功能模块。

用户可以通过电话预约领取排队号;预约成功后取得预约号;系统将此预约号按预约时间插入当前的排队队列,在系统处理后进行优先呼叫;在同时间下办理业务时,可以进行预约服务,优先办理。

银行排队模拟系统实验报告

银行排队模拟系统实验报告
waibi(c) = num1'将该客户编号存入waibi数组,c为weibi数组的数组元素标号()
TextBox3.Text = TextBox3.Text &"G-"& waibi(c)
TextBox3.Text = TextBox3.Text & vbCrLf
c = c + 1'排在号窗口,并将其号码显示在文本框输出
测试11:
某窗口排对人数超过25人。
(二)遇到的问题和解决方法:
问题1:
当2号、3号窗口同为空时,排在1号窗口的第一为客户的编号会出现在2号、3号两个窗口中。
方法:
经分析,这是由于没有考虑两个窗口的优先级所致,于是我设置办理理财业务的2号窗口的优先级高于办理外币业务的3号窗口。当两窗口同为空时,先给2号窗口分配客户,之后,若1号窗口仍有人排队,再分配给3号窗口。
3、显示排队情况:将客户的编号、所排窗口、所在队伍位置显示在应用程序界面上,模拟排队情况。
4、刷新队伍:每位客户业务办理结束后,工作人员提醒下一位客户,当2号窗口、3号窗口业务办理结束且1号窗口仍有人在办理业务,则将在1号窗口前排队的客户分配到2号窗口、3号窗口去。分配方法是:当2、3窗口同时为空时,先分配给2号窗口,若此时仍有客户在1号窗口排队,则再分配给3号窗口。
7、Button3_Click
退出程序。
8、Timer6_Tick
2号窗口为空,且1号窗口仍有人排队,将排在1号窗口的第一位客户转到2号窗口办理业务。
1号窗口排队人数小于25人时,撤销提示信息,恢复个人业务的办理。
3个窗口均为空,退出程序。
9、Timer5_Tick
3号窗口为空,1、2号窗口均不空,将排在1号窗口的第一位客户转到3号窗口办理业务。

排队系统的设计与实现

排队系统的设计与实现

银行排队系统白勺设计与实现学生:卓勇指导老师:黄隆华(怀化学院计算机工程系,怀化 418008)摘要:随着经济白勺快速发展,银行白勺业务量逐渐增加,银行柜台白勺压力越来越大,排队等待白勺现象也就越来越多,客户在排队中产生矛盾白勺可能性也随之增加,银行排长队现象成为困扰银行和用户白勺难题。

为了更好地服务客户,减少排队中不合理白勺现象,许多银行采用了自动取号排队白勺系统,本课程设计设计并实现了银行排队取号白勺模拟系统。

模拟了取号、排队、服务、及管理等部分功能,在模拟过程中用到了队列、结构体、文件白勺操作以及链表等知识点。

系统中采用了注册登陆取号机制,有效白勺防止了倒票现象白勺发生,系统能够记录用户及工作人员白勺相关信息,管理员通过对用户及工作人员信息白勺统计和分析,可以进一步优化银行营业厅白勺排队问题,提高银行业务办理效率。

本文用流程图等方式对系统进行了需求分析,确定了系统白勺功能。

系统用TXT文件模拟数据库,运用c和c++语言实现系统全部功能,并在最后对系统进行过测试,可以保证系统白勺稳定性和可靠性。

关键词:银行排队业务;队列;链表;数据结构1 前言数据结构一直以来是一门比较有难度白勺学科,关于数据结构白勺学习,我认为要学好数据结构,要比较熟练白勺掌握各种基本白勺结构操作,如二叉树,链表。

就必须要多练习、多实践。

这次白勺课设计就是给我们提供了一个实践白勺平台,可以让我们更好白勺掌握数据结构,进一步巩固这方面白勺知识。

数据结构课程作为计算机白勺一门关键课程,所牵涉到计算机算法方面白勺问题是必然白勺,我希望通过这次课程设计白勺练习能让自己在这次白勺设计中有多方面白勺提高,能更好白勺掌握相关白勺知识。

我白勺选题白勺信息描述:根据输入文件(银行业务窗口信息:现金、非现金业务)为客户设计一个排队系统,该系统以银行业务窗口登录后,可以提取一个号码进行业务处理,处理完后,可以选择下一个号码进行业务处理。

普通用户登录后,可以选择所需业务,然后抽取一个号码作为其业务处理序号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

宁波大红鹰学院信息工程学院






项目名称:银行排队系统
项目组长:白钰琦
项目成员:项鸿伟、徐海域、徐程凯
班级名称:10计科1
专业名称:计算机科学与技术
完成时间:2012年11月27日
信息工程学院制
目录
一、系统总体描述.................................................... - 1 -
二、模块设计(包括文档设计、项目流程设计)........................... - 1 -
三、程序设计(界面设计、后台详细设计)............................... - 2 -
四、设计总结......................................................... - 3 -
五、设计总结......................................................... - 6 -
1、完成情况...................................................... - 6 -
2、心得体会...................................................... - 7 -
一、系统总体描述
银行排队系统是利用现代网络通信技术和计算机信息管理技术来代替传统排队的
系统,从本质上改善传统排队管理所存在的拥挤、嘈杂、混乱现象,避免各种不必要
的纠纷。

通过使用排队系统,由传统的客户站立排队改变为取票进队、排队等待、叫
好服务,由传统物理的多个队列变为一个逻辑队列,使“先来先服务”的思想得到更
好地贯彻。

本系统可以实现银行排队的主要业务活动。

本系统分为以下6个功能模块:
(1)顾客到达。

分为VIP客户和普通客户进行排队拿号,普通客户进入逻辑队列。

(2)顾客离开。

顾客离开时将客户从队列中删除,并提供让客户对银行窗口职员
评价的平台。

(3)查看业务办理。

可以查看每个业务窗口正在给第几号顾客办理业务。

(4)查看排队情况。

可以查看当前顾客有多少个顾客在排队等候。

(5)系统查询。

可以查询本系统为多少个普通用户和VIP客户办理过业务。

(6)退出。

退出整个银行排队系统。

二、模块设计(包括文档设计、项目流程设计)
本程序包含主程序模块、菜单选择模块和队列操作模块,调用关系如下图:
模块调用示意图
2、系统子程序及功能设计
(1)void Initshuzu();
14 main()
123459108
67
1112
NO=m;
= +1)%MAXSIZE;
return 1;
}
int LeaveQueue(QUEUE &Q)
{
if=={
printf("队空!\n");
return 0;
}
else{
int n;
n =[].nNO;
=+1)%MAXSIZE;
return n;
}
}
int Qlength(QUEUE Q)
{
return main(int argc, char* argv[])
{
int nChoice;
int nCount = 1;
int nIteration = 1;
int num;
int length;
QUEUE Q[4];
CUSTOMER_INFO customer;
printf("****************农村信用社排队系统*************\n");
for(int i = 0; i < 4; i++)
InitQueue(Q[i]);
for(; ;){
printf("\n\n==========第%d次模拟处理============\n",nIteration++);
for(int j = 0; j < 4; j++){
if(j == 0)
printf("正在等待服务的顾客: ");
else
printf("%d号柜台已服务顾客: ", j);
length=Qlength(Q[j]);
customer = Q[j].base[Q[j].front];
for(int k=1;k<=length;k++){
printf("%3d", ;
customer=Q[j].base[Q[j].front+k];
}
printf("\n");
}
printf("\n");
printf("1----1号柜台服务\n");
printf("2----2号柜台服务\n");
printf("3----3号柜台服务\n");
printf("4----新客户取号等待服务\n"); printf("0----退出银行排队系统\n");
printf("请选择: ");
scanf("%d",&nChoice);
if(nChoice < 0 || nChoice >4){
getchar();
printf("\n>>>输入非法!\n");
}
if(nChoice == 0)
break;
else if(nChoice == 4){
=nCount;
nCount=nCount+1;
EnterQueue(Q[0], ;
}
else if(nChoice >=1 && nChoice <=3){
num=LeaveQueue(Q[0]);
if(num){
=num;
EnterQueue(Q[nChoice], ;
}
else{
printf("\n>>>当前没有等待客户!\n");
}
}
}
return 0;
}
五、设计总结
1、完成情况
这次是数据结构的第二个项目,我们小组基本还是能顺利完成本次项目内容,组长分工明确,各成员能按时并保质保量完成各自模块,但是在拼接时候出现很多问题,有的是细节,有的是源程序本身存在的错误,通过大家齐心协力,多次修改整合之后,最终上交了一份我们自己的成果。

虽然最后的功能创新点不是很多,但是我们在完善课本的内容时,解决困难也可以更加巩固所学到的知识,将学习到的知识运用到设计软件的代码里。

2、心得体会
白钰琦:通过此次的银行排队系统的设计开发,让我对数据结构中链式队列结构有了更多的理解,对列是限定仅在一端进行插入,而在另一端进行删除操作的线性表,在此次实验中,我们才用的是链式队列的存储结构,该存储模式合适增删,但不适合查找,次程序可采用循环模式,但容易溢出。

同时,此次的设计让我更多的理解了c语言编程的规则,对以后的项目有了更好的基础。

徐程凯:我这次负责的项目主要是视频的制作。

这次的项目是关于队列与栈的。

我们小组最后决定是用的是链式链表,因为这个项目不需要我们进行修改和查找只需要添加删除,所以我们觉得使用链式列表是最为科学的方法。

这次课程设计使我加强了自身的编程能力的同时,也让我认识到要将所学灵活的应用到实际生活中去,不可以凭空想象,要着眼实际,找到生活所需,理论里联系实际,才可以编写出真正有价值的程序。

徐海域:课程设计不同于平时的编程实验,它的要求更多更全面,需要程序编写者在前期做出准确的需求分析,还有后期全面的程序测试,这些都是在过去的学习中很少接触到的。

通过老师的讲解和自身在编程中的实践,我深刻体会到需求分析可以使得程序更贴近生活,更具实用性,而全面到位的程序设计则可以保证程序的实用性和健壮性。

项鸿伟:通过这次课程设计,我学到了不少东西,对大型的编写有了一丁点额了解,更重要的是断了了我的自学能力,这对我们的学习很有好处。

但是也存在很多问题,程序调试的时候出了很多问题,但是在同学的帮助下还是顺利的完成了这个程序。

相关文档
最新文档