数据结构课程设计(第二组)

上传人:z**** 文档编号:71920855 上传时间:2022-04-07 格式:DOC 页数:26 大小:196.50KB
收藏 版权申诉 举报 下载
数据结构课程设计(第二组)_第1页
第1页 / 共26页
数据结构课程设计(第二组)_第2页
第2页 / 共26页
数据结构课程设计(第二组)_第3页
第3页 / 共26页
资源描述:

《数据结构课程设计(第二组)》由会员分享,可在线阅读,更多相关《数据结构课程设计(第二组)(26页珍藏版)》请在装配图网上搜索。

1、. . . . 学院课程设计报告课程名称:数据结构 设计题目: 停车场管理系统院 部: 计算机与信息工程学院 专 业: 网络工程 组 别: 第二组起止日期:2012年 6 月 5日 -2012年6月25 日 指导教师:王精明计算机与信息工程学院二一二年制课程设计题目停车场管理系统组长严盼盼学号2011211329班级网工112院部计算机与信息工程学院专业网络工程组员武倩、闫静、周晶晶、夏艾指导教师王精明课程设计目的 运用栈,队列,链表完成停车场管理系统的设计,提高学生的编程能力课程设计所需环境Visual C+ 6.0课程设计任务要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的数据

2、序列进行模拟管理。每一组输入数据包括三个数据项:汽到 达或离去信息,汽车牌照以与到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:在停车场停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。课程设计工作进度计划序号起止日期工 作 容分工情况16.56.9课程容介绍和查找资料严盼盼 :介绍课程容武倩、闫静、周晶晶、夏艾:查找资料26.106.12设计总体思路,基本原理和框图严盼盼 :设计思路,编写程序36.136.16修改程序,实现程序武倩、闫静、周晶晶、夏艾:负责修改程序并实现程序46.176.19制作文档的前期工作严盼盼:详细设计;武倩:负责实

3、现进入与退出通道程序;闫静:负责实现显示存车车信息程序;周晶晶:负责实现车辆离开程序;夏艾:负责实现栈与队列的初始化56.206.22对文档进行汇总严盼盼将小组成员负责的模块汇总66.236.25整理文档武倩对汇总后的文档进行修改,整理,排版指导教师签字: 年 月 日系(教研室)审核意见:系(教研室)主任签字: 年 月 日课程设计任务书目录1 引言12 需求分析12.1题目12.2设计任务12.3设计要求12.4设计思想概述22.4.1设计分析22.4.2设计过程22.5运行环境与开发工具33 概要设计33.1流程图33.2自定义数据结构43.3所用方法与其原理的简要说明53.4时间复杂度的分

4、析74 详细设计74.1模块划分74.2完整程序代码115 调试与操作说明185.1调试过程185.2运行结果195.2.1车辆到达195.2.2车辆离开205.2.3显示存车信息:205.2.4退出系统:216 课程设计总结与体会217 致228 参考文献2223 / 261 引言停车场电脑收费管理系统是现代化停车场车辆收费与设备自动化管理的统称,是将车场完全至于计算机管理下的高科技机电一体化产品。根据多年设计,安装停车场收费系统的实际经验,我们在软件和系统设计上为停车场提供了一套最严格,最先进,易用,便于维护和运行可靠的收费系统;一套能有效的堵塞收费漏洞,降低操作成本,提高经济效益和减轻劳

5、动强度,提高工作效率的现代化收费管理系统。随着时代的发展,私家车越来越多,而车位却十分紧,在市区有很多空间没有被充分利用,大多数车辆是停在路边或者简易停车场,这一导致了资源的浪费,也造成了街道的拥堵。为了适应社会的发展,大量的现代化大规模的停车场会被投入使用,但管理方面又容易出现问题。因此,停车场管理系统的开发和应用时十分必要的。希望通过本次设计实践达到三个目的:一是用已学的知识分析此程序的总体需求,实现方案,并分析开发系统的可行性,为决策者提供了是否开发该系统的依据和建议。二是锻炼自己的动手实践能力,提高我们的编程能力,能够运用程序的编写解决实际问题。三是在设计进行中进行模块划分,培养我们的

6、模块化设计意识,同时加强团队合作能力。2 需求分析2.1题目停车场管理系统2.2设计任务设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场按车辆到达时间的先后顺序,依次由北向南排列(大门在南端,最先到达的第一辆车停放在停车场的最北端),若停车场已停了n辆汽车,则后来的汽车只能在门外的通道上等候,一旦有车开走,排在通道上的第一辆车即可开入;当停车场每辆车要离开时,在它之后进入的车辆必须先退出停车场为其让路,待该辆车开出大门,其他车辆再按原次序进入停车场,每辆停放在停车场的车在它离开停车场时必须按它停留在停车场的时间长短交纳停车费。试为停车场编写按上述要求进行管理的模

7、拟程序。2.3设计要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车到达或离去信息,汽车牌照以与到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:在停车场停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。2.4设计思想概述2.4.1设计分析由于停车场是一个狭窄通道,而且只有一个大门可供汽车进出,且要求汽车停在停车场按车辆到达时间的先后顺序,依次由北向南排列。所以就可采用数据结构中的堆栈模型,因此可首先设计一个堆栈,以堆栈来模拟停车场,又每个汽车的车牌号都不一样,这样就可以根据

8、车牌号准确找到汽车位置,所以就将栈里的数据设计成汽车的车牌号。当停车场某辆车要离开时,在他之后的车辆必须先退出车场为他让路,待该辆车开出大门外,其它车辆再按原次序进入停车场。这是个一退一进的过程,而且让道的汽车必须保持原有的先后顺序,所以可再设一个栈来暂时存放为出站汽车暂时让道的汽车车牌号。当停车场满后,继续进来的汽车需要停放在停车场旁边的便道上等候,若停车场有汽车开走,则按排队的先后顺序依次进栈,最先进入便道的汽车将会最先今日停车场,这完全是一个先进先出模型,因此可设计一个队列来模拟便道。队列中的数据元素仍然设计成汽车的车牌号,另外,停车场根据汽车在停车场停放的总时长来计费用,在便道上的时间

9、不计费,因此必须记录车辆进入停车场时的时间,车辆离开停车场时的时间不需要记录,当从终端输入时可直接使用。由于时间不像汽车一样需要让道,设计一个顺序表来存放时间,又用顺序表用派生法设计了一个堆栈,恰好满足上面模拟停车场的需要。2.4.2设计过程存储结构程序中分别采用了“栈和“队列”“栈”的定义可知,每一次入栈的元素都在原栈顶元素之上成为新的元素,每一次出战的元素总是当前栈顶元素使次栈元素成为新的栈顶元素,即最后进栈者先出栈。程序中采用的结构是:Typedef struct NODE Carnode *stackMAX+1;Int top SepStackCar;/*模拟车库*/“队列”使限定所有

10、插入操作只能在表的一端进行,而所有的删除操作都只能在表的另一端进行。插入段叫队尾,删除端叫队头。按先进先出规则进行。程序中采用的结构是:typedef struct Node QueueNode *front; QueueNode *rear; LinkQueueCar;/*模拟通道*/操作过程A.停车场管理的初始化初始化栈void InitStack(SeqStackCar *s)初始化通道int InitQueue(LinkQueueCar *Q)B. 停车场中车辆到达int Arrival(SeqStackCar *Enter,LinkQueueCar *W)C.停车场中车辆离开 voi

11、d PRINT(CarNode *p ,int room) void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W)D.显示存车信息 void List1(SeqStackCar *s) void List2(LinkQueueCar *W) void List (SeqStackCar s,LinkQueueCar W)E.主函数调用 void main()2.5运行环境与开发工具软件环境: Microsoft Visual C+6.03 概要设计3.1流程图见图3-1 开始以堆栈来模拟停车场和以堆栈里的数据元素模拟设计

12、成汽车的车牌号,以队列来模拟停车场外的通道且也将其储存的数据元素设计成汽车的车牌号初始化停车站,初始化让路的临时栈,初始化通道车辆到达,判断停车场是否已满是车进便道否车进停车场输入车子到达时间,车牌号判断停车场是否已满不作任何计算是车子离开否输入离开车辆的离开时间,进行停车费用的计算 便道内的车 进入停车场图3-1 算法流程图3.2自定义数据结构typedef struct timeint hour;int min; Time;/时间结点typedef struct nodechar num10;Time reach;Time leave;CarNode;/车辆信息结点说明:1.车辆信息结点中

13、存储车牌号、到达时间、离开时间 2.一个车辆信息结点代表的就是一辆车子 3.里面包含的子结点是时间结点,时间结点里含小时信息、分钟信息typedef struct NODECarNode *stackMAX+1;int top;SeqStackCar;/模拟车场说明;1.模拟车场里存储着表示车辆信息结点型的指针数组 2.同时包含着栈的特有标志top指示 typedef struct Car CarNode *data;struct Car *next; QueueNode; typedef struct NodeQueueNode *front;QueueNode *rear;LinkQueu

14、eCar;/模拟通道说明:1.模拟通道里包含着QueueNode型的头指针、尾指针 2. QueueNode里储存着车辆信息结点型的数据且为指针型,同时还含有递归意思的自身结构的调用next且也为指针型3.3所用方法与其原理的简要说明InitStack(&Enter/Temp)操作结果:构造一个空栈Enter/Temp。InitQueue(&Wait)操作结果:构造一个空队列Wait。Arrival(&Enter,&W)将需要在停车场安放的车子信息进行储存:1. 若此时车场没满,将车子送入停车场中,并储存车子的信息(车牌、到达时间、在车场的位置)2. 若此时车场已满,将车子送入便道中,也储存车

15、子的信息(车牌)Leave(&Enter,&Temp,&W)PRINT(&p,&room) 车辆离开,先判断车场里是否有车, 若有车辆,则需输入离开车在车场的位置,同时输出将要离开车的信息(当时此车进栈的时间,应交的费用)车走后,在判断便道里可有车, 若有车,将便道的车辆进入车场,并确定此车辆在车场中的位置,并同时输入此时它 进车场的时间 若没车,则输出“便道没有车” 若没有车辆,则输出“停车场没有车”List1(&s)List2(&W)List (s,W)显示车场信息输入选择:1 2 3.(1为车场 2为便道 3为返回)若输入1,判断有没有车,若有车,就将所有车在停车场的信息显示出(这些车的

16、位置、到达时间、车牌号),若没有车,就输出“车场里没有车”。若输入2,判断通道中有没有车,若有车,就将所有车在便道中的信息显示出(车牌号);若没车,就输出“便道里没有车”。若输入3,返回到主函数void main()定义并初始化停车场、临时栈、通道输入你的选择:1.车辆到达2.车辆离开3.列表显示4.退出系统调用子函数完成停车场的管理操作3.4时间复杂度的分析说明:对时间复杂度的分析,均值在最坏情况下的时间复杂度在栈结构中:初始化栈(即车库),使车库为空。此时,时间复杂度=O(max)。停车最坏的情况是要车位已经满。此时,时间复杂度=O(1)。关于车辆离开的时间复杂度=O(max)。车辆信息的

17、显示的时间复杂度=O(1)。在队列结构中:出场车的信息的时间复杂度=O(1)。判断通道上是否有车与车站是否已满,此时,时间复杂度=O(max)。车辆停车费用的时间复杂度=O(1)。在整个程序中,时间复杂度=O(1)(即常数阶)。4 详细设计4.1模块划分第一模块:(车辆到达)int Arrival(SeqStackCar *Enter,LinkQueueCar *W)/*子函数*/定义的指针类型为CarNode;定义的指针类型为QueueNode;用malloc开辟车子结点CarNode的空间,同时用指针指向新开辟空间的首地址;flushall();/刷新缓冲区,此函数可要可不要;用gets(

18、输入车牌号信息);if(进入的车辆数小于存储车辆的最大值)进入的车辆数量加1;通过printf语句显示(输入车辆在车辆的位置。”通过Enter-top输入位置);通过scanf(输入车辆到达时间,用&(p-reach.hour),&(p-reach.min)输入);将p指针里包含的所有信息赋值给停车场栈的结点里;上面的程序运行完毕,用return 1跳出子函数,到达主函数;else(输入的车辆数大于车场的存储量)显示(该车需在便道等待!),然后得将车送入便道;用malloc开辟便道的存储空间(即一个结点信息),同时用QueueNode型指针接收新开辟结点的首地址;将p指针里包含的所有信息赋值给

19、通道的结点里,用t-data储存;且令t-next=NULL;让新到的暂停车子连接到队尾上,用W-rear-next=t得以实现;同时将队尾挪移到下一位;用W-rear=t得以实现;上面的程序运行完毕,用return 1跳出子函数,到达主函数;第二模块:(车辆离开)void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W)*子函数*定义room的类型为int:记录车辆在停车场中的位置定义p、t的指针类型为CarNode:p指针用来储存离开车辆的信息,t指针用来储存从通道上入停车场的车辆信息定义q的指针类型为QueueNode

20、:用q指针控制通道车子的移动if(停车场车辆的数量大于0,即有车)while(1)通过scanf输入车在车场的位置,用&room输入);if(输入的要离开的车子的位置不小于1且不大于停车场最大停放数量) 就跳出循环; while(停车场停放车辆的位置大于输入的要离开车子的位置) 靠近大门的车子就要退出让道,安置到临时栈中且同时位置加1(Temp-top+); 将停车场栈顶信息赋给临时栈的栈顶 (Temp-stackTemp-top=Enter-stackEnter-top); 然后将停车场栈顶设置为空(Enter-stackEnter-top=NULL) ; 同时位置减 1(Enter-top

21、-); 将停车场栈顶的信息赋给指针p(p=Enter-stackEnter-top),便于车子信息的打印将停车场栈顶设置为空(Enter-stackEnter-top=NULL);同时位置减1(Enter-top-);while(临时栈的栈顶有车)将停车场栈顶位置加1(Enter-top+);将临时栈的栈顶信息赋给停车场的栈顶Enter-stackEnter-top=Temp-stackTemp-top;将临时栈栈顶设置为空(Temp-stackTemp-top=NULL); 同时位置减1(Temp-top-); 将要离开的车子的信息打印出(离开时间、车牌号、到达时间、应交费用)(PRINT(

22、p,room))if(便道不为空同时满足停车场的栈顶小于3)用q指针指向便道头指针的后继(q=W-front-next);再将q的存储车子信息数据赋给指针t(t=q-data);将停车场栈顶位置加1(Enter-top+);printf(输出便道的几号车进入停车场第几个位置。,用t-num输入几号车,用Enter-top输入在第几个位置);用scanf来完成对此时(即便道的车进入停车场的时间)时间的输入,用&(t-reach.hour)输入小时,用&(t-reach.min)输入分钟);将头指针后移(W-front-next=q-next);if(q以到达便道的尾指针) 令便道的头指针和尾指针

23、相等(W-rear=W-front);再将t里所有的信息赋给停车场的栈顶(Enter-stackEnter-top=t)同时释放q(free(q)) else printf(n便道里没有车。n); else printf(n车场里没有车。); 第三模块:(显示存车信息)void List (SeqStackCar s,LinkQueueCar W)定义int型的flag,tag;且初始化令flag=1(用于跳出循环的变量);while(让flag变量控制程序的循环条件)输入你的选择:1.车场n2.便道n3.返回;while(1)通过scanf输入你的选择(&tag);if(你输的值是1、2、3

24、),就跳出循环(break);else 永远不会跳出循环,提示printf(n请选择1|2|3:;通过switch语句锁定你的选择(tag) 若输入1执行语句List1(&s)(case 1:List1(&s);break;); 若输入2执行语句List1(&s)(case 2:List2(&W);break;); 若输入3执行语句List1(&s)(case 3:flag=0;break;);void List1(SeqStackCar *s)停车场信息引用SeqStackCar的栈S;定义int 类型的变量i,来控制移动;运用if语句:if(停车场里有车)for(通过i变量依次输出停车场车

25、的信息)输出车场信息:车子所在位置、到达时间、车牌号(直到不满足条件就跳出循环,返回子函数)else 输出“车场里没有车”void List2(LinkQueueCar *W)通道信息引用类型为LinkQueueCar 的队列W;定义类型为QueueNode的指针P,且指向队头的后继(p=W-front-next);if(队头!=队尾(即通道里有车)While(只要p指针不为空)输出通道中车子的车牌(puts(p-data-num));再让P指向后继;else printf(n便道里没有车。);第四模块:(主函数)void main() 定义SeqStackCar数据类型的 Enter,Tem

26、p; 定义LinkQueueCar数据类型的 Wait; 定义ch的类型为int来控制你的选择输入; 模拟停车场InitStack(&Enter),将Enter的地址传给子函数InitStack进行初始化车站; 模拟通道InitStack(&Temp),将Temp的地址传给子函数InitStack进行初始化让路的临时栈; 模拟通道InitQueue(&Wait),将Wait的地址传给函数InitQueue进行初始化通道;while(1) 输出说明1表示车辆到达停车场printf(n1.车辆到达); 输出说明2表示车辆离开停车场printf(2.车辆离开); 输出说明3表示整个停车场的停车信息p

27、rintf( 3.列表显示); 输出说明4表示退出这个循环系统printf( 4.退出系统); while(1)显示说明人员要进行哪种操作printf(n输入你的选择: ); 用scanf(输入选择,用&ch记录);if(输入的选择不小于1且不大于4) 退出循环;else 提示你再输1|2|3|4四种数字;switch(你选择的数字)若输入1,就执行Arrival(&Enter,&Wait)函数,将Enter的地址和Wait的地址传给函数Arrival输入车子进站的信息;跳出switch函数; 若输入2,就执行Leave(&Enter,&Temp,&Wait)函数;将Enter的地址、Temp

28、的地址和Wait的地址传给函数Leave输出离开的车子的信息;跳出switch函数; 若输入3,就执行List(Enter,Wait)函数;将Enter、Wait传给函数List,选择输出车道、便道的信息;跳出switch函数;若输入3,就执行exit(0)语句;退出循环;default:跳出switch函数; 4.2完整程序代码=课程设计代码=停车场管理系统=/=Course Design by ypp=2012-6-11=#include#include#include# define MAX 3 /车库容量# define price 0.05/每秒每分钟费用typedef struct

29、 timeint hour;int min; Time;/时间结点typedef struct nodechar num10;Time reach;Time leave;CarNode;/车辆信息结点typedef struct NODECarNode *stackMAX+1;int top;SeqStackCar;/模拟车场typedef struct CarCarNode *data;struct Car *next; QueueNode;typedef struct NodeQueueNode *front;QueueNode *rear;LinkQueueCar;/模拟通道/=初始化栈

30、=void InitStack(SeqStackCar *s)s-top=0;s-stacks-top=NULL;/=初始化通道=int InitQueue(LinkQueueCar *Q)Q-front=(QueueNode *)malloc(sizeof(QueueNode);if(Q-front!=NULL)Q-front-next =NULL;Q-rear=Q-front;return (1);else return(-1);/=车辆到达=int Arrival(SeqStackCar *Enter,LinkQueueCar *W)CarNode *p;QueueNode *t;p=(

31、CarNode *)malloc(sizeof(CarNode);flushall();printf(n 请输入车牌号(例如:闽A1234): );gets(p-num);if(Enter-toptop+;printf(n 车辆在车辆第%d位置。 ,Enter-top);printf(n 请输入到达时间:/_:_/);scanf(%d:%d,&(p-reach.hour),&(p-reach.min);Enter-stackEnter-top=p;return (1);elseprintf(n* 该车需在便道等待! *n);t=(QueueNode*)malloc(sizeof(QueueNo

32、de);t-data=p;t-next=NULL;W-rear-next=t;W-rear=t;return(1);/=打印出车场的信息=void PRINT(CarNode *p ,int room)int A1,A2,B1,B2;printf(n 请输入离开的时间:/_:_/);scanf(%d:%d,&(p-leave.hour),&(p-leave.min);printf(n 离开车牌的车牌号为:);puts(p-num);printf(_);printf(n 其到达时间为:%d:%d ,p-reach.hour,p-leave.min);A1=p-reach.hour;A2=p-re

33、ach.min;B1=p-leave.hour;B2=p-leave.min;printf(n 应交费用为:%2.1f元 n,(B1-A1)*60+(B2-A2)*price);printf(_);free(p);/=车辆离开=void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W)int room;CarNode *p,*t;QueueNode *q;/判断车场里是否有车if(Enter-top0)/有车while(1)/输入离开车辆的信息printf(n请输入车在车场的位置/1-%d/:,Enter-top);scan

34、f(%d,&room);if(room=1 & roomtop)break;while(Enter-toproom)/车辆离开Temp-top+;Temp-stackTemp-top=Enter-stackEnter-top;Enter-stackEnter-top=NULL;Enter-top-;p=Enter-stackEnter-top;Enter-stackEnter-top=NULL;Enter-top-;while(Temp-top=1)Enter-top+;Enter-stackEnter-top=Temp-stackTemp-top;Temp-stackTemp-top=NUL

35、L;Temp-top-;PRINT(p,room);/判断通道上是否有车与停车场是否已满if(W-front!=W-rear)&Enter-topfront-next;t=q-data;Enter-top+;printf(n 便道的%s号车进入停车场第%d位置。 ,t-num,Enter-top);printf(n 请输入现在的时间/_:_/:);scanf(%d:%d,&(t-reach.hour),&(t-reach.min);W-front-next=q-next;if(q=W-rear) W-rear=W-front;Enter-stackEnter-top=t;free(q);els

36、e printf(n 便道里没有车。 n);else printf(n 车场里没有车。);/没有车/=显示存车信息=void List1(SeqStackCar *s)/车场信息int i;if(s-top0)printf(n= 车场信息: );printf(n= 位置 到达时间 车牌号n);for(i=1;itop;i+)printf( %d ,i);printf( %d:%d ,s-stacki-reach.hour,s-stacki-reach.min);puts(s-stacki-num);else printf(n= 车场里没有车 =);void List2(LinkQueueCar

37、 *W)/通道信息QueueNode *p;p=W-front-next;if(W-front!=W-rear)printf(n 等待车辆的为: n);while(p!=NULL)printf( );puts(p-data-num);p=p-next;else printf(n 便道里没有车。n);void List (SeqStackCar s,LinkQueueCar W)int flag=1,tag;while(flag)printf(*);printf(n 请输入1|2|3: );printf(n* 1.车场 2.便道 3.返回 *n);while(1)scanf(%d,&tag);i

38、f(tag=1|tag=1&ch=4)break;else printf(n please choose:1|2|3|4.);switch(ch) case 1:Arrival(&Enter,&Wait);break; case 2:Leave(&Enter,&Temp,&Wait);break; case 3:List(Enter,Wait);break; case 4:exit(0); default:break;5 调试与操作说明5.1调试过程Compile:-Configuration: Design 1 - Win32 Debug-Compiling.Skipping. (no re

39、levant changes detected)1.cpp1.obj - 0 error(s), 0 warning(s)Build:-Configuration: Design 1 - Win32 Debug-Linking.Design 1.exe - 0 error(s), 0 warning(s)BuildExecute:图5-1 调试过程5.2运行结果5.2.1车辆到达 A.车场未满:图5-2 车辆未满时的情况 B.车场已满:图5-3 车辆已满时的情况5.2.2车辆离开A. 车辆离开,通道里有车,让通道里的车进停车场图5-4 车辆离开B. 车辆离开,通道里没车,不操作5.2.3显示存

40、车信息图5-5 存车信息5.2.4退出系统图5-6 退出系统系统6 课程设计总结与体会通过两周来的课程设计实践,主要有以下几点总结和体会;这次设计是通过查阅各种资料、与同学讨论以与独立思考设计出来的。在设计过程中,用到了本学期所学到的栈、队列、链表。因此,对它们的编程方法有了更深一步的了解。同时通过Vical C+ 6.0软件编写的程序进行实现,从而使设计结果得到了验证。 通过这次课程设计环节,更深一步的学会了栈,队列,链表的使用方法,提高了编程能力。将理论与实践相结合,知识的价值才会真正体现出来。但将所学的知识合理有效的应用于实践中,是很艰难的。但是面对困难我们需要勇气和执着。如果缺乏勇气不

41、能在挫折面前我们便会不知所措,不愿有所作为,这样是不会有进展的。一开始接触这样综合性的程序设计,心里很没底,不知从何处着手。但是通过指导老师的指点和查阅一些资料便能渐渐理清思路。另外还想提一下的就是Vical C+ 6.0的使用,开始的时候对Vical C+ 6.0很不熟悉,但是摸索一段时间,我们还是能用用它来编程程序的。当然要进行一项比较复杂的实践时,光有勇气还是不够的,更加需要执着地付出。我们组这次的前期设计过程是这样的:先是看懂题目,然后是编写程序,最后对程序进行调试。这三个环节我们都花费了不少时间。这次的课程设计主要是对栈,队列,链表在实际题目中得应用。这时需要静下心来复习,把程序的各

42、个部分原理弄清楚,譬如怎样开辟空间,怎样存储,怎样实现进队,出队等等。在实验过程中,我们做了很多的改进,这让我们深刻认识到了完成一个设计可以有很多方法,我们将繁杂的设计不断地改进,尽量让程序更加简单完美。7 致感王精明老师对我们课程设计的指导。在老师的指导下我们很快就完成了课程的设计,对于我们提出的问题,老师都一一细心的给我们解答。能够完成这次课程设计,老师给了我们很大的帮助!非常感王精明老师的指导。8参考文献1数据结构语言版严蔚敏吴伟民编著 清华大学 20112数据库数据结构软件工程课程设计指导与习题解答徐志才方贤文士喜编 师大学 20113C语言程序设计 何钦铭 颜晖 主编 高等教育2008评语:评阅教师签名: 年 月 日成 绩

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!