数据结构实践报告--停车场管理系统
2
3
4
设计目的
1.通过课程设计,了解并掌握数据结构的设计方法,具备初步的独立分析和设计能力;
2.通过课程设计,初步掌握软件车牌号*/
int arrtime; /*到达/离开时间*/
char car;/*车的类型*/
}ELEMTP; /*顺序栈的数据元素类型*/
typedef struct{
ELEMTP elem[N];
int top;
}SqStack;/*顺序栈类型*/
typedef struct node{
int num; /*车牌号/便道上的车辆数量*/
struct node *next;
11
}QNode; /*链队列的数据元素类型*/
typedef struct{
QNode *front, *rear;
}LQueue; /*链队列类型*/
主函数为void main(),在此函数中用switch()函数来调用子函数。其中车辆进入车站、便道的函数为void Arrive (SqStack *s1, LQueue *q,ELEMTP x);车辆离开函数为void Delive (SqStack *s1,SqStack *s2, LQueue *q,ELEMTP x);车辆显示函数为void Display(SqStack *s1, LQueue *q)。
(五)调试分析
由于此停车场管理系统是分模块设计的,而且在程序的实现过程中又使用了清屏函数,所以,运行时用户选择任务并且执行完任务结构清晰,使用方便。本程序的调试运行,总体上情况良好,但中间也出现了一些小问题。如当删除第3个元素时,出现了错误。
明明有4号车,却出现了提示错误,后经过调试,发现了问题,原来if (==&&==)
13
,这个判定限制了太多,当把其改为if (==),便不会再次出现此问题。
13
(六)测试分析
14
(七)心得体会
(1) 该实验涉及到顺序栈的建立、插入、删除等操作,涉及到了链队列的建立、插入、删除等操作。 做这个实验,加深了我对以上知识点的认识和理解。
(2) 在这一周中,我们提高了 C 语言编程的能力。在程序设计过程中,需要经过反复地编写,调试,运行,发现问题并解决问题,在这次实验的设计中,我加深对程序的了解,提高自己的实际动手能力和独立思考的能力同时我也学会了综合以前学到的基本知识来解决较大问题的方法。
(3)在这一周中,我们通过小组中的团结合作,解决了程序中一个又一个问题。在这个过程中,我们更加了解彼此,更加明白合作的重要性。
这次集中实践,不但学会了知识,还明白了团结的重要性,可谓收获良多。
15
(八)附录(源代码)
#include ""
#include ""
#define N 2 /*停车场容量*/
#define M 10
#define True 1
#define False 0
typedef struct{
int num; /*车牌号*/
int arrtime; /*到达/离开时间*/
char car;/*车的类型*/
}ELEMTP; /*顺序栈的数据元素类型*/
typedef struct{
ELEMTP elem[N];
int top;
}SqStack;/*顺序栈类型*/
typedef struct node{
int num; /*车牌号/便道上的车辆数量*/
struct node *next;
}QNode; /*链队列的数据元素类型*/
16
typedef struct{
QNode *front, *rear;
}LQueue; /*链队列类型*/
void InitStack_Sq (SqStack *s); /*初始化栈*/
int Push_Sq(SqStack *s,ELEMTP x); /*入栈*/
ELEMTP Pop_Sq(SqStack *s); /*出栈*/
void InitQueue_L(LQueue *q); /*初始化队列*/
void EnQueue_L (LQueue *q,int num1); /*入队列*/
int DelQu
数据结构实践报告--停车场管理系统 来自淘豆网m.daumloan.com转载请标明出处.