课程设计报告

发布 2022-10-01 06:23:28 阅读 5119

数据结构课程设计报告。

设计题目: 停车场管理。

专业计算机科学与技术。

班级 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语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...