当前位置:首页 » 编程语言 » 大一c语言停车场管理系统简单
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

大一c语言停车场管理系统简单

发布时间: 2022-04-07 08:54:56

① 用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;
}