• 最终项目 停车场管理系统


      1 #include<stdio.h>
      2  #include<string.h>
      3  #include<stdlib.h>
      4  #include<windows.h>
      5  #include<time.h>
      6  #include<math.h>
      7  #define N 36
      8  int place[N];
      9  int x,y,price,count;//现在的会员人数;全部的会员人数;停车单价;已用车位数;
     10  double sum;//盈利总额
     11  
     12  void menu();
     13  void parking();
     14  void take();
     15  void amoney();
     16  void show();
     17  void profit();
     18  void regist();
     19  void adjust();
     20  void backup();
     21  void del();
     22  struct park
     23  {
     24      int id;
     25      char name[30],tele[30],num[30];
     26      int money;
     27      int flag; //记录该会员是否已经注销
     28      time_t start ,end;
     29  } user[2000]={
     30      {0,"00","00000000000","00000",0,1},
     31      {1,"徐*","4565554645","k1157",100,1},
     32      {2,"冯**","5462121312","k1158",100,1},
     33      {3,"王**","84855123223","k1159",100,1},
     34      {4,"吴**","145435523","k1160",100,1},
     35      {5,"ee","475786543","k1161",100,1},
     36      {6,"ff","4254213475","k1162",100,1},
     37  };//初始赋值
     38  int main()
     39  {
     40      FILE *fp;
     41      int i,x,j;
     42      price=1;  count=0; sum=0;  y=6; x=y;//初始化数值
     43      memset(place,-1,sizeof(place));
     44      while(1)
     45      {
     46          fp=fopen("D:\data.txt","w");
     47          for(i=1; i<=y; i++)
     48              if(user[i].flag)
     49                  fprintf(fp,"%d %s %s %s %d
    ",user[i].id,user[i].name,user[i].tele,user[i].num,user[i].money);
     50              fclose(fp);
     51              menu();
     52              scanf("%d",&x);
     53              fflush(stdin);   //清理内存
     54              switch(x)
     55              {
     56              case 1: parking();  break;//停车记录
     57              case 2: take();     break;//取车记录
     58              case 3: amoney();   break;//现金充值
     59              case 4: show();     break;//显示余额
     60              case 5: profit();   break;//盈利查询
     61              case 6: regist();   break;//用户注册记录
     62              case 7: adjust();   break;//调整停车单价
     63              case 8: backup();   break;//数据备份
     64              case 9:del();       break;//用户注销记录
     65              case 0:
     66                  {
     67                      system("cls");
     68                      printf("
    
    
    
    
    
    			        感谢您的使用!");
     69                      Sleep(200);
     70                      for(j=0; j<=1; j++)
     71                      {
     72                          printf("                            
    ");
     73                          printf("                            
    ");
     74                          printf("                            
    ");
     75                          printf("                            
    ");
     76                          printf("                            
    ");
     77                          printf("		          ★★★★★            ★★★★★
    ");
     78                          printf("		        ☆☆       ☆☆      ☆☆       ☆☆
    ");
     79                          printf("		      ★★           ★★  ★★           ★★
    ");
     80                          printf("		     ☆☆                ☆                ☆☆
    ");
     81                          printf("		     ★★                                  ★★
    ");
     82                          printf("		      ☆☆                                ☆☆
    ");
     83                          printf("		       ★★         Thank you!          ★★
    ");
     84                          printf("		         ☆☆                          ☆☆
    ");
     85                          printf("		           ★★                      ★★
    ");
     86                          printf("		             ☆☆                  ☆☆
    ");
     87                          printf("		               ★★              ★★
    ");
     88                          printf("		                 ☆☆          ☆☆
    ");
     89                          printf("		                   ★★      ★★
    ");
     90                          printf("		                     ☆☆  ☆☆
    ");
     91                          printf("		                        ★★
    ");
     92                          Sleep(500);
     93                          system("cls");
     94                          printf("
    
    
    
    
    ");
     95                          printf("		             ★★★             ★★★
    ");
     96                          printf("		          ☆☆   ☆☆        ☆☆    ☆☆
    ");
     97                          printf("		        ★★        ★★  ★★         ★★
    ");
     98                          printf("		       ☆☆             ☆              ☆☆
    ");
     99                          printf("		        ★★                           ★★
    ");
    100                          printf("		         ☆☆         Thank you!      ☆☆
    ");
    101                          printf("		           ★★                      ★★
    ");
    102                          printf("		             ☆☆                  ☆☆
    ");
    103                          printf("		               ★★              ★★
    ");
    104                          printf("		                 ☆☆          ☆☆
    ");
    105                          printf("		                   ★★      ★★
    ");
    106                          printf("		                     ☆☆  ☆☆
    ");
    107                          printf("		                        ★★
    ");
    108                          Sleep(400);
    109                          system("cls");
    110  
    111                          printf("                            
    ");
    112                          printf("                            
    ");
    113                          printf("                            
    ");
    114                          printf("                            
    ");
    115                          printf("                            
    ");
    116                          printf("			      ★★★    ★★★
    ");
    117                          printf("			   ☆☆      ☆      ☆☆
    ");
    118                          printf("			 ★★                  ★★
    ");
    119                          printf("			  ☆☆                 ☆☆
    ");
    120                          printf("			   ★★              ★★
    ");
    121                          printf("			     ☆☆          ☆☆
    ");
    122                          printf("			       ★★      ★★
    ");
    123                          printf("			         ☆☆  ☆☆
    ");
    124                          printf("			            ★★
    ");
    125                          Sleep(400);
    126                          system("cls");
    127  
    128                          printf("                            
    ");
    129                          printf("                            
    ");
    130                          printf("                            
    ");
    131                          printf("                            
    ");
    132                          printf("                            
    ");
    133                          printf("                            
    ");
    134                          printf("		        ★ ☆  ☆ ★
    ");
    135                          printf("		      ☆     ★     ☆
    ");
    136                          printf("		       ★          ★
    ");
    137                          printf("		         ☆      ☆ 
    ");
    138                          printf("		           ★  ★
    ");
    139                          printf("");
    140                          Sleep(400);
    141                          system("cls");
    142  
    143                          printf("                            
    ");
    144                          printf("                            
    ");
    145                          printf("                            
    ");
    146                          printf("                            
    ");
    147                          printf("                            
    ");
    148                          printf("                             
    ");
    149                          printf("		    ★★ ★★  ★★ ★★
    ");
    150                      printf("		  ☆☆       ☆       ☆☆
    ");
    151                      printf("		 ★★                  ★★
    ");
    152                      printf("		  ☆☆   Thank you!    ☆☆
    ");
    153                      printf("		   ★★              ★★
    ");
    154                      printf("		     ☆☆          ☆☆
    ");
    155                      printf("		       ★★      ★★
    ");
    156                      printf("		         ☆☆  ☆☆
    ");
    157                      printf("		            ★★
    ");
    158                          Sleep(400);
    159                          system("cls");
    160                      }
    161  
    162                      printf("
    
    
    
    
    
    
    
    
    		        感谢您的使用!
    
    
    ");
    163  
    164                      printf("		    ★★ ★★  ★★ ★★
    ");
    165                      printf("		  ☆☆       ☆       ☆☆
    ");
    166                      printf("		 ★★                  ★★
    ");
    167                      printf("		  ☆☆    Thank you!   ☆☆
    ");
    168                      printf("		   ★★              ★★
    ");
    169                      printf("		     ☆☆          ☆☆
    ");
    170                      printf("		       ★★      ★★
    ");
    171                      printf("		         ☆☆  ☆☆
    ");
    172                      printf("		            ★★
    ");
    173                      printf("
    
    		本软件项目组成员:徐* 吴**
    
    				  冯** 王**");
    174                      printf("
    
    		");
    175                      exit(0);
    176                  }
    177  
    178                  break;//退出系统
    179              default:{
    180                  system("cls");
    181                  printf("
    
    
    
    
    			输入错误!
    
    			");
    182                  system("pause");
    183                      }
    184              }
    185      }
    186      return 0;
    187  }
    188  
    189  void menu()//主菜单
    190  {
    191      int i,j;
    192      system("cls");
    193      system("color 3F");
    194      printf("		   ┌───────────────┐
    ");
    195      printf("		   │       尊敬的管理员!         │
    ");
    196      printf("		   │欢迎您使用小型停车场管理系统!│
    ");
    197      printf("		   └───────────────┘
    ");
    198      printf("		┌──────────────────┐
    ");
    199      for(j=0;j<N/9;j++)
    200      {
    201          printf("");
    202          for(i=j*9;i<j*9+9;i++)
    203          {
    204              if(place[i]==-1) printf("");
    205              else printf("");
    206          }
    207          printf("");
    208  
    209          printf("");
    210          for(i=j*9;i<j*9+9;i++)
    211          {
    212              printf(" %2d ",i+1);
    213          }
    214          printf("");
    215      }
    216      printf("		└──────────────────┘
    ");
    217      printf("		┌──────────────────┐
    ");
    218      printf("		│       当前还剩余%d个车位!          │
    ",N-count);
    219      printf("		│【1】停车记录    【2】取车记录      │
    ");
    220      printf("		│【3】现金充值    【4】显示余额      │
    ");
    221      printf("		│【5】盈利查询    【6】用户注册记录  │
    ");
    222      printf("		│【7】调整停车单价【8】数据备份      │
    ");
    223      printf("		│【9】用户注销记录【0】退出          │
    ");
    224      printf("		└──────────────────┘
    ");
    225      printf("
    
    		按相应数字键,回车确认: ");
    226  }
    227  
    228  void parking()//停车记录
    229  {
    230      int id,i,f1,f2=0,a;
    231      if(count==N)
    232      {
    233          printf("当前车位已满!
    ");  return;
    234      }
    235      while(1)
    236      {
    237          f1=0;
    238          while(1)
    239          {
    240              printf("
    		请将输入器递给会员,并提醒会员输入id:");
    241              scanf("%d",&id);
    242              fflush(stdin);
    243              if(id>=1&&id<=y&&user[id].flag)
    244              {
    245                  break;
    246              }
    247              else
    248              {
    249                  system("cls");
    250                  printf("
    
    
    
    
    
    
    
    
    
    
    			没有该id。
    
    			如果不是会员,请提醒车主先注册!
    
    			输入'1'重新输入,输入'0'退出!
    
    ");
    251                  printf("			请输入:");
    252                  scanf("%d",&a);
    253                  if(a)
    254                      continue;
    255                  else
    256                      return;
    257              }
    258          }
    259  
    260          for(i=0; i<N; i++)
    261          {
    262              if(place[i]==id)
    263              {
    264                  printf("
    		输入错误!请提醒会员重新输入
    ");
    265                  f1=1;
    266                  break;
    267              }
    268          }
    269          if(f1)
    270              continue;
    271          if(user[id].money<=0)
    272          {
    273              system("cls");
    274              printf("
    
    
    
    
    			余额不足,请提醒会员充值!
    
    
    			");
    275              system("pause");
    276          }
    277          for(i=0; i<N; i++)
    278          {
    279              if(place[i]==-1)
    280              {
    281                  printf("
    		请提醒该会员此车可停在%d号车位!
    
    ",i+1); //系统自动为会员分配车位
    282                  place[i]=id;
    283                  count++;
    284                  f2=1;
    285                  break;
    286              }
    287              else
    288                  continue;
    289          }
    290          if(f2)
    291              break;
    292      }
    293      user[id].start = time(NULL);    //记录当前系统时间为停车时间
    294      printf("		");
    295      system("pause");
    296  }
    297  
    298  void take()//取车记录
    299  {
    300      int id,i,t,a;
    301      while(1)
    302      {
    303          printf("
    		请将输入器递给会员,并提醒会员输入id:");
    304          scanf("%d",&id);
    305          fflush(stdin);
    306          if(id>=1&&id<=y&&user[id].flag)
    307              break;
    308          else
    309          {
    310              printf("
    		没有该id。
    
    		如果不是会员,请提醒车主先注册!
    
    		输入'1'重新输入,输入'0'退出!
    
    ");
    311              printf("		请输入:");
    312              scanf("%d",&a);
    313              if(a)
    314                  continue;
    315              else
    316                  return;
    317          }
    318      }
    319      while(1)
    320      {
    321          for(i=0; i<N; i++)
    322          {
    323              if(place[i]==id)
    324              {
    325                  place[i]=-1; break;
    326              }
    327          }
    328          if(i>=N)
    329          {
    330              system("cls");
    331              printf("
    
    
    
    
    
    
    
    
    		该会员没有存车!
    ");
    332              break;
    333          }
    334          count--;
    335          user[id].end = time(NULL);//记录当前系统时间为取车时间
    336          user[id].money-=(difftime(user[id].end ,user[id].start)/3600)*price;//用difftime计算时间差
    337          sum+=difftime(user[id].end ,user[id].start)/3600;
    338          t=sum;
    339          if(sum-t>0)
    340          {
    341              sum=t+price;
    342              user[id].money-=(price-1);
    343          }                     //不足一个小时,按一个小时计费
    344          printf("
    		该会员车已离开!
    
    		%d车位已空!
    ",i+1);
    345          break;
    346      }
    347      printf("
    		");
    348      system("pause");
    349  }
    350  
    351  void amoney()//现金充值
    352  {
    353      int id,x;
    354      printf("
    		请将输入器递给会员,并提醒会员输入id: ");
    355      scanf("%d",&id);
    356      fflush(stdin);
    357      if(user[id].flag)
    358      {
    359          printf("
    		请提醒会员,输入充值的钱数: ");
    360          scanf("%d",&x);
    361          fflush(stdin);
    362          user[id].money+=x;
    363          printf("
    		");
    364          system("pause");
    365          system("cls");
    366          printf("");
    367            printf("		              ¥¥¥
    ");
    368            printf("		            ¥¥¥¥¥
    ");
    369            printf("		          ¥¥¥¥¥¥¥
    ");
    370            printf("		        ¥¥¥¥¥¥¥¥¥
    ");
    371            printf("		      ¥¥¥¥¥¥¥¥¥¥¥
    ");
    372            printf("		    ¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    373            printf("		  ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    374            printf("		¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    375          printf("
    
    		充值成功!
    
    		请提醒该会员的余额为:%d
    
    ",user[id].money);
    376          printf("
    		");
    377          system("pause");
    378      }
    379  }
    380  
    381  void show()//显示会员信息
    382  {
    383      int id;
    384      printf("
    		请将输入器递给会员,并提醒会员输入id:");
    385      scanf("%d",&id);
    386      fflush(stdin);
    387      if(user[id].flag)
    388      {
    389          system("cls");
    390           printf("");
    391            printf("		              ¥¥¥
    ");
    392            printf("		            ¥¥¥¥¥
    ");
    393            printf("		          ¥¥¥¥¥¥¥
    ");
    394            printf("		        ¥¥¥¥¥¥¥¥¥
    ");
    395            printf("		      ¥¥¥¥¥¥¥¥¥¥¥
    ");
    396            printf("		    ¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    397            printf("		  ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    398            printf("		¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    399          printf("
    
    		请提示该会员信息。
    
    ");
    400          printf("		id  姓名   电话        车牌号  余额
    
    ");
    401          printf("		%d   %s   %s   %s   %d
    ",user[id].id,user[id].name,user[id].tele,user[id].num,user[id].money);
    402          printf("
    		");
    403          system("pause");
    404      }
    405  }
    406  
    407  void profit()//盈利查询
    408  {
    409      printf("
    		总盈利额为:%.0lf元
    
    ",sum);
    410      printf("		");
    411      system("pause");
    412  }
    413  
    414  void regist()//新用户注册记录
    415  {
    416      x++;
    417      y++;
    418      int id=y;
    419      //id--;
    420      user[id].id=id;
    421      user[id].money=0;
    422      user[id].flag=1;
    423  
    424      printf("
    		请递给车主输入器,并提醒车主填写基本信息!
    ");
    425      printf("
    		姓名:	"); scanf("%s",user[id].name);
    426      fflush(stdin);
    427      printf("
    		电话:	"); scanf("%s",user[id].tele);
    428      fflush(stdin);
    429      printf("
    		车牌号:	"); scanf("%s",user[id].num);
    430      fflush(stdin);
    431  
    432      FILE *fp;
    433      fp=fopen("D:\data.txt","a");
    434      fprintf(fp,"%d %s %s %s %d
    ",user[id].id,user[id].name,user[id].tele,user[id].num,user[id].money);
    435      fclose(fp);
    436      system("cls");
    437  
    438      printf("
    
    		
    ");
    439      printf("			      .----------. 
    ");
    440      printf("			     (            )
    ");
    441      printf("			   _(.-. _...._ .-.)
    ");
    442      printf("			  (_)`-' __()__ `-'(_)
    ");
    443      printf("			 (....__|LESTER|__....)
    ");
    444      printf("			  | |    ~~~~~~    | |
    ");
    445      printf("			  `-'              `-'
    ");
    446      printf("
    
    
    				注册成功!
    
    ");
    447      printf("			提醒该会员,该会员编号为:%d
    ",id);
    448      printf("
    			");
    449      system("pause");
    450  }
    451  
    452  void adjust()//调整停车单价
    453  {
    454      int p;
    455      printf("
    		请输入调整后的停车价格:");
    456      scanf("%d",&p);
    457      fflush(stdin);
    458      price=p;
    459      system("cls");
    460            printf("");
    461            printf("		              ¥¥¥
    ");
    462            printf("		            ¥¥¥¥¥
    ");
    463            printf("		          ¥¥¥¥¥¥¥
    ");
    464            printf("		        ¥¥¥¥¥¥¥¥¥
    ");
    465            printf("		      ¥¥¥¥¥¥¥¥¥¥¥
    ");
    466            printf("		    ¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    467            printf("		  ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    468            printf("		¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
    ");
    469            printf("
    
    			调整成功!
    
    		调整后的价格为每小时%d元!
    ",p);
    470            printf("
    		");
    471      system("pause");
    472  }
    473  
    474  void backup()//数据备份
    475  {
    476      int i,j;
    477      system("cls");
    478      printf("
    
    		欢迎进入数据备份系统!
    
    ");
    479      char ch[2];
    480      char s[25];
    481      char str[] = "copy d:\data.txt ";
    482      printf("
    		请输入需要备份的磁盘(如:c,d,e,f):  ");
    483      scanf("%s",ch);
    484      fflush(stdin);
    485      for(i=0; i<=10; i++)//用循环和图形模拟缓冲过程
    486      {
    487          system("cls");
    488          printf("
    
    
    
    
    
    
    
    
    
    		正在进行数据备份,请稍候 ……
    
    ");
    489          printf("			  已完成%d%%
    
    		",i*10);
    490          for(j=0; j<i; j++)
    491              printf("");
    492          for(j=i+1; j<=10; j++)
    493              printf("");
    494          Sleep(400);
    495      }
    496      printf("
    
    
    		");
    497  
    498      strcat(str,ch);
    499      char str1[] = ":\data2.txt";
    500      strcat(str, str1);
    501      "copy d:\1.txt e:\data2.txt";
    502      system(str);
    503      printf("
    		");
    504      printf("		");
    505      system("pause");
    506  }
    507  
    508  void del()//用户注销记录
    509  {
    510      int id;
    511      printf("
    		请将输入器递给会员,并提醒会员输入id:");
    512      scanf("%d",&id);
    513      fflush(stdin);
    514      user[id].flag=0;
    515      x--;
    516      system("cls");
    517      printf("
    
    		
    ");
    518      printf("			      .----------. 
    ");
    519      printf("			     (            )
    ");
    520      printf("			   _(.-. _...._ .-.)
    ");
    521      printf("			  (_)`-' __()__ `-'(_)
    ");
    522      printf("			 (....__|LESTER|__....)
    ");
    523      printf("			  | |    ~~~~~~    | |
    ");
    524      printf("			  `-'              `-'
    ");
    525      printf("
    
    
    			请提醒,用户已注销!
    
    ");
    526      printf("			");
    527      system("pause");
    528  }
    529  
  • 相关阅读:
    C#中ArrayList 与 string、string[]数组 的转换
    C#int转成string,string转成int...获取listbox中的值...ListBox 如何循环赋值
    windows下定时利用bat脚本实现ftp备份上传
    Matlab中的静态文本框中显示多行内容
    matlab gui edit text 多行输出
    matlab的GUI中用全局变量来终止循环
    windows下定时利用bat脚本实现ftp上传和下载
    利用MATLAB绘制置信区域
    用MATLAB做聚类分析
    递归、斐波拉契数列、快速排序、八皇后
  • 原文地址:https://www.cnblogs.com/bfshm/p/3200629.html
Copyright © 2020-2023  润新知