Parking-system.rar

  • PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 3
    下载次数
  • 2011-03-04 21:45
    上传日期
泊车系统 该系统要求对一个文件中所存储的汽车数据进行各种常规操作,如:查找、计费、显示等功能。
Parking-system.rar
  • Parking system.cpp
    4.5KB
内容介绍
#include <iostream> #include <string> #include <time.h> using namespace std; class car { public: char no[9]; double fee; void putcar(); void takecar(); }; class Time { public: int hour; int min; void getime(); }; char q='A';//全局变量 int i=0,j=0,he=1; int position[3][2]={{0,0}}; car carin[3][2]; Time catime[3][2]; ////函数声明 void juge();////判断第一个空位 void comp();//////根据车牌号找出车位号 void search_no();//////根据车牌号查找是否入库及车位号 void search_pos();//////////根据车位号查找车牌号并显示时间 void main() { /////////////////////////////////////////////用户登录 const char ha[10]="abc";//设定管理员用户名 const char hb[10]="123";//设定密码 char cn[10],cm[10];///用来存放姓名和密码 while(1) { cout<<"请输入管理员用户名:"; cin>>cn; if(strcmp(ha,cn)) cout<<"输入错误!\n"; else { cout<<"请输入密码:"; cin>>cm; } if(!strcmp(hb,cm)) break; else { cout<<"密码错误!\n"; } continue; } ////////////////////////////////////////////////主程序 int k;///存放选择项 cout<<"请选择:" <<"\n\n\t◇◎◇◎◇◎◇◎◇◎◇◎◇◎◇◎" <<"\n\n\t◇ 1.泊车操作 ◇" <<"\n\n\t◇ 2.取车操作 ◇" <<"\n\n\t◇ 3.查询信息 ◇" <<"\n\n\t◇ 4.退出 ◇ " <<"\n\n\t◇◎◇◎◇◎◇◎◇◎◇◎◇◎◇◎\n\n"; while(cin>>k) { if(k==1) { juge(); cout<<"\t车牌号:"; cin>>carin[i][j].no;///找出第一个空位后将车牌号放在carin[i][j].no中 carin[i][j].putcar(); cout<<"\n\n\t请选择:1.泊车2.取车3.查询4.退出: "; continue; } if(k==2) { comp();/////根据车牌找出车位号 carin[i][j].takecar(); cout<<"\n\n\t请选择:1.泊车2.取车3.查询4.退出: "; continue; } if(k==3) { int x; while(1) { cout<<"\n\n\t查询车牌号请选择1,查询车位请选择2: "; cin>>x; if(x==1) { search_no();break; } else if(x==2) { search_pos();break; } else cout<<"\t选择错误,请重新选择:"; } cout<<"\n\n\t请选择:1.泊车2.取车3.查询4.退出: "; continue; } break; } } //////主函数结束 void juge() //判断出第一个空的车位,juge { i=0; j=0; for(i=0;i<3;i++) { while(position[i][j]==1&&j<2)//如果 { j++; } if(j<2) {position[i][j]=1; break; } else j=0; continue; } if(i==0) q='A'; if(i==1) q='B'; if(i==2) q='C'; } void comp()/////comp根据车牌找出车位号 { char ch[9]; i=0; j=0; cout<<"\t车牌号:"; cin>>ch; he=1; A:while(he) { for(i=0;i<=2;i++) { for(j=0;j<2;j++) { if(!strcmp(ch,carin[i][j].no)) { if(position[i][j]==1) { if(i==0) q='A'; if(i==1) q='B'; if(i==2) q='C'; cout<<"该车在"<<q<<"区"<<j+1<<"号"; he=0; goto A; } } } } he=0; goto A; } } void car::putcar() ////putcar { int t; while(1) { cout<<"\t大车请输入1,中车请输入2,小车输入3: "; cin>>t; if(t==1) { carin[i][j].fee=10;break; } else if(t==2) { carin[i][j].fee=8;break; } else if(t==3) { carin[i][j].fee=5;break; } cout<<"输入错误!请重新输入:\n"; } if(i==3&&j==0) cout<<"对不起,车位已满!\n"; else { cout<<"车位号是:"<<q<<"区"<<j+1<<"号"<<endl; catime[i][j].getime(); cout<<"\t现在时间是:"<<catime[i][j].hour<<":"<<catime[i][j].min<<endl; } } void car::takecar()////takecar { int hour1,min1; double charge; if(i<=2&&j<=1) { position[i][j]=0;//重新设置为空位 hour1=catime[i][j].hour; min1=catime[i][j].min; catime[i][j].getime(); hour1=catime[i][j].hour-hour1; min1=catime[i][j].min-min1; if(min1<30)//计算出车费输出 charge=carin[i][j].fee*hour1+carin[i][j].fee*0.5; else charge=carin[i][j].fee*hour1+carin[i][j].fee; cout<<"\t车费为:"<<charge<<"元.\n"; } else cout<<"\t无此车!\n"; } void Time::getime() { struct tm *newtime; //获取停车时间 time_t long_time; time( &long_time ); newtime = localtime( &long_time ); hour=newtime->tm_hour; min=newtime->tm_min; } void search_no() { comp(); if(i<=2&&j<=1) cout<<"\t此车已入库"<<endl; else cout<<"\t此车没有入库"<<endl; } void search_pos() { int s; cout<<"\t车位号:"; cin>>q>>s; j=s-1; if(q=='A') i=0; if(q=='B') i=1; if(q=='C') i=2; if(position[i][j]==1) {cout<<"\t车牌号:"<<carin[i][j].no<<endl; cout<<"\t停车时间:"<<catime[i][j].hour<<":"<<catime[i][j].min<<endl;//停车直到现在的时间 } else cout<<"\t此车位无车!"; }
评论
    相关推荐