停车场管理系统程序设计_第1页
停车场管理系统程序设计_第2页
停车场管理系统程序设计_第3页
停车场管理系统程序设计_第4页
停车场管理系统程序设计_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 程序 停车场管理系统( 2013 /2014 学年 第 1学期)题 目:停车场管理系统 专 业 网络工程 组长 学号姓名 组员 学号姓名 李洬翊 B12070319 指 导 教 师 周 剑 指 导 单 位 软件教学中心 日 期 2013年11月 20 日 成员分工组长()组员(李洬翊)所有程序编写以及调试实验报告组员()评分细则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简短评语 教师签名: 年 月 日评分等级李洬翊 B12070319备注评分等

2、级共五种:优秀、良好、中等、及格、不及格停车场管理系统一、 课题内容和要求(1) 管理人员根据口令进入系统; (2) 管理车位信息(车位编号,状态)和每分钟的收费费率; (3) 停车时录入汽车停泊信息(车牌号,车型,停泊位置,停泊开始时间);如果车位已满要给出提示;(4) 取车时,根据车牌取,如果没有给出提示;需要根据车辆停泊时间自动计算费用并显示在屏幕上。二、 需求分析停车场管理系统的功能框架图如图1所示。密码输入信息系统停车系统停车场管理系统取车系统退出操作 图1 停车场管理系统功能框架图(1)管理员登陆:其实现是在设计程序时定义一个字符串数组作为密码,在管理员想通过主菜单界面登陆到管理系

3、统的时候,系统要求管理员输入密码,将保存的密码和管理员输入的密码进行比较,如果一致则跳出密码登陆函数进入管理界面。(2)车位信息:可查询当前时间车库的基本停车情况。 (3)车辆驶入:进入此系统后,输入当前时间和车牌号码,若有空位则停车成功,否则显示车库已满,自动返回上一层操作系统。(4)车辆驶离:进入此系统后,依次输入车牌号码,停车时间,当前时间,若查找到所输入的车牌信息,则显示本次停车应付金额,并显示取车成功。若无输入的车牌号码信息,则显示取车错误并返回上层操作系统。 (5)退出系统:当程序使用结束的时候,通过该项功能即可终止程序。.三、概要设计 1用户登录开始输入用户名判断用户名输入密码判

4、断密码进入停车系统结束NYN Y2信息查询查询车牌号从录入信息中输出查询车位退出查询历史信息导入存储的信息输出信息结束开始选择输入 1、2、3、43主体程序开始用户登陆查询信息退出停车操作取车操作退出输入车牌号查询历史信息查询车位输入车牌号查询车牌号四、源程序代码 #include <iostream> #include <stdio.h> #include <string>  #include <time.h>  #include<fstream>using namespa

5、ce std;  class car    public:  char no9;  int pos;  double fee;  void putcar();  void takecar();   class Time    public:  int hour;  int min;  void getime(

6、);    int i,poi;  int position100=0;/全局变量  car carin100;  Time catime100;  int juge();  int comp();  void search_no();  void search_pos();  void main()    /用户登录  const ch

7、ar ha10="hahaha"/管理员用户名  const char hb10="1234"/管理员密码  char cn10,cm10;  int ci=0;  while(1)    cout<<"请输入管理员用户名:"  cin>>cn;  if(strcmp(ha,cn)    cout<<&

8、quot;输入错误!n"  ci+;  if(ci=3)  return;  continue;    else    cout<<"请输入密码:"  cin>>cm;    if(!strcmp(hb,cm)  break;  else    

9、cout<<"密码错误!n"  ci+;  if(ci=3)  return;  continue;      /主程序  int k;  cout<<"请选择:"  <<"nnt"  <<"nnt 1.停车操作 "  <&l

10、t;"nnt 2.取车操作 "  <<"nnt 3.查询信息 "  <<"nnt 4.  退出   "  <<"nntnn" ofstream outfile("车辆信息.txt",ios:app);if(! outfile)cerr<<"open error!"<<endl;exit(1);/ifstream inf

11、ile("车辆信息.txt",ios:in);/if(! outfile)/cerr<<"open error!"<<endl;/exit(1);while(cin>>k)   if(k=1)    i=juge();  cout<<"t车牌号:"  cin>>carini.no;  carini.putcar();  cout

12、<<"请选择:"  <<"nnt"  <<"nnt 1.停车操作 "  <<"nnt 2.取车操作 "  <<"nnt 3.查询信息 "  <<"nnt 4.  退出   "  <<"nntnn"string time1;ti

13、me_t t; time(&t); time1=ctime(&t); cout<<time1;/导入系统时间outfile<<carini.no<<" "<<time1<<endl;/保存车辆信息。continue;  if(k=2)   poi=comp();  carinpoi.takecar();  cout<<"请选择:" 

14、0;<<"nnt"  <<"nnt 1.停车操作 "  <<"nnt 2.取车操作 "  <<"nnt 3.查询信息 "  <<"nnt 4.  退出   "  <<"nntnn"continue;   if(k=3)  

15、60; int x;  while(1)    cout<<"nnt"<<"nnt查询车牌号请选择1,查询车位请选择2,查询历史信息请选择3,退出请选择4: "<<"nntnn" cin>>x;  if(x=1)    search_no();break;    else if(x=2)  

16、  search_pos();break;   else if(x=3)    string a,time11005;/定义二维数组读取数据int i,j,m,n;ifstream infile("车辆信息.txt",ios:in);if(! infile)cerr<<"open error!"<<endl;exit(1);infile>>a;for(i=0;i<5;i+)for(m=0;m<100;m+)infile

17、>>time1mi;cout<<"         "cout<<a<<" "for(j=0;j<5;j+)for(n=0;n<100;n+)cout<<time1nj<<" "/将存储的数据用数组形式输出/查询历史信息else if(x=4)break;else  cout<<"t选择错误,请重新选择:" co

18、ut<<"请选择:"  <<"nnt"  <<"nnt 1.停车操作 "  <<"nnt 2.取车操作 "  <<"nnt 3.查询信息 "  <<"nnt 4.  退出   "  <<"nntnn" outfile

19、.close();   int juge() /判断出第一个空的车位    int j=0;  while(positionj=1&&j<100)    j+;    if(j<100)  positionj=1;  return j;   int comp()    char ch9;&#

20、160; cout<<"t车牌号:"  cin>>ch;  for(int k=0;k<100;k+)    if(!strcmp(ch,carink.no)    if(positioncarink.pos-1=1)    return (carink.pos-1);  break;      &

21、#160; if(k=100)  return k;    void car:putcar()    int t; while(1)  cout<<"nnt"<<"nnt货车请输入1,客车请输入2,轿车请输入3,其他请输入4: "<<"nntnn"cin>>t;  if(t=1)    ca

22、rini.fee=7.0;break;    else if(t=2)    carini.fee=5.0;break;    else if(t=3)carini.fee=4.0;break; else if(t=4)carini.fee=4.0;break;cout<<"输入错误!请重新输入:n"   if(i=100)  cout<<"对不起,车位已满!n&

23、quot;  carini.pos=i+1; /自动输出车位号  cout<<"nnt"cout<<"nnt车位号:"<<carini.pos<<endl;  catimei.getime();  cout<<"nnt现在时间是:"<<catimei.hour<<":"<<catimei.min<<endl;  

24、;cout<<"nnt"<<endl;  void car:takecar()    int hour1,min1;  double charge;  if(poi<100)    positionpoi=0;/重新设置为空位  hour1=catimepoi.hour;  min1=catimepoi.min;  catimepoi.getime

25、();  hour1=catimepoi.hour-hour1;  min1=catimepoi.min-min1;  if(min1<30)/计算出停车时间  charge=carinpoi.fee*hour1+carinpoi.fee*0.5;  else  charge=carinpoi.fee*hour1+carinpoi.fee;  cout<<"t车费为:"<<charge<<&qu

26、ot;元.n"  /计算出车费输出  else  cout<<"t无此车!n"   void Time:getime()   struct tm *newtime; /获取停车时间  time_t long_time; time( &long_time );  newtime = localtime( &long_time );  hour=newtime-&

27、gt;tm_hour;  min=newtime->tm_min;   void search_no()    int poi=comp();  if(poi<100)  cout<<"t此车已入库,车位为:"<<poi+1<<endl;  else  cout<<"t此车没有入库。n"  /根据车牌号查询是否入库&#

28、160; void search_pos()    int loc;  cout<<"t车位号:" /根据车位查询车位状态cin>>loc;  if(positionloc-1=1)    cout<<"t车牌号:"<<carinloc-1.no<<endl;  cout<<"t停车时间:"<<catimeloc-1.hour<&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论