電 話:18937133779
網(wǎng) 址:http://www.yourfinanceinfo.com
郵 箱:zboao@qq.com
可查可運行,注釋詳細,呵呵
#include<iostream>
#include<string>
using namespace std;
#define MAX 2 //停車場車位數(shù)
#define price 0.5//每分鐘收取的費用
typedef struct time
{
int hour;
int min;
}Time;//定義時間結(jié)點
typedef struct node
{
string num;
Time reach;
Time leave;
}CarNode;//定義每輛車的牌號,進入時刻,開出時刻
typedef struct NODE
{
CarNode *stack[MAX+1];
int top;
}SeqStackCar;//用棧定義,構(gòu)造停車場
typedef struct car
{
CarNode *data;
struct car *next;
}QueueNode;//用隊列結(jié)點定義,構(gòu)造停車場外的單個等候車輛
typedef struct Node
{
QueueNode *head;
QueueNode *rear;
}LinkQueueCar;//用隊列定義,構(gòu)造停車場外的等候便道
void InitStack(SeqStackCar *); //初始化堆棧函數(shù)聲明
int InitQueue(LinkQueueCar *); //初始化隊列頭結(jié)點函數(shù)聲明
int Arrival(SeqStackCar *,LinkQueueCar *); //車輛進入時登記函數(shù)聲明
void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *);//車輛離開時函數(shù)聲明
void List(SeqStackCar,LinkQueueCar); /*查看停車場內(nèi)車輛情況及
便道上車輛情況的函數(shù)聲明*/
void main( )
{
SeqStackCar Enter,Temp;//初始棧,中轉(zhuǎn)棧
LinkQueueCar Wait;//便道隊列
int a;
InitStack(&Enter);
InitStack(&Temp);
InitQueue(&Wait);//初始化
while(1)
{
cout<<"********************************************************************"<<endl;
cout<<" 歡迎光臨停車場!";
cout<<"(*^__^*) !";
cout<<endl<<"車輛到達登記->請按 1";
cout<<" 車輛離開登記->請按 2"<<endl;
cout<<"車輛停靠查詢->請按 3";
cout<<" 退出系統(tǒng) ->請按 4"<<endl;//系統(tǒng)選項設置
while(1)
{
cin>>a;
if(a>=1&&a<=4) break;
else cout<<endl<<"請選擇: 1~4.";
}
switch(a)
{
case 1:Arrival(&Enter,&Wait);break; //調(diào)用 入 停車場函數(shù)
case 2:Leave(&Enter,&Temp,&Wait);break;//調(diào)用 出 停車場函數(shù)
case 3:List(Enter,Wait);break; //調(diào)用查看函數(shù)
case 4:exit(0);
default: break;
}
}
}
void InitStack(SeqStackCar *s) //堆棧初始化
{
s->top=0;
s->stack[s->top]=NULL;
}
int InitQueue(LinkQueueCar *Q)//隊列初始化
{
Q->head=new 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 A,B,C,D;
cout<<"\n車輛離開的時間:";
cin>>p->leave.hour>>p->leave.min;
cout<<"離開車輛的車牌號為:";
cout<<p->num;
cout<<endl<<"其到達時間為: "<<p->reach.hour<<":"<<p->reach.min;
cout<<"離開時間為: "<<p->leave.hour<<":"<<p->leave.min;
A=p->reach.hour;
B=p->reach.min;
C=p->leave.hour;
D=p->leave.min;
cout<<endl<<"應交費用為: "<<((C-A)*60+(D-B))*price<<"元"<<endl;
cout<<"車輛離開登記完畢!"<<endl;
cout<<"*********************************************************************"<<endl;
delete p;
}
int Arrival(SeqStackCar *Enter,LinkQueueCar *W)
{
CarNode *p;
QueueNode *t;
p=new CarNode;
cout<<"*********************************************************************"<<endl;
cout<<"車輛到達登記開始:"<<endl;
cout<<endl<<"請輸入車牌號:";
cin>>p->num;
if(Enter->top<MAX)//如果車位未滿則進停車場內(nèi)
{
Enter->top++;
cout<<endl<<"車輛在車場第"<<Enter->top<<"位置.";
cout<<endl<<"車輛到達時間:";
cin>>p->reach.hour>>p->reach.min;
cout<<endl<<"車輛到達登記完畢!"<<endl;
cout<<"*********************************************************************"<<endl;
Enter->stack[Enter->top]=p;// p是那輛汽車
return 1;
}
else //如果車位已滿,則停靠在便道上
{
cout<<"*********************************************************************"<<endl;
cout<<endl<<"該車須在便道等待!有車位時進入車場"<<endl;
t=new 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 room;
CarNode *p,*t;
QueueNode *q;
if(Enter->top>0)
{
while(1)
{
cout<<"*********************************************************************"<<endl;
cout<<"車輛離開登記開始:"<<endl;
cout<<endl<<"請輸入車在車場的位置/1--"<<Enter->top<<"/:";
cin>>room;
if(room>=1&&room<=Enter->top) break;
}
while(Enter->top>room)//從停車場堆棧向中轉(zhuǎn)堆棧移動車輛,直到要離開車輛的位置停止
{
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)//將中轉(zhuǎn)堆棧中的車輛移回停車場堆棧
{
Enter->top++;
Enter->stack[Enter->top]=Temp->stack[Temp->top];
Temp->stack[Temp->top]=NULL;
Temp->top--;
}
cout<<"*********************************************************************"<<endl;
cout<<"車輛離開登記結(jié)算:"<<endl;
PRINT(p,room);
if((W->head!=W->rear)&&Enter->top<MAX)
{
q=W->head->next;
t=q->data;
Enter->top++;
cout<<endl<<"便道的"<<t->num<<"號車進入車場第";
cout<<Enter->top<<"位置."<<endl;
cout<<"請輸入"<<t->num<<"號車進入車場的時間:";
cin>>t->reach.hour>>t->reach.min;
W->head->next=q->next;
if(q==W->rear) W->rear=W->head;
Enter->stack[Enter->top]=t;
delete q;
}
else cout<<endl<<"便道里沒有車"<<endl;
}
else cout<<endl<<"車場里沒有車."<<endl;
}
void List1(SeqStackCar *S) //查看停車場內(nèi)車輛情況的函數(shù)定義
{
int i;
if(S->top>0)
{
cout<<"********************************************************************"<<endl;
cout<<endl<<"車場內(nèi)部車輛停靠情況:"<<endl;
cout<<endl<<"位置 到達時間 車牌號"<<endl;
for(i=1;i<=S->top;i++)
{
cout<<i;
cout<<" "<<S->stack[i]->reach.hour<<":"<<S->stack[i]->reach.min;
cout<<" "<<S->stack[i]->num<<endl;
}
}
else cout<<endl<<"車場里沒有車"<<endl;
cout<<"********************************************************************"<<endl;
}
void List2(LinkQueueCar *W) //查看便道上??寇囕v情況的函數(shù)定義
{
QueueNode *p;
p=W->head->next;
if(W->head!=W->rear)
{
cout<<"********************************************************************"<<endl;
cout<<endl<<"便道停靠車輛情況:"<<endl;
while(p!=NULL)
{
cout<<endl<<"車輛牌號:";
cout<<p->data->num<<endl;
p=p->next;
}
}
else cout<<endl<<"便道里沒有車."<<endl;
cout<<"********************************************************************"<<endl;
}
void List(SeqStackCar S,LinkQueueCar W) //車輛列表顯示函數(shù)
{
int flag,tag;
flag=1;
while(flag)
{
cout<<"********************************************************************"<<endl;
cout<<"車輛??坎樵冮_始:"<<endl;
cout<<endl<<"請選擇 1|2|3:"<<endl;
cout<<"1.車場列表"<<endl<<"2.便道列表"<<endl<<"3.返回主菜單"<<endl;
while(1)
{
cin>>tag;
if(tag>=1||tag<=3) break;
else cout<<endl;
cout<<"請選擇 1~3:";
}
switch(tag)
{
case 1:List1(&S);
cout<<"車輛停靠查詢結(jié)束!"<<endl;break;
case 2:List2(&W);
cout<<"車輛停靠查詢結(jié)束!"<<endl;break;
case 3:flag=0;break;
default: break;
}
}cout<<"********************************************************************"<<endl;
};
源碼之家~~源碼中國~~~溜達一下 去看看
汽車租賃系統(tǒng)是汽車租賃公司的辦公系統(tǒng),包括從車輛的購置預算,審核購置,車輛預定,合同簽訂,車
輛交接,收款結(jié)算,車輛維修,保險,違章車輛處置等業(yè)務。汽車租賃系統(tǒng)是基于Internet互聯(lián)網(wǎng)、ERP、
GPS及數(shù)據(jù)庫技術(shù)開發(fā)的軟件,實現(xiàn)汽車租賃行業(yè)全業(yè)務流程的信息化。
商靈通汽車租賃系統(tǒng)軟件后臺由車輛信息管理、租賃業(yè)務管理、車輛服務管理、財務管理、客戶管理、統(tǒng)
計管理、線下門店管理和系統(tǒng)管理八大模塊組成。
1)車輛信息管理
系統(tǒng)業(yè)務模塊,包括車輛管理、租金設置、車輛調(diào)度和車輛優(yōu)惠管理四大模塊。
2)租賃業(yè)務管理
系統(tǒng)業(yè)務模塊,包括汽車租賃業(yè)務設置、訂單管理、車輛預定管理、訂單變更管理、車輛續(xù)租管理、出/還
車管理、押金管理、合同管理等各種業(yè)務管理功能。
汽車租賃系統(tǒng)后臺功能有哪些?
3)車輛服務管理
車輛服務業(yè)務模塊,包括保險管理、事故管理、違章管理、維修管理、保養(yǎng)管理、加油卡管理,這些主要
是租賃汽車的服務工作。
4)財務管理
對汽車租賃業(yè)務的輔助管理模塊,也是不可缺少的模塊,包括賬單管理、發(fā)票管理、調(diào)賬管理和資金明細
等功能。
5)客戶管理
主要是針對客戶信息的管理,包括個人客戶管理、企業(yè)客戶管理、黑名單管理、積分設置等功能。
6)統(tǒng)計管理
統(tǒng)計管理是統(tǒng)計站內(nèi)的數(shù)據(jù),包括用戶統(tǒng)計、訂單統(tǒng)計、成本統(tǒng)計、資金統(tǒng)計和車輛統(tǒng)計等。
7)線下門店管理
汽車租賃公司的另一輔助???,包括系統(tǒng)用戶管理、門店設置和員工管理。
8)系統(tǒng)管理
系統(tǒng)管理維護模塊,包括站點管理、APP管理、基礎設置、提醒管理。
#include "stdio.h"
#include "stdlib.h"
#define n 100
#define NULL 0
typedef struct
{
int data[n];
int top;
}sqstack;
void initstack(sqstack *&s)
{
s=new sqstack;
s->top=-1;
}
int push(sqstack *s,int e)
{
if(s->top==n-1)
return 0;
s->top++;
s->data[s->top]=e;
return 1;
}
int pop(sqstack *s,int x)
{
int a[n],e,i=0,j;
if(s->top==-1)
{
printf("停車場是空的!\n");
return 0;
}
while(s->data[s->top]!=x)
{
e=s->data[s->top];
s->top--;
if(s->top==-1)
{
printf("你要找的車輛不在停車場內(nèi)\n");
return 0;
}
a[i]=e;
i++;
}
s->top--;
for(j=i-1;j>=0;j--)
{
s->top++;
s->data[s->top]=a[j];
}
return (s->top);
}
void dispstack(sqstack *s)
{
int i;
for(i=s->top;i>=0;i--)
printf("%4d",s->data[i]);
printf("\n");
}
void main()
{
int x,y,i=0;
sqstack *s=NULL;
initstack(s);
do
{
printf("請輸入命令(1、到達;2、離開;3、瀏覽停車場;0、退出)及車牌號\n");
scanf("%d",&y);
switch(y)
{
case 1:
{
scanf("%d",&x); //輸入車牌號
push(s,x);
i++;
printf("%d號車在停車場的位置是:%d\n",x,i);
break;
}
case 2:
{
scanf("%d",&x); //輸入車牌號
i=pop(s,x);
if(i==0)
break;
printf("該車離開后停車場剩余的車為:\n");
dispstack(s);
break;
}
case 3:
{
printf("停車場中的車輛為:\n");
dispstack(s);
break;
}
case 0:
{
exit(0);
break;
}
}
}while(y<=3);
}
一般網(wǎng)上都會有的吧,自己改改東西
靠你自己看了?。。。。。。。。。。?!