c语言停车系统毕业论文(c语言停车场管理系统)

1.c语言停车场管理系统

#include #include #include #include #define max 3#define price 1int b=1;typedef struct {int day;int hour;int min;}TIME; //时间结点 typedef struct{char num[10]; //车牌号TIME time; //进入停车场的时间int n; //进入停车场的位置}information;//栈结构体定义typedef struct node{information data;struct node *next;}stacknode; stacknode *top1,*top2;//队列结构体定义typedef struct {information data;stacknode *front,*rear;}LQueue;LQueue *Q; //函数声明部分/////////////////////////////////////////////////////////stacknode *Init(); //栈的初始化stacknode *into(stacknode *top1,LQueue *Q); //初始化车辆进入 int expenses(stacknode *p,int x,int y); //停车费用计算函数stacknode *leave(stacknode *top1,char str[],LQueue *Q); //车辆驶出出场函数LQueue *InitLQue(); //初始化队列函数 LQueue *wait(LQueue *q,stacknode *s); //车辆进入候车便道函数 int EmptyLQue(LQueue *q); //判断候车便道有无等待车辆函数stacknode *out(LQueue *q); //候车区车辆出队 stacknode *LQinto(stacknode *p,stacknode *top1); //从候车便道进入停车场函数 void show(stacknode *top1); //显示停车场所有信息函数void T_shou(LQueue *Q); //显示候车区信息/*函数部分*///主函数void main(){char str[10];Q=InitLQue();top1=Init();top2=Init();Q=InitLQue();int i;printf("\t\t\t*************************************\n");printf("\t\t\t\t 停车场管理系统\n");printf("\t\t\t|| 1. 车辆进入停车场 ||\n");printf("\t\t\t|| 2. 车辆离开停车场 ||\n");printf("\t\t\t|| 3. 显示停车场内所有车辆信息 ||\n");printf("\t\t\t|| 4. 显示候车区内所有车辆信息 ||\n");printf("\t\t\t|| 5. 退出 ||\n");printf("\t\t\t*************************************\n");while(i!=5){printf("\t请输入选项1-5:");scanf("%d",&i);switch(i){case 1:top1=into(top1,Q);break;case 2:printf("请输入离开车辆的车牌号:");scanf("%s",str);top1=leave(top1,str,Q);break;case 3:show(top1);break;case 4:T_shou(Q);break;case 5:exit(1);default:printf("输入错误,请重新输入1—5:");break;}}}/*子函数*///初始化stacknode *Init(){stacknode *top;top=(stacknode *)malloc(sizeof(stacknode));top=NULL;return top;}//初始化车辆进入stacknode *into(stacknode *top1,LQueue *Q){stacknode *p,*q;time_t rawtime; //调用系统时间函数struct tm *timeinfo; //时间结点time(&rawtime);timeinfo=localtime(&rawtime);p=(stacknode *)malloc(sizeof(stacknode));if(p==NULL){printf("内存分配失败");return top1;}printf("请输入进入停车场车辆的车牌号:");scanf("%s",p->data.num);q=top1;while(q!=NULL){if(strcmp(p->data.num,q->data.num)==0){printf("车牌号输入有误,该车已进入!");return top1;}q=q->next;}p->data.time.day=timeinfo->tm_mday;p->data.time.hour=timeinfo->tm_hour;p->data.time.min=timeinfo->tm_min;p->data.n=b;if(b>max){printf("停车场已满,请在便道等候!\n");wait(Q,p);return top1;}if(top1==NULL){p->next=NULL;top1=p;}else{p->next=top1;top1=p;}b++;printf("车辆进入停车场成功,时间已经自动载入!\n");printf("车牌为%s的汽车驶入时间为:%d号%d点%d分\n",top1->data.num,top1->data.time.day,top1->data.time.hour,top1->data.time.min);return top1;}//停车费用计算函数int expenses(stacknode *p,int x1,int x2,int x3){int w;if(x3!=0)w=(x1*24+x2+1-(p->data.time.day*24+p->data.time.hour))*price;elsew=(x1*24+x2-(p->data.time.day*24+p->data.time.hour))*price;return w;}//车辆驶出出场函数stacknode *leave(stacknode *top1,char str[],LQueue *Q){int i,day,hour,min;time_t rawtime;struct tm *timeinfo;time(&rawtime);timeinfo=localtime(&rawtime);day=timeinfo->tm_mday;hour=timeinfo->tm_hour;min=timeinfo->tm_min;stacknode *p,*q;if(top1==NULL){printf("停车场没有车辆!\n");return top1;}q=(stacknode *)malloc(sizeof(stacknode));if(p==NULL){printf("内存分配失败");return top1;}q=top1;while(q!=NULL){if(strcmp(q->data.num,str)==0)break;q=q->next;}if(q==NULL){printf("输入有误,该车辆不在停车场!\n");return top1;}for(i=top1->data.n;i>q->data.n;i--){p=(stacknode *)malloc(sizeof(stacknode));if(p==NULL){printf("内存分配失败");return top1;}strcpy(p->data.num,top1->data.num);p->data.time=top1->data.time;p->data.n=top1->data.n-1;top1=top1->next;if(top2==NULL){p->next=NULL;top2=p;}else{p->next=top2;top2=p;}}top1=top1->next;while(top2!=NULL){p=(stacknode *)malloc(sizeof(stacknode));if(p==NULL){printf("内存分配失败");return top1;}p->data.n=top2->data.n;strcpy(p->data.num,top2->data.num);p->data.time=top2->data.time;p->next=top1;top1=p;top2=top2->next;}if(EmptyLQue(Q)){p=out(Q);p->data.n--;top1=LQinto(p,top1);}elseb--;printf("车牌为%s的汽车驶出时间为:%d号%d点%d分\n",q->data.num,day,hour,min);printf("车辆驶出停车场需要缴纳的费用为:%d元\n",。

2.用C语言编写“停车场管理系统”

程序太大 不让发 我是分几次发过去的 打三个出现乱码了 我在重新发一次

/*初始化停车场信息,初始状态为第一层已经停有4辆车,

* 其车位号依次为1—4 , 停车时间依次为20, 15, 10 , 5

*/

void Init(struct Garage gar[][6])

{

int i, j;

/*给所有的车位的层号,车位号初始化,停车时间初始化为0,停车位全都初始化为空*/

for (i=0; i3)

{

printf("输入的不合法,请输入0-3选择:");

scanf("%d", &choice);

}

switch (choice)

{

case 1:

Park(gar);

break;

case 2:

total += Leave(gar);

IsPrintTotal(total);

break;

case 3:

Information(gar);

break;

case 0:

exit(0);

}

}

return 0;

}

3.c语言课程设计之车辆管理系统设计

源代码:头文件 Manage.h#ifndef__MANAGE_H__#define__MANAGE_H__#include#include#defineMAX 10 typedefstructCar//每一辆车所包含的信息 { intnum; inttime; doublemoney; intusenum; doubleprec; }Car; typedefstructManage//存放每一辆车的信息 { Carcar[MAX]; }Manage,*pManage; voidInit(pManagepcar); voidshow(constpManagepcar); voiduse(pManagepcar);#endif//__MANAGE_H__源文件:Manage.c#define_CRT_SECURE_NO_WARNINGS 1#include"Manage.h" voidInit(pManagepcar)//初始化 { inti = 0; for (i=0;i{ pcar->car[i].num=i+1; pcar->car[i].time=0; pcar->car[i].money=0.0; pcar->car[i].usenum=0; pcar->car[i].prec = 0; } } voidshow(constpManagepcar)//打印展示 { inti = 0; printf("%2s\t%7s\t%7s\t%12s\t%9s\n","num","time","money","usenum","percentage"); for (i = 0;i{ printf("%2d\t%5d\t%2f\t%d\t%3f%%\n",pcar->car[i].num,pcar->car[i].time,pcar->car[i].money,pcar->car[i].usenum,pcar->car[i].prec); } } doubleprec(pManagepcar,intun)//计算某一辆车被使用的时间占全部车被使用的时间的百分比 { inti = 0; doublet = 0; doublen = 0; for (i=0;i{ t+=(double)pcar->car[i].usenum; } n = (double)un/t; returnn*100; } voiduse(pManagepcar)//使用车辆 { intinput = 0; inttime = 0; inti = 0; doublem = 0; doubley = 0; intn = 0; printf("请输入需要使用车的号码(-10):"); scanf("%d",&input); if ((input>10)||(input{ printf("输入的车号有问题,程序退出\n"); return ; } printf("您已选择使用%d号车!请输入使用时间(分钟):",input); scanf("%d",&time); pcar->car[input-1].usenum++; for (n=0;n{ pcar->car[n].prec = prec(pcar,pcar->car[n].usenum); } if (time{ printf("输入时间有误,程序退出\n"); return ; } if (time{ pcar->car[input-1].time=pcar->car[input-1].time + time; y = 0.5; pcar->car[input-1].money =pcar->car[input-1].money + y; } if (time>30) { m = (((time-30)/30)+1)*0.5; if (m>5) { m=5; } pcar->car[input-1].time=pcar->car[input-1].time + time; y =m; pcar->car[input-1].money =pcar->car[input-1].money + y; } printf("正在为您计算使用费用:\n"); for (i=0;i{ printf("*"); Sleep(30); } printf("\n"); printf("您所需支付的金额为:%f元\n",y); }测试代码:test.c#define_CRT_SECURE_NO_WARNINGS 1#include"Manage.h" voidmenu() { printf("****************************\n"); printf("******* 1. use ******\n"); printf("******* 2. seach ******\n"); printf("******* 0. exit ******\n"); printf("****************************\n"); } intmain() { intinput = 0; Managemy_car; Init(&my_car); do { menu(); printf("请选择:"); scanf("%d",&input); switch (input) { case 1:use(&my_car); break; case 2:show(&my_car); break; case 0:break; default:printf("选择错误\n"); break; } } while (input); }。

4.关于c语言版的停车场设计具体的设计思路以及设计报告

去书店。

有一本和你们教材配套的也是蓝色的上机实验书。那里你要的程序就有,还有解释。

不过,大家的别都一样,把存储形式改一改,一样可以做,就和他们的不一样了。#include #include #include #define MAX 2 /*车库容量*/ #define price 0.05 /*每车每分钟费用*/ typedef struct time{ int hour; int min; }Time; /*时间结点*/ typedef struct node{ char num[10]; Time reach; Time leave; }CarNode; /*车辆信息结点*/ typedef struct NODE{ CarNode *stack[MAX+1]; int top; }SeqStackCar; /*模拟车站*/ typedef struct car{ CarNode *data; struct car *next; }QueueNode; typedef struct Node{ QueueNode *head; QueueNode *rear; }LinkQueueCar; /*模拟通道*/ /*------------------------------------------------------------------------------*/ void InitStack(SeqStackCar *); /*初始化栈*/ int InitQueue(LinkQueueCar *); /*初始化便道*/ int Arrival(SeqStackCar *,LinkQueueCar *); /*车辆到达*/ void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); /*车辆离开*/ void List(SeqStackCar,LinkQueueCar); /*显示存车信息*/ /*------------------------------------------------------------------------------*/ void main() { SeqStackCar Enter,Temp; LinkQueueCar Wait; int ch; InitStack(&Enter); /*初始化车站*/ InitStack(&Temp); /*初始化让路的临时栈*/ InitQueue(&Wait); /*初始化通道*/ while(1) { printf("\n1. the car arrive"); printf(" 2. the car leave"); printf(" 3. the schedule "); printf(" 4. out\n"); while(1) { scanf("%d",&ch); if(ch>=1&&ch<=4)break; else printf("\nplease 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; } } } /*------------------------------------------------------------------------------*/ void InitStack(SeqStackCar *s) /*初始化栈*/ { int i; s->top=0; for(i=0;i<=MAX;i++) s->stack[s->top]=NULL; } int InitQueue(LinkQueueCar *Q) /*初始化便道*/ { Q->head=(QueueNode *)malloc(sizeof(QueueNode)); if(Q->head!=NULL) { Q->head->next=NULL; Q->rear=Q->head; return(1); } else return(-1); } void PRINT(CarNode *p,int room) /*打印出站车的信息*/ { int A1,A2,B1,B2; printf("\nplease input thedepart time:/**:**/"); scanf("%d:%d",&(p->leave.hour),&(p->leave.min)); printf("\nthe number of the car:"); puts(p->num); printf("\nthe time the car arrive: %d:%d",p->reach.hour,p->reach.min); printf("the depart time: %d:%d",p->leave.hour,p->leave.min); A1=p->reach.hour; A2=p->reach.min; B1=p->leave.hour; B2=p->leave.min; printf("\nthe fee: %2.1f元",((B1-A1)*60+(B2-A2))*price); free(p); } int Arrival(SeqStackCar *Enter,LinkQueueCar *W) /*车辆到达*/ { CarNode *p; QueueNode *t; p=(CarNode *)malloc(sizeof(CarNode)); flushall(); printf("\ninput the number of the car(例:陕A1234):"); gets(p->num); if(Enter->toptop++; printf("\nthe place of the car.",Enter->top); printf("\nthe time thecar arrive:/**:**/"); scanf("%d:%d",&(p->reach.hour),&(p->reach.min)); Enter->stack[Enter->top]=p; return(1); } else /*车场已满,车进便道*/ { printf("\n该车须在便道等待!"); t=(QueueNode *)malloc(sizeof(QueueNode)); t->data=p; t->next=NULL; W->rear->next=t; W->rear=t; return(1); } } void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) { /*车辆离开*/ int i, room; CarNode *p,*t; QueueNode *q; /*判断车场内是否有车*/ if(Enter->top>0) /*有车*/ { while(1) /*输入离开车辆的信息*/ { printf("\n请输入车在车场的位置/1--%d/:",Enter->top); scanf("%d",&room); if(room>=1&&room<=Enter->top) break; } while(Enter->top>room) /*车辆离开*/ { Temp->top++; Temp->stack[Temp->top]=Enter->stack[Enter->top]; Enter->stack[Enter->top]=NULL; Enter->top--; } p=Enter->stack[Enter->top]; Enter->stack[Enter->top]=NULL; Enter->top--; while(Temp->top>=1) { Enter->top++; Enter->stack[Enter->top]=Temp->stack[Temp->top]; Temp->stack[Temp->top]=NULL; Temp->top--; } PRINT(p,room); /*判断通道上是否有车及车站是否已满*/ if((W->head!=W->rear)&&Enter->tophead->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->head->next=q->next; if(q==W->rear) W->rear=W->head; Enter->stack[Enter->top]=t; free(q); } else printf("\n便道里没有车.\n"); } else printf("\n车场里没有车."); /*没车*/ } void List1(SeqStackCar *S) /*列表显示车场信息*/ { int i; if(S->top>0) /*判断车站内是否有车*/ { printf("\n车场:"); printf("\n 位置 到达时间 车牌号\n"); for(i=1;i<=S->top;i++) { prin。

5.泊车管理系统(用C语言写)

百度文库有的自己去看 #include #include #include int cars[16][3]; void car_park(void) { int n,m,o; for(n=0;n<16;n++) if(cars[n][0]==0) break; /*判断便道是否拥挤*/ if(n==16) { printf("\nVery crowded pavement.\n"); /*提示便道很拥挤*/ getch(); return; } printf("\nparking-Please input your license plate:"); /*输入车牌 */ scanf("%d",&o); for(m=0;m<16;m++) if(cars[m][0]==o) break; /*判断此车是否在泊 */ if(m!=16) { printf("\nThis car has been parked.\n"); /*提示此车正在泊*/ getch(); return; } cars[n][0]=o; if(n<10) /* 判断便道是否有车位*/ { printf("input the current time hours:"); /* 输入存车当时时间*/ scanf("%d",&cars[n][1]); printf("input the current time cent:"); scanf("%d",&cars[n][2]); return; } else printf("\nPlease wait for parking spaces on the pavement"); /*提示等待车位 */ getch(); } void car_get() { int n,o,p,q,r; printf("\nFor cars-Please enter license plates:"); /* 输入取车车牌*/ scanf("%d",&o); for(n=0;n<16;n++) if(cars[n][0]==o) break; /* 判断输入车牌是否正确*/ if(n==16) { printf("\nWithout this license plate.\n"); /* 提示输入车牌错误*/ getch(); return; } printf("input the current time hours:"); /* 输入取车时间*/ scanf("%d",&p); printf("input the current time cent:"); scanf("%d",&q); r=(p*60+q)-(cars[n][1]*60+cars[n][1]); /* 计算泊车时间*/ printf("Parking%dMinutes Total%.2fYuan\n",r,r*0.05); /* 输出泊车时间和泊车费用*/ for(r=n;r<15;r++) /* 泊车不足15分钟按15分钟计算*/ { cars[r][0]=cars[r+1][0]; cars[r][0]=cars[r+1][0]; cars[r][0]=cars[r+1][0]; } cars[9][1]=p; cars[9][2]=q; getch(); } void main(void) /*主函数*/ { int n; char x; mainloop: printf("Parking:\n"); /*输出菜单页面 */ for(n=0;n<10;n++) { if(cars[n][0]!=0) printf("[CAR %d] %d:%d\n",cars[n][0],cars[n][1],cars[n][2]); else printf("[===============]\n"); } printf("\nPavement:\n"); for(n=10;n<15;n++) { if(cars[n][0]!=0) printf("[CAR %d ]",cars[n][0]); else printf("[- - - - - - -]"); } printf("\n\nParking?For cars?End(1/2/3)\n"); x=getch(); if(x=='1') car_park(); /*菜单选项*/ if(x=='2') car_get(); if(x=='3') exit(0); goto mainloop; } 函数名: clrscr 功 能: 清除文本模式窗口 清屏的意思 就是把之前显示出的文字字符去掉 跟cmd里面的清屏的功能是一样的 实际上是clear screen的简写 用 法: void clrscr(void); 程序例: #include int main(void) { int i; clrscr(); for (i = 0; i < 20; i++) cprintf("%d\r\n", i); cprintf("\r\nPress any key to clear screen"); getch(); clrscr(); cprintf("The screen has been cleared!"); getch(); return 0; } 只有在Turbo c 中可以运行 !在Turbo C++ 中,需要先另存为(save as).C格式,才能使用。

6.停车场管理系统C语言程序

/*----------------------------------------------------------------//copyright(c)2009沈阳工程学院信息安全工作室//版权所有。

////文件名:模拟停车场问题.cpp//文件功能描述:模拟停车场问题//////创建标识:20091214////修改标识:20091218//修改描述:完成编码//----------------------------------------------------------------*///头文件#include#include#include#include//常量定义#definemax_stop4//定义停车场最大停车数#definemax_plate10//定义车牌号最大长度#definetime_count"秒"//定义时间单位#definetime_ms_to_conut1000//定义时间进制,意为由time_count到毫秒的进制#defineunit_price10//定义单位时间收费标准 usingnamespacestd;//使用std命名空间//数据结构定义//定义存储汽车信息的结构体 typedefstruct { charlicense_plate[max_plate];//汽车牌照号码,定义为一个字符指针类型 charstate;//汽车当前状态,字符p表示停放在停车位上,字符s表示停放在便道上,每辆车的初始状态用字符i来进行表示 inttime;//汽车停入停车场时的时间,用来计时收费 }car;//定义模拟停车场的栈结构 typedefstruct { carstop[max_stop];//汽车信息的存储空间 inttop;//用来指示栈顶位置的静态指针 }seqstack;//定义模拟便道的队列结构 typedefstructnode { carwait;//汽车信息的存储空间 structnode*next;//用来指示队列位置的动态指针 }qnode;//链队列节点的类型//定义链队列的收尾指针 typedefstruct { qnode*front,*rear; }lqueue;//将头尾指针封装在一起的链队//函数声明 intempty_lqueue(lqueue*q);//判队空 intleavecheck(seqstackparking,char*license_plate);//检查离开的车是否在停车场中 intqueuelength(lqueue*q);//判队长度 intout_lqueue(lqueue*&sidewalk,char*license_plate);//出队操作 intstackempty(seqstackparking);//判断栈是否为空 intstackfull(seqstackparking);//判断栈是否为满 intstackpop(seqstack&parking);//出栈操作 intstacktop(seqstackparking,char*license_plate,int&time);//取栈顶元素 voidcar_come(seqstack&parking,lqueue*&sidewalk);//有车到来时的操作 voidcar_leave(seqstack&parking,lqueue*&sidewalk);//有车离开的操作 voiddisplay(seqstackparking);//显示停车场内的所有信息调试时用 voidinitstack(seqstack&parking);//初始化栈 voidinitlist(lqueue*&sidewalk);//初始化队列 voidin_lqueue(lqueue*&sidewalk,char*license_plate);//进队操作 voidinput_check(char*license_plate);////检验输入的车牌是否合法 voidstackpush(seqstack&parking,char*license_plate,intstop_time);//进栈操作 voidmain() {//定义变量 seqstackparking; lqueue*sidewalk=null; char*choice=newchar; intflag=1;//定义一个变量判断是否退出//初始化一个为空的停车场 initstack(parking);//初始化一个为空的便道 initlist(sidewalk);//运行界面及功能选择 while(flag) { cout<<"\n\t停车场模拟管理系统\n\n"; cout<<"\t|--------------------------------------------------|\n\n"; cout<<"\t|本程序为停车场的模拟管理系统,有车到来时请按c键。|\n\n"; cout<<"\t|然后根据屏幕提示进行相关操作,有车要走时请按l键。

|\n\n"; cout<<"\t|然后根据屏幕提示进行相关操作,查看停车场请按d键。|\n\n"; cout<<"\t|然后根据屏幕提示进行相关操作,要退出系统请按q键。

|\n\n"; cout<<"\t|--------------------------------------------------|\n\n"; cout<<"请选择操作:"; gets(choice); if(1!=strlen(choice)) { cout<<"请正确输入选项!"; continue; } else { switch(*choice) { case'c':case'c':{ car_come(parking,sidewalk);break; } case'l':case'l':{ car_leave(parking,sidewalk);break; } case'q':case'q':{ flag=0;break; } case'd':case'd':{ display(parking);break; } default:cout<<"选择不正确!请重新选择!\n"; } } } }//有车到来时的操作 voidcar_come(seqstack&parking,lqueue*&sidewalk) {//定义变量 charlicense_plate[max_plate]; cout<<"请输入车辆的车牌号码:"; input_check(license_plate);//判断停车场是否已满,满则进入便道,不满进入停车场 if(stackfull(parking)) { in_lqueue(sidewalk,license_plate);//进入便道 cout<<"停车场已满请在便道等候,您的位置为"<

7.用C语言实现停车场管理程序的设计还要有配套的需求分析;概要设计

#define length 3 #define null 0 #define M length #define PRICE 5 #ifdef M typedef struct { char status; int no; int time; }data; typedef struct { data *base; data *top; int stacksize; }stack; void initstack (stack *s) { s->base=(data *)malloc(length*sizeof(data)); s->top=s->base; s->stacksize=length; } void pushstack (stack *p) { int i=0; printf("Please push stack data: "); while(istacksize) { scanf(" %c%d%d",&(p->top->status),&(p->top->no),&(p->top->time)); (p->top) ; i ; } (--p->top); } void popstack (stack *p) { int i=p->stacksize; printf("Pop data to check the intput: "); while(i>0) { printf("%c %d %d ",p->top->status,p->top->no,p->top->time); (p->top)--; i--; } } void popstacksite (stack *p) { int i,j; for(j=0;jstacksize;j ) ( p->top); i=p->stacksize; while(i>0) {printf("status: %c car-no: %d ",p->top->status,p->top->no); (p->top)--; i--; } } void stackshuzu (stack *p,char a[],int b1[],int b2[],int c1[],int c2[]) { int i, j; for(j=0;jstacksize;j ) ( p->top); printf("stackshuzu: "); for(i=0;istacksize;i ) { a[i]=p->top->status; b2[i]=p->top->no; b1[i]=b2[i]; c2[i]=p->top->time; c1[i]=c2[i]; (p->top)--; } } void costmoney (char a[],int b1[],int b2[],int c1[],int c2[]) { int i,j; for(i=0;ifront=(struct node*)malloc(sizeof(struct node)); q->rear=q->front; } /*init a queue*/ pushqueue (queue *q) { struct node *l0,*l1; l0=l1=q->rear; printf("Please input queue data and 'e' is end: "); scanf(" %c%d",&l1->status,&l1->no); while(l1->status!='e'&&l1->no!=0) { l0=(struct node*)malloc(sizeof(struct node)); l1->next=l0; scanf(" %c%d",&l0->status,&l0->no); l1=l0; } l1->next=null; q->rear=l1; } /*n is q。

rear,and bian dao shang de che dou shi kai jin lai。*/ popqueue(queue *q) { struct node *l0,*l1; l0=q->front; l1=q->rear; printf(" "); while(l0!=l1) { printf("car-status: %c car-no: %d ",l0->status,l0->no); l0=l0->next; } } /*check pushqueue*/ main () {queue q; stack s; char a[M]; int b1[M],b2[M],c1[M],c2[M]; clrscr(); initstack (&s); pushstack (&s); popstack (&s); initqueue(&q); pushqueue(&q); popqueue(&q); printf(" "); printf("the cars in the che ku: "); popstacksite (&s); printf("the cars in the bian dao: "); popqueue (&q); printf(" "); stackshuzu (&s,a,b1,b2,c1,c2); costmoney (a,b1,b2,c1,c2); getch(); } /*popstack de shun xu bu neng bian,yin wei s->top ke neng bian。

*/ #else main () {clrscr(); getch(); } #endif 车的位置判断,收费多少,倒车出来那部分没解决,正在写。

8.用C语言实现停车场管理程序的设计 还要有配套的需求分析;概要设计

#define length 3 #define null 0 #define M length #define PRICE 5 #ifdef M typedef struct { char status; int no; int time; }data; typedef struct { data *base; data *top; int stacksize; }stack; void initstack (stack *s) { s->base=(data *)malloc(length*sizeof(data)); s->top=s->base; s->stacksize=length; } void pushstack (stack *p) { int i=0; printf("Please push stack data:\n"); while(istacksize) { scanf(" %c%d%d",&(p->top->status),&(p->top->no),&(p->top->time)); (p->top)++; i++; } (--p->top); } void popstack (stack *p) { int i=p->stacksize; printf("Pop data to check the intput:\n"); while(i>0) { printf("%c %d %d\n",p->top->status,p->top->no,p->top->time); (p->top)--; i--; } } void popstacksite (stack *p) { int i,j; for(j=0;jstacksize;j++) (++p->top); i=p->stacksize; while(i>0) {printf("status: %c car-no: %d\n",p->top->status,p->top->no); (p->top)--; i--; } } void stackshuzu (stack *p,char a[],int b1[],int b2[],int c1[],int c2[]) { int i, j; for(j=0;jstacksize;j++) (++p->top); printf("stackshuzu:\n"); for(i=0;istacksize;i++) { a[i]=p->top->status; b2[i]=p->top->no; b1[i]=b2[i]; c2[i]=p->top->time; c1[i]=c2[i]; (p->top)--; } } void costmoney (char a[],int b1[],int b2[],int c1[],int c2[]) { int i,j; for(i=0;ifront=(struct node*)malloc(sizeof(struct node)); q->rear=q->front; } /*init a queue*/ pushqueue (queue *q) { struct node *l0,*l1; l0=l1=q->rear; printf("Please input queue data and 'e' is end:\n"); scanf(" %c%d",&l1->status,&l1->no); while(l1->status!='e'&&l1->no!=0) { l0=(struct node*)malloc(sizeof(struct node)); l1->next=l0; scanf(" %c%d",&l0->status,&l0->no); l1=l0; } l1->next=null; q->rear=l1; } /*n is q.rear,and bian dao shang de che dou shi kai jin lai.*/ popqueue(queue *q) { struct node *l0,*l1; l0=q->front; l1=q->rear; printf("\n"); while(l0!=l1) { printf("car-status: %c car-no: %d\n",l0->status,l0->no); l0=l0->next; } } /*check pushqueue*/ main () {queue q; stack s; char a[M]; int b1[M],b2[M],c1[M],c2[M]; clrscr(); initstack (&s); pushstack (&s); popstack (&s); initqueue(&q); pushqueue(&q); popqueue(&q); printf("\n\n"); printf("the cars in the che ku:\n"); popstacksite (&s); printf("the cars in the bian dao:\n"); popqueue (&q); printf("\n\n"); stackshuzu (&s,a,b1,b2,c1,c2); costmoney (a,b1,b2,c1,c2); getch(); } /*popstack de shun xu bu neng bian,yin wei s->top ke neng bian.*/ #else main () {clrscr(); getch(); } #endif 车的位置判断,收费多少,倒车出来那部分没解决,正在写。

9.急

停车场管理信息系统设计 陶永明 (东北财经大学经济信息系 辽宁 大连 116023) 摘 要 本论文根据停车场的管理工作需要,设计了一个简洁、稳定、实用的停车场管理信息系统。

相对一些现有的停车场收费管理系统来说,本系统在容错性、实用性、易操作性等方面具有一定特色,并且本系统可扩展性较强。 [信隆论文网:http://www.xllw.CN,更多免费论文,更多优质服务!] 关键词 停车场;管理信息系统;实用性;可扩展性 0 引言 随着汽车工业的迅猛发展,我国汽车拥有量急剧增加。

停车场作为交通设施的组成部分,随着交通运输的繁忙和不断发展,人们对其管理的要求也不断提高,都希望管理能够达到方便、快捷以及安全的效果。停车场的规模各不相同,对其进行管理的模式也有不同之处,管理者需要根据自身的条件,选择应用经济、稳定的管理程序,以免选择了高成本的管理系统。

本论文旨在设计一个简洁、稳定、实用的停车场管理信息系统,希望在容错性、实用性、易操作性等方面具有自己的特色,并且保持一定的可扩展性,以满足不同停车场的信息管理需求。 1 系统功能需求分析 一个典型的停车场管理信息系统需要包括车辆进出管理及收费功能、停车场车位及车主信息查询功能和系统设置及管理功能。

1.1 停车场车位划分 首先将停车场划分为固定车位和自由车位两部分。固定车位又可以称为专用车位或内部车位,它的特点是使用者固定,交费采用包月制或包年制,平时进出停车场时不再交费。

对于固定车位的车辆,系统有着详细的信息记录,包括车辆信息和车主信息。自由车位又可以称为公用车位或公共车位,它的特点是使用者不固定,针对临时性散客服务,车辆每次出停车场时,根据停车时间和停车费率交纳停车费用。

固定车位的车辆总是停放在自己的车位上,而不停放在自由车位上。不同类型停车场的固定车位和自由车位数目比例是不同的,比如商场、车站、机场类停车场的自由车位数目相对较多,而住宅小区、单位自用类停车场的固定车位数目相对较多。

停车场的固定车位和自由车位数目一般情况下是固定不变的,但有时根据停车场规划改变也需要调整,系统可以在系统管理功能里对这两类车位的数目进行设定和修改。 1.2 车辆进出管理及收费功能 车辆进入停车场时,系统记录车辆的车牌号码和进入时间。

车辆离开停车场时,根据车辆车牌号码判断是否为固定车位车辆,如果为固定车位车辆则不收费,只记录车辆离开停车场时间;如果为自由车位车辆则根据进入时间和离开时间计算出停车费用进行收取。所有进出停车场的信息(包括车牌号码、进入时间、离开时间、停车费用)都记入一个进出记录表以备查询和统计使用。

1.3 停车场信息查询功能 系统的查询功能可以查询包括自由车位空闲数目、自由车位停车情况、固定车位使用情况、固定车位车主信息、自由车位使用率等多种信息。将自由车位空闲数目或自由车位使用率显示在停车场入口处,可以提示即将进入停车场的车主;如果自由车位已满,更可以给出指示,并不允许继续进行车辆进入自由车位停车场的操作。

1.4 系统管理功能 系统的管理功能可以查看一定时间内总收取费用情况,也可以查看一定时间内的详细收费情况,可以查看所有车辆进出停车场的记录,也可以查询指定车辆(包括固定车位车辆与自由车位车辆)所有进出停车场的记录,可以设定和修改固定车位和自由车位数目以及停车费用的费率,而且可以做系统初始化的工作。 2 系统设计及实现 2.1 系统功能模块设计 根据系统的需求分析,将系统设计的功能分为三大模块:车辆进出管理模块、信息查询模块和系统管理模块。

其中车辆进出管理模块包括进入停车场和离开停车场费用结算,信息查询模块包括自由车位空闲数目指示、固定车位停车情况查询、固定车位车主信息查询、自由车位停车情况查询,系统管理模块包括总收取费用显示、停车费率设定及修改、详细收费情况查询、指定车辆进出记录查询、系统初始化功能。系统模块结构图见图1。

2.2 系统开发工具选择 系统的开发软件工具选择了Microsoft Visual FoxPro 6.0。从目前市场上比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,XBase数据库家族的新成员,也就是FoxPro 与可视化程序设计相结合的产物Microsoft Visual FoxPro 6.0不失为开发的好工具。

Microsoft Visual FoxPro 6.0有如下的主要特点: ⑴ 大的查询与管理功能 ⑵ 入了数据表的新概念 ⑶ 扩大了对SQL语言的支持 ⑷ 大量使用可视化的界面操作工具 ⑸ 支持面向对象的程序设计 ⑹ 通过OLE实现应用集成 ⑺ 支持网络应用 结合本系统的实际应用需求可以设计出符合实际需求、易于理解、易于操作、易于维护的数据库和操作系统。对于Microsoft Visual FoxPro 6.0而言,管理这种规模和复杂程度的数据库是游刃有余的,且对数量较少的表和期间的关系进行比较简单的操作正是其擅长的功能,无论是查询还是统计都能顺利完成。

当然系统可以采用的开发工具还有VB、Delphi、SQL Server等。 图1 停车场管理信息系统模块结构图 2.3 数据库设计 系统建立三个基本数据库(表):固定车位表。

10.C语言 停车场管理

楼主注意:#include #include #include #define MAX 2 /*车库容量*/ #define price 0.05 /*每车每分钟费用*/ typedef struct time{ int hour; int min; }Time; /*时间结点*/ typedef struct node{ char num[10]; Time reach; Time leave; }CarNode; /*车辆信息结点*/ typedef struct NODE{ CarNode *stack[MAX+1]; int top; }SeqStackCar; /*模拟车站*/ typedef struct car{ CarNode *data; struct car *next; }QueueNode; typedef struct Node{ QueueNode *head; QueueNode *rear; }LinkQueueCar; /*模拟通道*/ /*------------------------------------------------------------------------------*/ void InitStack(SeqStackCar *); /*初始化栈*/ int InitQueue(LinkQueueCar *); /*初始化便道*/ int Arrival(SeqStackCar *,LinkQueueCar *); /*车辆到达*/ void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); /*车辆离开*/ void List(SeqStackCar,LinkQueueCar); /*显示存车信息*/ /*------------------------------------------------------------------------------*/ void main() { SeqStackCar Enter,Temp; LinkQueueCar Wait; int ch; InitStack(&Enter); /*初始化车站*/ InitStack(&Temp); /*初始化让路的临时栈*/ InitQueue(&Wait); /*初始化通道*/ while(1) { printf("\n1. the car arrive"); printf(" 2. the car leave"); printf(" 3. the schedule "); printf(" 4. out\n"); while(1) { scanf("%d",&ch); if(ch>=1&&chtop=0; for(i=0;istack[s->top]=NULL; } int InitQueue(LinkQueueCar *Q) /*初始化便道*/ { Q->head=(QueueNode *)malloc(sizeof(QueueNode)); if(Q->head!=NULL) { Q->head->next=NULL; Q->rear=Q->head; return(1); } else return(-1); } void PRINT(CarNode *p,int room) /*打印出站车的信息*/ { int A1,A2,B1,B2; printf("\nplease input thedepart time:/**:**/"); scanf("%d:%d",&(p->leave.hour),&(p->leave.min)); printf("\nthe number of the car:"); puts(p->num); printf("\nthe time the car arrive: %d:%d",p->reach.hour,p->reach.min); printf("the depart time: %d:%d",p->leave.hour,p->leave.min); A1=p->reach.hour; A2=p->reach.min; B1=p->leave.hour; B2=p->leave.min; printf("\nthe fee: %2.1f元",((B1-A1)*60+(B2-A2))*price); free(p); } int Arrival(SeqStackCar *Enter,LinkQueueCar *W) /*车辆到达*/ { CarNode *p; QueueNode *t; p=(CarNode *)malloc(sizeof(CarNode)); flushall(); printf("\ninput the number of the car(例:陕A1234):"); gets(p->num); if(Enter->toptop++; printf("\nthe place of the car.",Enter->top); printf("\nthe time thecar arrive:/**:**/"); scanf("%d:%d",&(p->reach.hour),&(p->reach.min)); Enter->stack[Enter->top]=p; return(1); } else /*车场已满,车进便道*/ { printf("\n该车须在便道等待!"); t=(QueueNode *)malloc(sizeof(QueueNode)); t->data=p; t->next=NULL; W->rear->next=t; W->rear=t; return(1); } } void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) { /*车辆离开*/ int i, room; CarNode *p,*t; QueueNode *q; /*判断车场内是否有车*/ if(Enter->top>0) /*有车*/ { while(1) /*输入离开车辆的信息*/ { printf("\n请输入车在车场的位置/1--%d/:",Enter->top); scanf("%d",&room); if(room>=1&&roomtop) break; } while(Enter->top>room) /*车辆离开*/ { Temp->top++; Temp->stack[Temp->top]=Enter->stack[Enter->top]; Enter->stack[Enter->top]=NULL; Enter->top--; } p=Enter->stack[Enter->top]; Enter->stack[Enter->top]=NULL; Enter->top--; while(Temp->top>=1) { Enter->top++; Enter->stack[Enter->top]=Temp->stack[Temp->top]; Temp->stack[Temp->top]=NULL; Temp->top--; } PRINT(p,room); /*判断通道上是否有车及车站是否已满*/ if((W->head!=W->rear)&&Enter->tophead->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->head->next=q->next; if(q==W->rear) W->rear=W->head; Enter->stack[Enter->top]=t; free(q); } else printf("\n便道里没有车.\n"); } else printf("\n车场里没有车."); /*没车*/ } void List1(SeqStackCar *S) /*列表显示车场信息*/ { int i; if(S->top>0) /*判断车站内是否有车*/ { printf("\n车场:"); printf("\n 位置 到达时间 车牌号\n"); for(i=1;itop;i++) { printf(" %d ",i); printf("%d:%d ",S->stack[i]->reach.hour,S->stack[i]->reach.min); puts(S->stack[i]->num); } } else printf("\n车场里没有车"); } void List2(LinkQueueCar *W) /*列表显示便道信息*/ { QueueNode *p; p=W->head->next; if(W->head!=W->rear) /*判断通道上是否有车*/ { printf("\n等待车辆的号码为:"); while(p!=NULL) { puts(p->data->num); p=p->next; } } else printf("\n便道里没有车."); } void List(SeqStackCar S,LinkQueueCar W) { int flag,tag; flag=1; while(flag) { printf("\n请选择 1|2|3:"); printf("\n1.车场\n2.便道\n3.返回\n"); while(1) { scanf("%d",&tag); if(tag>=1||tag 评论0 0 0。

c语言停车系统毕业论文

转载请注明出处众文网 » c语言停车系统毕业论文(c语言停车场管理系统)

资讯

湖北省毕业论文(湖北自考怎么申请毕业论文)

阅读(78)

本文主要为您介绍湖北省毕业论文,内容包括湖北自考怎么申请毕业论文,湖北省优秀学士学位毕业论文有证书吗,湖北省优秀毕业论文名单在哪个地方可以查求确切的网址。百度自考达人公社:: 申报自考论文的时间凡按专业考试计划取得本科规定的全部

资讯

中日学校欺凌毕业论文(校园欺凌论文800字)

阅读(102)

本文主要为您介绍中日学校欺凌毕业论文,内容包括校园欺凌论文800字,急求日语专业论文题目及提纲,和谐校园为主题1500字论文范文。校园欺凌作文800字2016-9-28 编辑:佚名 查看次数:645 手机版栏目:作文通过必要的法律惩戒,才能对家长、老师和学

资讯

写毕业论文时如何排版(怎么进行毕业论文word页面排版)

阅读(87)

本文主要为您介绍写毕业论文时如何排版,内容包括怎么进行毕业论文word页面排版,毕业论文怎么排版的,论文排版怎么弄啊。毕业论文word页面排版方法如下:在写论文的时候,很多时候会直接复制所搜集的内容.但问题又来了,在复制文字的时候,同时也会

资讯

毕业论文烹饪与营养2000字(求1篇烹饪毕业论文大概2000字)

阅读(93)

本文主要为您介绍毕业论文烹饪与营养2000字,内容包括求1篇烹饪毕业论文大概2000字,烹饪论文3000字,急求<饮食与营养》论文一片~2000字左右~~~。烹饪方面的论文 新世纪的中国烹饪,正进入一个崭新的发展时期。经济的快速增长,社会消费水平的不

资讯

函数大专学前教育毕业论文(学前教育毕业论文5000字怎么)

阅读(91)

本文主要为您介绍函数大专学前教育毕业论文,内容包括学前教育毕业论文5000字怎么学前教育毕业论文5000字怎么写爱问,学前教育的毕业论文,8000字左右,如何写大专学前教育毕业论文。1。来自园方的要素。 (1)教学布置“独断专行”。幼儿园是教员

资讯

环境设计毕业论文选题审批表(毕业设计论文课题申报表怎么写)

阅读(113)

本文主要为您介绍环境设计毕业论文选题审批表,内容包括毕业设计(论文)课题申报表怎么写,毕业设计(论文)课题申报表怎么写,毕业设计(论文)课题申请表。这要具体看你课题选的什么方向了,大致就是先说一下当前此课题的研究现状,还有哪些方面是前人没研

资讯

动画的设计与制作毕业论文(动画设计得毕业论文怎么写)

阅读(93)

本文主要为您介绍动画的设计与制作毕业论文,内容包括动画设计得毕业论文怎么写,求动漫设计毕业论文论文题目动画分镜头设计,有关flash动画的毕业论文。动画设计中对2D方面的色彩研究 内容摘要:近些年来,我国的动画片色彩设计有了长足的进步,表

资讯

毕业论文死亡诗社(《死亡诗社》内容)

阅读(88)

本文主要为您介绍毕业论文死亡诗社,内容包括《死亡诗社》内容,死亡诗社观后感,2500字急呢,《死亡诗社(DeadPoetsSociety)》的主题思想。威尔顿预备学院以其沉稳凝重的教学风格和较高的升学率闻名,作为其毕业班的学生,理想就是升入名校。新学期

资讯

关于地理科学专业的毕业论文(毕业论文——地理科学专业选题)

阅读(97)

本文主要为您介绍关于地理科学专业的毕业论文,内容包括毕业论文——地理科学专业选题,地理科学专业毕业论文可写哪些方面各个地理分支都要涉及吗写气,地理科学毕业论文怎么写。摘要】:地理科学专业在毕业论文选题中增加实验内容选题,可丰富论

资讯

湖北省毕业论文(湖北自考怎么申请毕业论文)

阅读(78)

本文主要为您介绍湖北省毕业论文,内容包括湖北自考怎么申请毕业论文,湖北省优秀学士学位毕业论文有证书吗,湖北省优秀毕业论文名单在哪个地方可以查求确切的网址。百度自考达人公社:: 申报自考论文的时间凡按专业考试计划取得本科规定的全部

资讯

中日学校欺凌毕业论文(校园欺凌论文800字)

阅读(102)

本文主要为您介绍中日学校欺凌毕业论文,内容包括校园欺凌论文800字,急求日语专业论文题目及提纲,和谐校园为主题1500字论文范文。校园欺凌作文800字2016-9-28 编辑:佚名 查看次数:645 手机版栏目:作文通过必要的法律惩戒,才能对家长、老师和学

资讯

写毕业论文时如何排版(怎么进行毕业论文word页面排版)

阅读(87)

本文主要为您介绍写毕业论文时如何排版,内容包括怎么进行毕业论文word页面排版,毕业论文怎么排版的,论文排版怎么弄啊。毕业论文word页面排版方法如下:在写论文的时候,很多时候会直接复制所搜集的内容.但问题又来了,在复制文字的时候,同时也会

资讯

毕业论文烹饪与营养2000字(求1篇烹饪毕业论文大概2000字)

阅读(93)

本文主要为您介绍毕业论文烹饪与营养2000字,内容包括求1篇烹饪毕业论文大概2000字,烹饪论文3000字,急求<饮食与营养》论文一片~2000字左右~~~。烹饪方面的论文 新世纪的中国烹饪,正进入一个崭新的发展时期。经济的快速增长,社会消费水平的不

资讯

成人大专毕业用写论文吗(成考大专需要写毕业论文吗)

阅读(81)

本文主要为您介绍成人大专毕业用写论文吗,内容包括成考大专需要写毕业论文吗,成人考大专毕业需要写毕业论文吗,成人考大专毕业需要写毕业论文吗。成考大专需要写毕业论文。成考入学严进宽出,学生只有通过国家统一的成人高考考试,才能入学就读