日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

c语言停车场的收费管理系统,c语言停车场管理系统

發(fā)布時間:2023/12/15 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言停车场的收费管理系统,c语言停车场管理系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#include

#include

#include

#include

#define max 3

#define price 1

int b=1;

typedef struct

{

int day;

int hour;

int min;

}TIME;//時間結(jié)點(diǎn)

typedef struct

{

char num[10]; //車牌號

TIME time; //進(jìn)入停車場的時間

int n; //進(jìn)入停車場的位置

}information;

//棧結(jié)構(gòu)體定義

typedef struct node

{

information data;

struct node *next;

}stacknode;stacknode *top1,*top2;

//隊(duì)列結(jié)構(gòu)體定義

typedef struct

{

information data;

stacknode *front,*rear;

}LQueue;LQueue *Q;

//函數(shù)聲明部分/

stacknode *Init(); //棧的初始化

stacknode *into(stacknode *top1,LQueue *Q); //初始化車輛進(jìn)入

int expenses(stacknode *p,int x,int y); //停車費(fèi)用計算函數(shù)

stacknode *leave(stacknode *top1,char str[],LQueue *Q); //車輛駛出出場函數(shù)

LQueue *InitLQue(); //初始化隊(duì)列函數(shù)

LQueue *wait(LQueue *q,stacknode *s); //車輛進(jìn)入候車便道函數(shù)

int EmptyLQue(LQueue *q); //判斷候車便道有無等待車輛函數(shù)

stacknode *out(LQueue *q); //候車區(qū)車輛出隊(duì)

stacknode *LQinto(stacknode *p,stacknode *top1); //從候車便道進(jìn)入停車場函數(shù)

void show(stacknode *top1); //顯示停車場所有信息函數(shù)

void T_shou(LQueue *Q); //顯示候車區(qū)信息

/*函數(shù)部分*/

//主函數(shù)

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 停車場管理系統(tǒng)\n");

printf("\t\t\t|| 1. 車輛進(jìn)入停車場 ||\n");

printf("\t\t\t|| 2. 車輛離開停車場 ||\n");

printf("\t\t\t|| 3. 顯示停車場內(nèi)所有車輛信息 ||\n");

printf("\t\t\t|| 4. 顯示候車區(qū)內(nèi)所有車輛信息 ||\n");

printf("\t\t\t|| 5. 退出 ||\n");

printf("\t\t\t*************************************\n");

while(i!=5)

{

printf("\t請輸入選項(xiàng)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;

}

}

}

/*子函數(shù)*/

//初始化

stacknode *Init()

{

stacknode *top;

top=(stacknode *)malloc(sizeof(stacknode));

top=NULL;

return top;

}

//初始化車輛進(jìn)入

stacknode *into(stacknode *top1,LQueue *Q)

{

stacknode *p,*q;

time_t rawtime; //調(diào)用系統(tǒng)時間函數(shù)

struct tm *timeinfo; //時間結(jié)點(diǎn)

time(&rawtime);

timeinfo=localtime(&rawtime);

p=(stacknode *)malloc(sizeof(stacknode));

if(p==NULL)

{

printf("內(nèi)存分配失敗");

return top1;

}

printf("請輸入進(jìn)入停車場車輛的車牌號:");

scanf("%s",p->data.num);

q=top1;

while(q!=NULL)

{

if(strcmp(p->data.num,q->data.num)==0)

{

printf("車牌號輸入有誤,該車已進(jìn)入!");

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("停車場已滿,請?jiān)诒愕赖群?\n");

wait(Q,p);

return top1;

}

if(top1==NULL)

{

p->next=NULL;

top1=p;

}

else

{

p->next=top1;

top1=p;

}

b++;

printf("車輛進(jìn)入停車場成功,時間已經(jīng)自動載入!\n");

printf("車牌為%s的汽車駛?cè)霑r間為:%d號%d點(diǎn)%d分\n",top1->data.num,top1->data.time.day,top1->data.time.hour,top1->data.time.min);

return top1;

}

//停車費(fèi)用計算函數(shù)

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;

else

w=(x1*24+x2-(p->data.time.day*24+p->data.time.hour))*price;

return w;

}

//車輛駛出出場函數(shù)

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("內(nèi)存分配失敗");

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("內(nèi)存分配失敗");

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("內(nèi)存分配失敗");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);

}

else

b--;

printf("車牌為%s的汽車駛出時間為:%d號%d點(diǎn)%d分\n",q->data.num,day,hour,min);

printf("車輛駛出停車場需要繳納的費(fèi)用為:%d元\n",expenses(q,day,hour,min));

return top1;

}

//隊(duì)列函數(shù)初始化

LQueue *InitLQue()

{

LQueue *Q;

stacknode *p;

Q=(LQueue *)malloc(sizeof(LQueue));

p=(stacknode *)malloc(sizeof(stacknode));

p->next=NULL;

Q->front=Q->rear=p;

return Q;

}

//候車區(qū)隊(duì)列入隊(duì)

LQueue *wait(LQueue *q,stacknode *s)

{

s->next=NULL;

q->rear->next=s;

q->rear=s;

return q;

}

//判斷候車便道有無車輛等待

int EmptyLQue(LQueue *q)

{

if(q->front==q->rear)

return 0;

else

return 1;

}

//候車區(qū)車輛出隊(duì)

stacknode *out(LQueue *q)

{

stacknode *p;

p=q->front->next;

if(q->front->next==q->rear)

{

q->rear=q->front;

return p;

}

else

q->front->next=p->next;

p->next=NULL;

return p;

}

//候車隊(duì)列進(jìn)入停車場

stacknode *LQinto(stacknode *p,stacknode *top1)

{

p->next=top1;

top1=p;

return top1;

}

//顯示停車場內(nèi)所有車輛信息

void show(stacknode *top1)

{

printf(" 停車場內(nèi)全部車輛信息表\n");

if(top1==NULL)

printf(" 停車場內(nèi)無車!\n");

else

{

printf("車牌號 進(jìn)入時間 位置\n");

while(top1!=NULL)

{

printf(" %s %d號%d點(diǎn)%d分 第%d位\n",top1->data.num,top1->data.time.day,top1->data.time.hour,top1->data.time.min,top1->data.n);

top1=top1->next;

}

}

}

//顯示候車區(qū)的汽車信息

void T_shou(LQueue *Q)

{

LQueue *q;

q=(LQueue *)malloc(sizeof(LQueue));

q->rear=Q->rear->next;

printf(" 候車區(qū)信息\n");

if(q->front==q->rear)

printf("候車區(qū)沒有車輛!\n");

else

{

printf("車牌號 進(jìn)入時間\n");

while(q!=NULL)

{

printf("%s%d號%d點(diǎn)%d分",q->data.num,q->data.time.day,q->data.time.hour,q->data.time.min);

q->rear=q->rear->next;

}

}

}

/*時間函數(shù)

int timef()

{

int x,y;

time_t rawtime;

struct tm *timeinfo;

time(&rawtime);

timeinfo=localtime(&rawtime);

x=timeinfo->tm_mday,y=timeinfo->tm_hour;

}

time_t rawtime;

struct tm *timeinfo;

time(&rawtime);

timeinfo=locoltime(&rawtime);

timeinfo->tm_ymday,*/

取消

評論

總結(jié)

以上是生活随笔為你收集整理的c语言停车场的收费管理系统,c语言停车场管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。