数据结构课程设计报告。
设计题目: 停车场管理。
专业计算机科学与技术。
班级 101
学号 201016021118
学生姓名朱发涛。
指导教师方娇莉。
设计时间 2010-2011学年下学期
教师评分。2024年06 月15日。
目录。1.概述 2
1.1目的 2
1.2课程设计的组成部分 2
设计的内容 2
3.总结 5
3.1课程设计进行过程及步骤 5
3.2所遇到的问题,你是怎样解决这些问题的 6
3.3体会收获及建议 6
4.参考资料(书、**、网络资料) 6
停车场管理。
#include<>
#include<>
#include<>
#define max 2
typedef struct
int stack[2][max];
int top;
seqstack;
typedef struct qnode
int data1;
int data2;
struct qnode * next;
lqnode;
typedef struct
lqnode *front;
lqnode *rear;
lqueue;
*栈*/void stackinitiate(seqstack *s)
s->top=0;
int stackpush(seqstack *s,int x,int y)
if(s->top>=max)
printf("车道满");
s->stack[0][s->top]=x;
s->stack[1][s->top]=y;
s->top++;
return 1;
int stackpop(seqstack *s,int *d1,int *d2)
s->top--;
d1=s->stack[0][s->top];
d2=s->stack[1][s->top];
return 1;
*队列*/void queueinitiate(lqueue *q)
q->front=null;
q->rear=null;
int queuenotempty(lqueue q)
if( return 0;
else return 1;
int queueappend(lqueue *q,int x,int y)
lqnode *p;
p=(lqnode*)malloc(sizeof(lqnode));
p->data1=x;
p->data2=y;
p->next=null;
if(q->rear!=null)
q->rear->next=p;
q->rear=p;
if(q->front==null)
q->front=p;
return 1;
int queuedelete(lqueue *q,int *d1,int *d2)
lqnode *p;
d1=q->front->data1;
d2=q->front->data2;
p=q->front;
q->front=q->front->next;
if(q->front==null)
q->rear=null;
free(p);
return 1;
void main()
char state[1];
/char state;
int carnum,time,count=0;
seqstack sa,sb;
lqueue qc;
lqnode *p;
stackinitiate(&sa);
stackinitiate(&sb);
queueinitiate(&qc);
printf("\t\t停车场管理n");
printf("输入车辆信息(a表示到达;d表示离去;e表示输入结束):");
while(1)
printf("a/d/e:")
scanf("%s",state);
/scanf("%c",state);
if(state[0]==e'||state[0]==e'/*state=='e'*/
break;
printf("车牌号:")
scanf("%d",&carnum);
printf("时间:")
scanf("%d",&time);
if(state[0]==a'||state[0]==a'/*state=='a'*/
if({stackpush(&sa,carnum,time);
printf("\t\t\t汽车在停车场内排在第%d个位置",else
queueappend(&qc,carnum,time);
count++;
printf("\t\t\t车道满!汽车排在便道的第%d个位置上",count);
else if(state[0]==d'||state[0]==d'/*state=='d'*/
int i=0,j,a,b;
while(<
i++;if(i>=
p=while(p!=null&&p->data1!=carnum)
p=p->next;
if(p==null)
printf("\t\t\t输入错误,停车场没有该车");
else if (p!=null)
printf("\t\t\t车。
elsefor(j=>i;j--)
stackpop(&sa,&a,&b);
stackpush(&sb,a,b);
stackpop(&sa,&a,&b);
printf("\t\t\t车牌号为%d的车车在停车场内的时间为%d",carnum,time-b);
printf("\t\t\t车牌号为%d的车花费的停车费为¥%d",carnum,time-b);
for(i=0;i<
stackpop(&sb,&a,&b);
stackpush(&sa,a,b);
if(queuenotempty(qc)==1)
queuedelete(&qc,&a,&b);
count--;
stackpush(&sa,a,time);
运行结果。课程设计需填写的内容包括):
精确的算出,到达的车辆,在停车场或便道上的位置,离去的车辆,输出在停车场停留的时间和应交的费用。
程序,运行结果,流程图。
流程图.judge_output算法流程图:
a_cars算法流程图:
d_cars算法流程图:
judge_output(s,q,r);/根据r中车辆信息控制车辆是入栈s
还是入队q以及相关操作。
a_cars(s,q, a);/将到达车辆a的信息入栈s或者入队q
d_cars(s,q, d);/将待离开车辆d出栈s,并将q中相应车。
辆入栈并进行相关的操作。
该程序是四个程序调试中最顺利的一个,只在一个地方上出了问题,就是输入字符时由于回车键也是字符,回车键总会被读入,导致经常输出“error!”。后来找到原因后在scanf函数后紧接着加了一个getchar();语句后就恢复了正常。
进过这次课程设计,我明白了很多的东西,在设计的过程中,我遇到了很多的困难,在运行时,只要有一点的错误都难以运行处结果,让我很难过,经过反复的修改,才能运算出来,我明白做人也是一样,要踏踏实实的去做,在人生当中不要总犯那些不该犯错误。
数据结构-c语言描述,c程序设计。
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...