千家信息网

如何用C语言实现简单的停车场管理系统

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,本篇内容主要讲解"如何用C语言实现简单的停车场管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用C语言实现简单的停车场管理系统"吧!1.问题描述
千家信息网最后更新 2024年11月21日如何用C语言实现简单的停车场管理系统

本篇内容主要讲解"如何用C语言实现简单的停车场管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用C语言实现简单的停车场管理系统"吧!

1.问题描述

1)有一个两层的停车场,每层有6个车位,当第一层车位停满后才允 许使用第二层(停车场可用一个二维数组实现),每辆车的信息包括车牌号,层号,车位号,停车时间共四项,其中停车时间按分钟计算;
2)假设停车场初始状态为第一层空、第二层已经有四辆车,其车位号依次为第二层的1-4号,停车时间依次为20,15,10,5;
3)停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号(分配前先查询车位的使用情况,如果第一层有空位则必须停在第一层),停车时间设为5,并将在此之前的停车时间加5。(此题简化时间的处理:当有一辆车进入时才对别的车加时间5分钟);
4)收费管理(取车):当有车开走时,输入其车牌号,先按其停车时间计算费用,每5分钟0.2元,同时将该车对应的车位设置为可使用状态。
5)输出停车场中全部车辆的信息;
6)退出系统;

涉及的知识

结构体的运用,用数组当函数参数等。

2.上代码

#include "stdio.h"#includestruct car{    char car_num[10];    int floor;    int position_num;    int time;}CAR[12] = { {"0",1,1,0},{"0",1,2,0},{"0",1,3,0},{"0",1,4,0},{"0",1,5,0},{"0",1,6,0}            ,{"冀F12345",2,1,20},{"冀F17845",2,2,15},{"冀F12856",2,3,10},{"冀F12445",2,4,5},{ "0",2,5,0 }, {"0",2,6,0} };void park(struct car CAR[]){    int i, j,k;    int flag = 0;    char carn[10];    printf("\n请输入车牌号\n");    scanf("%s", carn);    for (k = 0; k < 12; k++)    {        if (strcmp(CAR[k].car_num, carn) == 0)        {            printf("该车已在停车场内\n");            flag = 2;            break;        }    }    for (i = 0; i < 12; i++)    {        if (strcmp(CAR[i].car_num,"0") == 0&&flag==0)        {            strcpy(CAR[i].car_num, carn);            for (j = 0; j < 12; j++)            {                if (strcmp(CAR[j].car_num, "0") != 0)                {                    CAR[j].time += 5;                }            }            printf("该车可停在了%d层%d号\n", CAR[i].floor, CAR[i].position_num);            flag = 1;            break;        }    }    if (flag == 0)    {        printf("\n停车场已满\n");    }}void leave(struct car CAR[]){    int i, j;    int flag = 0;    char carn[10];    float price;    scanf("%s",carn);    for (i = 0; i < 12; i++)    {        if (strcmp(CAR[i].car_num,carn)==0)        {            strcpy(CAR[i].car_num,"0");            price = CAR[i].time*0.04;            CAR[i].time = 0;            flag = 1;            printf("\n停车费%f\n", price);        }    }    if (flag == 0)    {        printf("\n停车场内无此车\n");    }    }void information(struct car CAR[]){    printf("车牌号    \t层号\t位号\t时间\n");    for (int i = 0; i < 12; i++)    {        printf("%-10s\t%d\t%d\t%d\n", CAR[i].car_num, CAR[i].floor, CAR[i].position_num, CAR[i].time);    }}int main(){    int n;    int m = -1;    while (m != 0)    {        printf("\n*************************\n");        printf("1.停车\n");        printf("2.离开\n");        printf("3.输出停车场信息\n");        printf("0.退出\n");        printf("*************************\n");        printf("请输入功能号0-3:");        scanf("%d", &m);        while (m < 0 || m>3)        {            printf("\n输入错误!请输入正确的功能号0-3:");            scanf("%d", &m);        }        if (m == 1)            park(CAR);        else if (m == 2)            leave(CAR);        else if (m == 3)            information(CAR);    }    return 0;}

3.运行结果部分截图

到此,相信大家对"如何用C语言实现简单的停车场管理系统"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0