亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言實現(xiàn)簡單的停車場管理系統(tǒng)

 更新時間:2022年03月15日 11:34:20   作者:張小桐  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單的停車場管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)簡單停車場管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

1.問題描述

1)有一個兩層的停車場,每層有6個車位,當?shù)谝粚榆囄煌M后才允 許使用第二層(停車場可用一個二維數(shù)組實現(xiàn)),每輛車的信息包括車牌號,層號,車位號,停車時間共四項,其中停車時間按分鐘計算;
2)假設停車場初始狀態(tài)為第一層空、第二層已經(jīng)有四輛車,其車位號依次為第二層的1-4號,停車時間依次為20,15,10,5;
3)停車操作:當一輛車進入停車場時,先輸入其車牌號,再為它分配一個層號和一個車位號(分配前先查詢車位的使用情況,如果第一層有空位則必須停在第一層),停車時間設為5,并將在此之前的停車時間加5。(此題簡化時間的處理:當有一輛車進入時才對別的車加時間5分鐘);
4)收費管理(取車):當有車開走時,輸入其車牌號,先按其停車時間計算費用,每5分鐘0.2元,同時將該車對應的車位設置為可使用狀態(tài)。
5)輸出停車場中全部車輛的信息;
6)退出系統(tǒng);

涉及的知識

結(jié)構(gòu)體的運用,用數(shù)組當函數(shù)參數(shù)等。

2.上代碼

#include "stdio.h"
#include<string.h>
struct 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èi)\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èi)無此車\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.運行結(jié)果部分截圖

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C++標準庫學習之weak_ptr智能指針用法詳解

    C++標準庫學習之weak_ptr智能指針用法詳解

    這篇文章主要為大家詳細介紹了C++標準庫中weak_ptr智能指針用法的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • Qt結(jié)合libqrencode生成二維碼的實現(xiàn)示例

    Qt結(jié)合libqrencode生成二維碼的實現(xiàn)示例

    本文主要介紹了Qt結(jié)合libqrencode生成二維碼的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言一篇精通鏈表的各種操作

    C語言一篇精通鏈表的各種操作

    鏈表是一種常見的重要的數(shù)據(jù)結(jié)構(gòu)。它是動態(tài)地進行存儲分配的一種結(jié)構(gòu),是根據(jù)需要開辟內(nèi)存單元,鏈表這種數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實現(xiàn),即一個結(jié)點中應包含一個指針變量,用它存放下一結(jié)點的地址
    2022-04-04
  • C語言動態(tài)內(nèi)存函數(shù)(malloc、calloc、realloc、free)詳解

    C語言動態(tài)內(nèi)存函數(shù)(malloc、calloc、realloc、free)詳解

    在C語言中,動態(tài)內(nèi)存函數(shù)是塊重要的知識點,以往,我們開辟空間都是固定得,數(shù)組編譯結(jié)束后就不能繼續(xù)給它開辟空間了,開辟的空間滿了,就不能在開辟空間了,學習本文章,我們就可以解決這個問題,向內(nèi)存申請空間,感興趣的小伙伴跟著小編一起來看看吧
    2023-08-08
  • C++宏函數(shù)和內(nèi)聯(lián)函數(shù)的使用

    C++宏函數(shù)和內(nèi)聯(lián)函數(shù)的使用

    本文主要介紹了C++宏函數(shù)和內(nèi)聯(lián)函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 從C語言過渡到C++之基本變化

    從C語言過渡到C++之基本變化

    在之前的C++代碼訓練營系列中,我試圖用完成具體項目的方式給大家介紹C++,但后來大家反饋說這樣從C過渡到C++有點跟不上。于是我又專門設計了這個《從C到C++》的過渡專題,我準備通過10篇文章介紹一下C++和C的重要區(qū)別。
    2017-07-07
  • Qt在vs2019中使用及設置方法

    Qt在vs2019中使用及設置方法

    這篇文章主要介紹了Qt在vs2019中使用及設置方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • C語言實現(xiàn)數(shù)據(jù)的壓縮與解壓

    C語言實現(xiàn)數(shù)據(jù)的壓縮與解壓

    數(shù)據(jù)壓縮是通過一系列的算法和技術將原始數(shù)據(jù)轉(zhuǎn)換為更緊湊的表示形式,以減少數(shù)據(jù)占用的存儲空間,數(shù)據(jù)解壓縮則是將壓縮后的數(shù)據(jù)恢復到原始的表示形式,本文給大家詳細介紹了C語言實現(xiàn)數(shù)據(jù)壓縮與解壓,需要的朋友可以參考下
    2023-08-08
  • 關于STL中set容器的一些總結(jié)

    關于STL中set容器的一些總結(jié)

    關于set,必須說明的是set關聯(lián)式容器。set作為一個容器也是用來存儲同一數(shù)據(jù)類型的數(shù)據(jù)類型,并且能從一個數(shù)據(jù)集合中取出數(shù)據(jù),在set中每個元素的值都唯一,而且系統(tǒng)能根據(jù)元素的值自動進行排序
    2013-09-09
  • 詳解C語言求兩個數(shù)的最大公約數(shù)及最小公倍數(shù)的方法

    詳解C語言求兩個數(shù)的最大公約數(shù)及最小公倍數(shù)的方法

    這篇文章主要介紹了C語言求兩個數(shù)的最大公約數(shù)及最小公倍數(shù)的方法,輾轉(zhuǎn)相除法和輾轉(zhuǎn)相減法在解決這種問題時最常用到,需要的朋友可以參考下
    2016-03-03

最新評論