C语言课程设计-停车场管理系统.docxVIP

  • 6
  • 0
  • 约5.74千字
  • 约 12页
  • 2023-03-12 发布于湖北
  • 举报
PAGE PAGE 1 开始显示一系列选项功能 开始 显示一系列选项功能 N 输入 n,判断 n 是不是 1-4? Y 根据 n 的值 调用各功能模块 函 结束 题目要求 设有一个可以停放n 辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场 的最里面)。如果停车场已放满 n 辆车,则后来的车辆只能在停车场大门外的便道上等待, 一旦停车场内有车开走,则排在便道上的第一辆车就进入停车站。停车站内如有某辆车要开 走,在它之后进入停车场的车都必须先退出停车站为它让路,待其开出停车场后,这些车辆 再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便 道上等待的车辆的次序。编制一程序模拟该停车场的管理。 【基本要求】要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场是的停车时间及它应该交的费用。 需求分析 根据题目要求,因为停车场是一个单条的序列,可以用结构体实现;在程序中,需要知道每 辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开始时,停车场要初始化。 总体设计 这个系统可以分为:初始化、有车进入、有车离开、退出四个模块。 详细设计 main()函数体内包含了界面选则部分menu(),并单独抽出来作为一个独立函数,目的在于系统执行每部分模块后能够方便返回到系统界面。即main()函数写为如下: void main()/*主函数*/ { menu();/*菜单函数*/ } 菜单函数: void menu() { int n,w; do { puts(\t\t**************MENU**************\n\n); puts(\t\t\t 1.初始化); puts(\t\t\t 2.有车进入); puts(\t\t\t 3.有车离开); puts(\t\t\t 4.退出); puts(\n\n\t\t*********************************\n); printf(Please choice your number(1-4): [ ]\b\b); scanf(%d,n); if(n1||n4) /*对选择的数字作判断*/ { } else w=0; w=1; getchar(); }while(w==1); switch(n) { case 1:chushi();break; /*初始化函数*/ case 2:jinru();break; /*车辆进入函数*/ case 3:likai();break; /*车辆离开函数*/ case 4:exit(0); /*退出*/ } } 初始化模块设计: 【需求分析】 该模块是将每一天开始的停车场内和便道车位清零。首先建立场内场外的结构体,结构体内成员即车位的状态。用循环实现车位的致零即可。 struct changnei/*场内车道信息*/ { int neikong; }chn[N-1]; struct changwai/*场外车道信息*/ { int waikong; }chw[M-1]; N 和 M 分别是停车场和便道的车位预设值,用宏定义。用户可根据实际情况改变。 #define N 100/*预设停车场有 100 个车位*/ #define M 100/*预设便道有 100 个出位*/ void chushi()/*初始化函数*/ { int i,j; for(i=0;i=N-1;i++) chn[i].neikong=0;/*将场内车道设置为空*/ for(j=0;j=M-1;j++) chw[i].waikong=0;/*将便道车道设置为空*/ printf(\n\n\t\t 已初始化\n\n); menu(); } 函数出示化后将回到菜单界面。 车辆进入函数: 【需求分析】 车辆到达后,要指定车辆的停车位置。用户根据菜单函数进入车辆进入模块。按照每辆车的到达次序给予车辆次序号,由 0 号开始。车辆信息也建立结构体。 struct car/*车辆信息*/ { int car_num;/*车辆次序号*/ int car_arr;/*车辆到达时间*/ int car_lef;/*车辆离开时间*/ int car_stay;/*车辆停放位置*/ }car[CIXUHAO]; 其中,CIXUHAO 是车辆次序号的宏定义: #define CIXUHAO 1000/*预设车辆次序号。不管车辆到达时停在场内或便道,均依次设置一个次序号,由 0 开始*/ 给予车辆次序号之后,用循环判断停车

文档评论(0)

1亿VIP精品文档

相关文档