c#控制台实现停车场管理系统案例


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _04_案例停车场管理系统
{
    class Program
    {
        static string[,] parking = new string[10,10];
        static bool[,] parkTag = new bool[10, 10];
        static void Main(string[] args)
        {
            InitianlParking();
            SetTitle();
            DrawParking();
            Console.ReadLine();
 
            while (true)
            {
                Console.WriteLine("请选择车辆状态:A--入场   B--出厂");
                string choose = Console.ReadLine();
                while (true)
                {
                   
                    
                    //入场
                    if (choose=="A")
                    {
                        Console.WriteLine("请输入入场车牌");
                        string plant = Console.ReadLine();
                        string location = SetParkCar(plant);
                        Console.Clear();
                        SetTitle();
                        Console.WriteLine("------------------欢迎【{0}】入场,您的车位是【{1}】------------------", plant, location);
                        Console.WriteLine("------------------------------------------------------------------------------------------------------------", plant, location);
                        DrawParking();
                        Console.ReadLine();
                        break;
                    }
                    else if (choose=="B")
                    {
                        Console.WriteLine("请输入出场车牌");
                        string plant = Console.ReadLine();
                        Console.Clear();
                        SetOutParking(plant);
                        SetTitle();
                        Console.WriteLine("------------------欢迎下次光临,一路顺风!------------------");
                        DrawParking();
                        Console.ReadLine();
                        break;
                    }
                }
              
            }
        }
 
        static void InitianlParking()
        {
            string row = "";
            for (int i = 0; i < parking.GetLength(0); i++)
            {
                for (int j = 0; j < parking.GetLength(1); j++)
                {
                    switch (i)
                    {
                        case 0:
                            row = "A";
                            break;
                        case 1:
                            row = "B";
                            break;
                        case 2:
                            row = "C";
                            break;
                        case 3:
                            row = "D";
                            break;
                        case 4:
                            row = "E";
                            break;
                        case 5:
                            row = "F";
                            break;
                        case 6:
                            row = "G";
                            break;
                        case 7:
                            row = "H";
                            break;
                        case 8:
                            row = "I";
                            break;
                        case 9:
                            row = "J";
                            break;
                        default:
                            break;
                    }
                    parking[i, j] = String.Format("车位{0}", row + (j + 1));
                    parkTag[i, j] = true;
                }
            }
        }
        static void DrawParking()
        {
            for (int i = 0; i < parking.GetLength(0); i++)
            {
                for (int j = 0; j < parking.GetLength(1); j++)
                {
                    Console.Write(parking[i,j]+"   \t");
                }
                Console.WriteLine();
            }
        }
 
        static int CountNull()
        {
            int count = 0;
            for (int i = 0; i < parking.GetLength(0); i++)
            {
                for (int j = 0; j < parking.GetLength(1); j++)
                {
                    if (parkTag[i,j])
                    {
                        count++;
                    }
                }
            }
            return count;
        }
 
        static void SetTitle()
        {
            int count = CountNull();
            Console.WriteLine("---------------------------------------------------------------------------");
            Console.WriteLine("-------------------------------欢迎进入停车场------------------------------");
            Console.WriteLine("-------------------------------当前剩余空车位:{0}--------------------------", count);
            Console.WriteLine("---------------------------------------------------------------------------");
        }
 
        //计算车位,指定车位
        static string SetParkCar(string plant)
        {
            string str = "";
            for (int i = 0; i < parking.GetLength(0); i++)
            {
                for (int j = 0; j < parking.GetLength(1); j++)
                {
                    //从A1-J10车位一个接一个进行判断寻找空车位,找到则提示
                    if (parkTag[i,j]==true)
                    {
                        str = parking[i, j];
                        str = str.Substring(2);
                        parking[i, j] = plant;
                        parkTag[i, j] = false;
                        return str;
                    }
                }
            }
            return "停车场已满!";
        }
 
        //设置车出厂,清理车位
        static void SetOutParking(string plant)
        {
            string row="";
            //找到其当时的车位,将车位状态改成空车位状态
            for (int i = 0; i < parking.GetLength(0); i++)
            {
                for (int j = 0; j < parking.GetLength(1); j++)
                {
                    if (parking[i,j]==plant)
                    {
                        parkTag[i, j] = true;
                        switch (i)
                        {
                            case 0:
                                row = "A";
                                break;
                            case 1:
                                row = "B";
                                break;
                            case 2:
                                row = "C";
                                break;
                            case 3:
                                row = "D";
                                break;
                            case 4:
                                row = "E";
                                break;
                            case 5:
                                row = "F";
                                break;
                            case 6:
                                row = "G";
                                break;
                            case 7:
                                row = "H";
                                break;
                            case 8:
                                row = "I";
                                break;
                            case 9:
                                row = "J";
                                break;
                            default:
                                break;
                        }
                        parking[i,j]= String.Format("车位{0}", row + (j + 1));
                    }
                }
            }
        }
    }

}

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值