① 用c語言編一個停車場管理系統
/*初始化停車場信息,初始狀態為第一層已經停有4輛車,
* 其車位號依次為1—4 , 停車時間依次為20, 15, 10 , 5
*/
void Init(struct Garage gar[][6])
{
int i, j;
/*給所有的車位的層號,車位號初始化,停車時間初始化為0,停車位全都初始化為空*/
for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
gar[i][j].lay = i+1;
gar[i][j].garagenum = j+1;
gar[i][j].time = 0;
gar[i][j].isempty = 1;
}
}
/*第一層的1-4號車位停車*/
for (i=0; i<4; i++)
{
gar[0][i].isempty = 0;
}
strcpy(gar[0][0].carnum, "GF8888"); /*我自己初始化的車牌號,你可以自己改一下*/
gar[0][0].time = 20;
strcpy(gar[0][1].carnum, "GF6666");
gar[0][1].time = 15;
strcpy(gar[0][2].carnum, "GF9999");
gar[0][2].time = 10;
strcpy(gar[0][3].carnum, "GF5858");
gar[0][3].time = 5;
}
/*新停入的汽車後,將在此之前的所有車的停車時間加5*/
void AddTime(struct Garage gar[][6])
{
int i, j;
for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
if (gar[i][j].isempty == 0)
{
gar[i][j].time += 5;
}
}
}
}
/*停車*/
void Park(struct Garage gar[][6])
{
int i;
char num[8];
printf("請輸入車牌號:");
scanf("%s", num);
/*查找空車位*/
for (i=0; i<6; i++)
{
if (gar[0][i].isempty == 1)
{
printf("第一層第%d號車位空著,請在此處停車\n", i+1);
strcpy(gar[0][i].carnum, num);
printf("車牌號:%s 層號:1 車位號: %d \n", num, i+1);
AddTime(gar); /*在此之前停車的所有汽車時間加5*/
gar[0][i].isempty = 0; /*表示該車為已經停車*/
gar[0][i].time = 5; /*將時間設為5*/
return;
}
}
printf("第一層已經沒有空車位\n");
for (i=0; i<6; i++)
{
if (gar[1][i].isempty = 1)
{
printf("第二層第%d號車位空著,請在此處停車\n", i+1);
strcpy(gar[1][i].carnum, num);
printf("車牌號:%s 層號:2 車位號: %d \n", num, i+1);
AddTime(gar); /*在此之前停車的所有汽車時間加5*/
gar[1][i].isempty = 0; /*表示該車為已經停車*/
gar[1][i].time = 5; /*將時間設為5*/
return;
}
}
printf("對不起,1 2層都沒有空車位,您現在不能在此停車\n");
}
/*查看所有車輛信息*/
void Information(struct Garage gar[][6])
{
int i, j;
printf(" 車牌號 層號 車位號 停車時間\n");
for (i=0; i<2; i++)
{
for(j=0; j<6; j++)
{
if (gar[i][j].isempty == 0)
printf(" %s%8d%8d%8d\n", gar[i][j].carnum, gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
}
}
printf("\n");
}
/*取車*/
double Leave(struct Garage gar[2][6])
{
int i, j;
char num[8];
double charge = 0;
printf("請輸入要取的車牌號:");
scanf("%s", num);
for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
if (!strcmp(gar[i][j].carnum, num))
{
printf("您在%d層%d車位停車%d分鍾\n", gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
charge = gar[i][j].time/5*0.2;
printf("停車費用為每5分鍾0.2元,您需交%.2lf元\n", charge);
gar[i][j].isempty = 1;
return charge;
}
}
}
printf("沒有您輸入的車號。\n\n");
return charge;
}
/*是否查看總收入*/
void IsPrintTotal(double total)
{
char ch;
printf("是否查看停車收費總計?Y/N");
scanf("%c", &ch);
while (ch!='y' && ch!='Y' && ch!='n' && ch!='N')
{
printf("請輸入Y或N ");
scanf("%c", &ch);
printf("\n");
}
switch (ch)
{
case 'Y':
case 'y':
printf("停車收費總計為%.2lf元\n", total);
break;
case 'N':
case 'n':
break;
}
}
main()
{
int choice;
double total = 0;
struct Garage gar[2][6];
Init(gar); //初始化第一層已經停有的4輛車
while (1)
{
Instruction();
printf("請輸入要進行的操作:");
scanf("%d", &choice);
while (choice<0 || choice>3)
{
printf("輸入的不合法,請輸入0-3選擇:");
scanf("%d", &choice);
}
switch (choice)
{
case 1:
Park(gar);
break;
case 2:
total += Leave(gar);
IsPrintTotal(total);
break;
case 3:
Information(gar);
break;
case 0:
exit(0);
}
}
return 0;
}
② C語言停車場管理系統
細節上的優化就看Lz怎麼想了,我覺得提示做得還不夠好,免強能用了。
#include<stdio.h>
#include<string.h>
#define N 3 /*停車場大小*/
#define MAX 50 /*過道大小*/
#define sign 10/*車牌大小*/
#define price 10/*每分鍾的價錢*/
char part[N][sign];
char Rpart[MAX][sign];
char time[N][20];
int P,R;
partadd(char *t)
{
strcpy(&part[P][0],t);
printf("請輸入時間:例如十點十分格式為「10.10」\n");
scanf("%s",&time[P][0]);
getchar();
P++;
}
Rpartadd(char *t)
{
if(R<MAX)
{
strcpy(&Rpart[R][0],t);
R++;
}
else
{
printf("過道己滿。無法停車。\n");
}
}
newcar()
{
char temp[sign];
printf("請輸入車牌號:");
scanf("%s",temp);
getchar();
if(P<N)
{
partadd(temp);
}
else if(R<MAX)
{
Rpartadd(temp);
}
}
int timed(char *t1,char *t2)
{
int i=0,y=0,x=0,j,n=1;
while(1)
{
if(t1[i]=='.')
{
for(j=i-1;j>=0;j--)
{
y=y+(t1[j]-'0')*(60*n);
n=n*10;
}
while(1)
{
if(t1[j]==NULL)
{
for(n=1;j>i;j--)
{
y=y+(t1[j]-'0')*n;
n=n*10;
}
break;
}
j++;
}
i=0;
while(1)
{
if(t2[i]=='.')
{
for(j=i-1;j>=0;j--)
{
x=x+(t2[j]-'0')*(60*n);
n=n*10;
}
while(1)
{
if(t2[j]==NULL)
{
for(n=1;j>i;j--)
{
x=x+(t2[j]-'0')*n;
n=n*10;
}
break;
}
j++;
}
y=(x-y)*price;
return y;
}
i++;
}
}
i++;
}
}
partcarout(int i)
{
int j,money;
char t[20];
printf("請輸入現在的時間:例如十點十分格式為「10.10」\n");
scanf("%s",t);
getchar();
money=timed(t,&time[i][0]);
printf("收費%d\n",money);
for(j=i;j<P;j++)
{
strcpy(&part[j][0],&part[j+1][0]);
P--;
}
if(R!=0)
{
strcpy(&part[N-1][0],&Rpart[0][0]);
P++;
strcpy(&time[P][0],t);
Rpartcarout(0);
}
}
Rpartcarout(int i)
{
int j;
for(j=i;j<R;j++)
{
strcpy(&Rpart[j][0],&Rpart[j+1][0]);
R--;
}
}
carout()
{
char t[sign];
int i,get=0;
printf("請入要離開的車牌號:");
scanf("%s",t);
getchar();
for(i=0;i<P;i++)
{
if(strcmp(t,&part[i][0])==0)
{
get=1;
partcarout(i);
break;
}
}
for(i=0;i<R&&get==0;i++)
{
if(strcmp(t,&Rpart[i][0])==0)
{
get=1;
Rpartcarout(i);
break;
}
}
if(get==0)
{
printf("查無此車。\n");
}
}
jopart()
{
int i;
for(i=0;i<P;i++)
{
printf("%d.%s\n",i,&part[i][0]);
}
}
joRpart()
{
int i;
for(i=0;i<R;i++)
{
printf("%d.%s\n",i,&Rpart[i][0]);
}
}
main()
{
int c;
while(1)
{
printf("請選擇要做的事:\n");
printf("1.加入新車。\n");
printf("2.有車離開。\n");
printf("3.顯示在停車場內的車。\n");
printf("4.顯示在過道上的車。\n");
printf("5.退出。\n");
c=getchar();
getchar();
switch (c)
{
case '1':newcar();
break;
case '2':carout();
break;
case '3':jopart();
break;
case '4':joRpart();
break;
case '5':exit(1);
break;
}
}
}
③ C語言程序設計停車場管理系統
哥們,我編寫了一個相關的程序,和你這個差不多。你自己改改就可以用了。
這裡面回答不了那麼多的字。你要程序就找我
④ c程序 停車場管理系統
基本功能
刷卡(掃描條形碼票據)出入
計時收費
中文(英文)顯示
語音提示
出入口對講
出入口圖像對比、實時監控
出入口自動吞卡、吐卡
防砸車
車牌識別
空位數量提示
車位引導
高級功能
無卡管理系統
手機刷卡系統
區域車位引導系統
防撞系統
自動區分車型收費,
自定義系統功能。(分時區區別收費,高峰期不落閘等)
遠程監控,控制功能。
控制車輛進入許可權。
記錄及限制停車時間。
防止人員收費漏洞。
車位滿時限制進入。
單通道系統,可防止車在通道內堵車。
實現不停車過通道
全視頻收費系統
停車場找車系統
停車場管理系統架構與功能
停車場管理系統架構與功能中央控制系統:主控模塊、液晶鍵盤、電腦串口板、停車場管理軟體、對講主機等、電腦及列印機等;
停車場管理系統架構與功能入口系統:入口機箱、出卡機(可選配)、讀卡器、控制器、彩色攝像機、車輛檢測器、自動道閘、車輛滿位顯示器等;
出口系統:出口機箱、讀卡器、收卡機(可選配)、控制器、彩色攝像機、車輛檢測器、自動道閘等;
●IC卡停車場管理系統採用IC感應卡作為車輛出入停車場的憑證,實現一車一卡,並結合先進的圖像抓拍技術,實現車輛出入停車場圖像對比,實時監控停車場的運行情況,有效的防止車輛的丟失,完成停車場收費的計算機化管理。這是物業管理部門實現停車場管理現代化,杜絕票款流失的好方法。為方便刷卡,可以採用IC與RFID復合卡。
●系統軟體採用SQL資料庫,是基於Windows98/2000平台開發而形成的圖形化中文版應用程序,界面友好、操作簡單、功能完善。
●登錄系統:是操作員進入系統的門戶。
●系統維護:是提供對系統的車參數、收費標准、系統操作員、數據維護、軟體信息等維護的手段。
●檔案管理:建立車輛類型檔案,如果需要將車輛細分成各種車型,需輸入車輛類型的編號、名稱,否則不需輸入;建立車輛顏色檔案,如果需要將車輛按顏色區分,需建立起車輛顏色的檔案,輸入車輛顏色的編號、名稱,否則不需輸入。
●IC卡管理:可分250種許可權進行管理,不同等級的操作人員憑不同的密碼進入軟體系統後,實現不同的功能。同時上層對下層的密碼可進行修改,進行重新授權。
●IC卡檢測:檢測IC卡的內容;
●IC卡發行:發行出入卡,可列印發行記錄表;
●IC卡延期:延期月票卡、免費卡、可列印延期記錄表;
●IC卡回收:回收出入卡,可列印回收記錄表;
●IC卡黑名單:禁用和啟用出入卡,可列印黑名單表;
●查詢出入卡的基本檔案,可列印出入境卡的期表;
●具有多種數據統計、記錄查詢及報表列印功能。
詳情:www.shsws.cn
⑤ 求一個c語言編輯的 簡單的 停車場管理系統 。最好有備注 。 謝謝思
簡單的停車場管理系統使用又方便的有很多,比如道爾智控的。
⑥ 求一個 c語言編輯的 停車場管理系統 。 就是簡單的就好,最好有備注
在C語言中,「^」是雙目運算符,用於完成兩個數據的按位異或操作。該運算符可以用來進行兩個數據的比較或者對一個數據中的某些位進行處理。
1、if(a^0x8)a=0;//如果a不等於08H則a=0
2、a=a^0xf0;//將a的高4位取反低4位不變後存回a
⑦ 用C語言編寫「停車場管理系統」
程序太大 不讓發 我是分幾次發過去的 打三個出現亂碼了 我在重新發一次
/*初始化停車場信息,初始狀態為第一層已經停有4輛車,
* 其車位號依次為1—4 , 停車時間依次為20, 15, 10 , 5
*/
void Init(struct Garage gar[][6])
{
int i, j;
/*給所有的車位的層號,車位號初始化,停車時間初始化為0,停車位全都初始化為空*/
for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
gar[i][j].lay = i+1;
gar[i][j].garagenum = j+1;
gar[i][j].time = 0;
gar[i][j].isempty = 1;
}
}
/*第一層的1-4號車位停車*/
for (i=0; i<4; i++)
{
gar[0][i].isempty = 0;
}
strcpy(gar[0][0].carnum, "GF8888"); /*我自己初始化的車牌號,你可以自己改一下*/
gar[0][0].time = 20;
strcpy(gar[0][1].carnum, "GF6666");
gar[0][1].time = 15;
strcpy(gar[0][2].carnum, "GF9999");
gar[0][2].time = 10;
strcpy(gar[0][3].carnum, "GF5858");
gar[0][3].time = 5;
}
/*新停入的汽車後,將在此之前的所有車的停車時間加5*/
void AddTime(struct Garage gar[][6])
{
int i, j;
for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
if (gar[i][j].isempty == 0)
{
gar[i][j].time += 5;
}
}
}
}
/*停車*/
void Park(struct Garage gar[][6])
{
int i;
char num[8];
printf("請輸入車牌號:");
scanf("%s", num);
/*查找空車位*/
for (i=0; i<6; i++)
{
if (gar[0][i].isempty == 1)
{
printf("第一層第%d號車位空著,請在此處停車\n", i+1);
strcpy(gar[0][i].carnum, num);
printf("車牌號:%s 層號:1 車位號: %d \n", num, i+1);
AddTime(gar); /*在此之前停車的所有汽車時間加5*/
gar[0][i].isempty = 0; /*表示該車為已經停車*/
gar[0][i].time = 5; /*將時間設為5*/
return;
}
}
printf("第一層已經沒有空車位\n");
for (i=0; i<6; i++)
{
if (gar[1][i].isempty = 1)
{
printf("第二層第%d號車位空著,請在此處停車\n", i+1);
strcpy(gar[1][i].carnum, num);
printf("車牌號:%s 層號:2 車位號: %d \n", num, i+1);
AddTime(gar); /*在此之前停車的所有汽車時間加5*/
gar[1][i].isempty = 0; /*表示該車為已經停車*/
gar[1][i].time = 5; /*將時間設為5*/
return;
}
}
printf("對不起,1 2層都沒有空車位,您現在不能在此停車\n");
}
/*查看所有車輛信息*/
void Information(struct Garage gar[][6])
{
int i, j;
printf(" 車牌號 層號 車位號 停車時間\n");
for (i=0; i<2; i++)
{
for(j=0; j<6; j++)
{
if (gar[i][j].isempty == 0)
printf(" %s%8d%8d%8d\n", gar[i][j].carnum, gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
}
}
printf("\n");
}
/*取車*/
double Leave(struct Garage gar[2][6])
{
int i, j;
char num[8];
double charge = 0;
printf("請輸入要取的車牌號:");
scanf("%s", num);
for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
if (!strcmp(gar[i][j].carnum, num))
{
printf("您在%d層%d車位停車%d分鍾\n", gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
charge = gar[i][j].time/5*0.2;
printf("停車費用為每5分鍾0.2元,您需交%.2lf元\n", charge);
gar[i][j].isempty = 1;
return charge;
}
}
}
printf("沒有您輸入的車號。\n\n");
return charge;
}
/*是否查看總收入*/
void IsPrintTotal(double total)
{
char ch;
printf("是否查看停車收費總計?Y/N");
scanf("%c", &ch);
while (ch!='y' && ch!='Y' && ch!='n' && ch!='N')
{
printf("請輸入Y或N ");
scanf("%c", &ch);
printf("\n");
}
switch (ch)
{
case 'Y':
case 'y':
printf("停車收費總計為%.2lf元\n", total);
break;
case 'N':
case 'n':
break;
}
}
main()
{
int choice;
double total = 0;
struct Garage gar[2][6];
Init(gar); //初始化第一層已經停有的4輛車
while (1)
{
Instruction();
printf("請輸入要進行的操作:");
scanf("%d", &choice);
while (choice<0 || choice>3)
{
printf("輸入的不合法,請輸入0-3選擇:");
scanf("%d", &choice);
}
switch (choice)
{
case 1:
Park(gar);
break;
case 2:
total += Leave(gar);
IsPrintTotal(total);
break;
case 3:
Information(gar);
break;
case 0:
exit(0);
}
}
return 0;
}
⑧ c語言編程的停車場管理系統
這道題的難度不亞於一個C語言的課程設計哈,在這提問不太合適。
就提供給你思路吧。
職工信息可以存入一個結構體數組中,此結構體元素包含有貨物編號(unsigned int cargo_number;);貨物名稱(char cargo_name[10];);貨物價格(unsigned int cargo_price;);貨物數量(unsigned int cargo_price;)。。。其他元素,題主根據要求添加元素。
然後,構建函數用來添加貨物名稱:void add_cargo_info(...)(形參元素為結構體數組名),即手動添加貨物信息,完事後記得要將信息寫入磁碟文件中;
然後,構建函數顯示信息,這個簡單,void display_cargo_info(...)(形參為結構體數組名),用一個while循環輸出即可;
然後,查詢函數,void cargo_info_search(...)(形參可為多種,名字,編號。。。),同樣用while循環搞定;
然後,修改信息,void cargo_info_update(...)(形參同為結構體數組),調用查找函數,找到要修改的貨物,然後在此信息中修改即可;
然後,刪除信息,void cargo_info_delete(...)(形參同為結構體數組),也是首先找到要刪除的信息,然後要調用保存函數。
這個就是我的思路,題主可以參考,希望解決了題主的問題。
⑨ c語言停車場管理系統
是東軟幾班的?,我也正在幫我同學做,你可以看看display給的示例裡面有個事stu開頭的,,,老師都忘了改,我現在前三個功能寫完了,就是那個歷史車輛查詢和儲存下來的數據進行重新讀取有問題,還有個疑問就是,根本沒有車輛的寫入怎麼能直接就查詢車輛的停車信息,
⑩ 停車場管理系統C語言程序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct Garage
{
char carnum[8]; /*車牌號*/
int lay; //層號
int garagenum; /*車位號*/
int time; /*停車時間*/
int isempty; /*該車位是否為空,1表示空,0表示有車*/
};
/*列印使用說明*/
void Instruction()
{ printf(" 停車場管理系統使用說明\n");
printf(" 停車請輸入 1 取車請輸入 2 \n");
printf(" 查看全部車輛的信息請輸入 3 退出請輸入 0 \n");
}
/*初始化停車場信息,初始狀態為第一層已經停有4輛車, * 其車位號依次為1-4 , 停車時間依次為20, 15, 10 , 5 */
void Init(struct Garage gar[][6])
{
int i, j; /*給所有的車位的層號,車位號初始化,停車時間初始化為0,停車位全都初始化為空*/
for (i=0; i<2; i++)
{ for (j=0; j<6; j++)
{ gar[i][j].lay = i+1;
gar[i][j].garagenum = j+1;
gar[i][j].time = 0;
gar[i][j].isempty = 1;
}
}
/*第一層的1-4號車位停車*/
for (i=0; i<4; i++)
{ gar[0][i].isempty =0; }
strcpy(gar[0][0].carnum, "0000"); /*初始化的車牌號*/
gar[0][0].time = 20;
strcpy(gar[0][1].carnum,
"1111"); gar[0][1].time = 15;
strcpy(gar[0][2].carnum, "2222");
gar[0][2].time = 10;
strcpy(gar[0][3].carnum, "3333");
gar[0][3].time = 5;}
/*新停入的汽車後,將在此之前的所有車的停車時間加5*/
void AddTime(struct Garage gar[][6])
{ int i, j; for (i=0; i<2; i++)
{ for (j=0; j<6; j++)
{ if (gar[i][j].isempty == 0)
{ gar[i][j].time += 5;
}
}
}
}
/*停車*/
void Park(struct Garage gar[][6])
{ int i; char num[8];
printf("請輸入車牌號:");
scanf("%s", num);
for (i=0; i<6; i++)
{ if (gar[0][i].isempty == 1)
{ printf("第一層第%d號車位空著,請在此處停車\n", i+1);
strcpy(gar[0][i].carnum, num);
printf("車牌號:%s 層號:1 車位號: %d \n", num, i+1);
AddTime(gar); /*在此之前停車的所有汽車時間加5*/
gar[0][i].isempty = 0; /*表示該車為已經停車*/
gar[0][i].time = 5; /*將時間設為5*/
return;
}
}
printf("第一層已經沒有空車位\n");
for (i=0; i<6; i++)
{
if (gar[1][i].isempty == 1)
{ printf("第二層第%d號車位空著,請在此處停車\n", i+1);
strcpy(gar[1][i].carnum, num);
printf("車牌號:%s 層號:2 車位號: %d \n", num ,i+1);
AddTime(gar); /*在此之前停車的所有汽車時間加5*/
gar[1][i].isempty = 0; /*表示該車位已經停車*/
gar[1][i].time = 5; /*將時間設為5*/
return;
}
}
printf("對不起,1 2層都沒有空車位,您現在不能在此停車\n");
}
/*查看所有車輛信息*/
void Information(struct Garage gar[][6])
{ int i, j;
printf(" 車牌號 層號 車位號 停車時間\n");
for (i=0; i<2; i++) { for(j=0; j<6; j++)
{ if (gar[i][j].isempty == 0)
printf(" %s%8d%8d%8d\n", gar[i][j].carnum, gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
}
}
printf("\n");
}
/*取車*/
double Leave(struct Garage gar[2][6])
{
int i, j; char num[8];
double charge = 0;
printf("請輸入要取的車牌號:");
scanf("%s", num);
for (i=0; i<2; i++)
{ for (j=0; j<6; j++)
{ if (!strcmp(gar[i][j].carnum, num))
{ printf("您在%d層%d車位停車%d分鍾\n", gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
charge = gar[i][j].time/5*0.2;
printf("停車費用為每5分鍾0.2元,您需交%.2lf元\n", charge);
gar[i][j].isempty = 1;
return charge;
}
}
}
printf("沒有您輸入的車號。\n\n");
return charge;
}
/*是否查看總收入*/
void IsPrintTotal(double total)
{
char ch;
printf("是否查看停車收費總計?Y/N");
scanf("%c", &ch);
while (ch!='y' && ch!='Y' && ch!='n' && ch!='N')
{ printf("請輸入Y或N ");
scanf("%c", &ch);
printf("\n");
}
switch (ch)
{
case 'Y':
case 'y':
printf("停車收費總計為%.2lf元\n", total);
break;
case 'N':
case 'n':
break;
}
}
main()
{ int choice;
double total = 0;
struct Garage gar[2][6];
Init(gar); //初始化第一層已經停有的4輛車
while (1) { Instruction();
printf("請輸入要進行的操作:");
scanf("%d", &choice);
while (choice<0 || choice>3)
{
printf("輸入的不合法,請輸入0-3選擇:");
scanf("%d", &choice);
}
switch (choice)
{
case 1:
Park(gar);
break;
case 2:
total += Leave(gar);
IsPrintTotal(total);
break;
case 3:
Information(gar);
break;
case 0:
exit(0);
}
}
return 0;
}