| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 772 人关注过本帖
标题:一个泊车系统
只看楼主 加入收藏
天宇心魂
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2010-1-23
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:5 
一个泊车系统
程序设计题:  泊车系统一
 【问题描述】
该系统要求对一个文件中所存储的汽车数据进行各种常规操作,如:查找、计费、显示等功能。通过此课题,熟练掌握文件、数组的各种操作,以及一些算法思想的应用,实现一个简单的泊车管理系统。
 【功能要求】
(1) 管理人员根据口令进入系统;
(2) 管理车位信息(车位编号,状态)和每小时的收费费率(大车7元/小时,小车5元/小时,由停车时选择录入);
(3) 停车时,建立对象,录入汽车停泊信息(车牌号,停泊位置,停泊开始时间);停车位为第一个为空的位置,由程序查询自动给出车位号,如果车位已满要给出提示;
(4) 取车时,需要根据车辆停泊时间自动计算费用(半小时内以半价计算,超出半小时按一小时计算)并显示在屏幕上。
(5)可以随时根据车牌查询是否入库。
(6)可以随时根据车位查询该位置上的相关信息。
(7)程序中用到的时间通过提取系统时间获得。
【程序设计的具体说明】
1.  数据结构:
用类实现; 类类型的结构:
 class P:
数据成员
  车牌号  字符串 char no[9]
  车位号  int pos
        收费费率 double fee
成员函数自行定义;
对象成员:   
    类class Time
        {int hour;
int minute;}
成员函数自行定义;
2.  通过查询数组int position[100]中的信息确定车位状态。
函数原型清单:(建议,也可以用其它的参数或函数名)
1 构造函数,析构函数
2 泊车操作 void  putcar()
3 取车操作 void  takecar( )
4 查询车牌信息 int search_no()
5 查询位置信息 int searc_pos()
6 其它各成员函数
搜索更多相关主题的帖子: 泊车 系统 
2010-03-19 09:47
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:7 
由于信息中车位号 给的是一个 整型 变量
所以输入的时候 注意点
   会有不足
     见谅
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>

#define  POSITENU  10 //车位的个数

struct a
{
    char no[9]; //表示车牌号
    int  pos;   //车位号
    float  fee; //收费金额
    int  Nhour;  //时
    int  Nmin;  //分
    int  EmFu;  //判断车位是否被占用占有取1 没就取0值
}car[POSITENU];

char c[9];
int flag = 0;

void Put_Car(); //停车
void Take_Car(); //取车
void Search_No(); //根据车牌查询车辆是否入库
void Search_Pos(); //根据车位号查询车位信息

void main()
{
    int f;
    char che;

    for( f = 0; f<POSITENU; f++ )//设置 开始状态为没有占用
        car[f].EmFu = 0;


    for( ; ; )
    {
                    //输出提示信息 进行操作
        printf("\n请根据下面提示信息进行操作:\n");
        printf("*要进行停车操作请输入\"1\".\n");
        printf("*要进行取车操作请输入\"2\".\n");
        printf("*根据9位车牌查询车辆信息请输入\"3\".\n");
        printf("*根据车位号查询车位信息请输入\"4\".\n");
        printf("*退出管理系统请输入\"5\".\n");

        che = getch();
        putchar(che);
        putchar('\n');

        switch( che )
        {
        case '1':
            Put_Car();
            break;
        case '2':
            Take_Car();
            break;
        case '3':
            Search_No();
            break;
        case '4':
            Search_Pos();
            break;
        case '5':
            exit(0);
            break;
        }
    }

}

//停车
void Put_Car(  )
{
    printf("请输入9位车牌号:");
    scanf("%s", car[flag].no);
    printf("请输入存放车位号:");
    scanf("%d", &car[flag].pos);
    car[flag].EmFu = 1;
    printf("请输入每小时收费金额:");
    scanf("%f", &car[flag].fee);

    struct tm *local;
    time_t t;
    t = time( NULL );
    local = localtime( &t );
    car[flag].Nhour = local->tm_hour;
    car[flag].Nmin = local->tm_min;
    printf("存车时间:");
    printf(" %d 时 %d 分\n", car[flag].Nhour, car[flag].Nmin );
}

//取车
void Take_Car(  )
{
    int hour, min, n = 0, m = 0;
    float sum;

    printf("请输入要取车的9位牌号:");
    scanf("%s", c);
    if( strlen(c) == 9 )
    {
        int i = 0;
        for( ; i<POSITENU; i++ )
            for( ; m<9; m++ )
                if( c[m] == car[i].no[m] )
                    ++n;
            if( n == 9 )
            {
                printf("您的9位车牌号是:");
                printf("%s\n", c);
                printf("存放在 %d 车位号上\n", car[i].pos);

                struct tm *local;
                time_t t;
                t = time( NULL );
                local = localtime( &t );
                hour = local->tm_hour;
                min = local->tm_min;
                printf("取车时间:");
                printf(" %d 时 %d 分\n", hour, min );

                sum = ( car[i].Nhour - hour + (min-car[i].Nmin+29)%60 )*car[i].fee;
                printf("总费用为:%.2f\n", sum);
            }
            if( n != 9 )
            {
                printf("您输入的车牌号暂时没有存入到本车库!\n");
                printf("请您根据提示信息进行操作!\n");
            }
        
    }
    else
        printf("对不起!\n您输入的车牌号错误!\n");
}

//根据车牌查询是否入库
void Search_No(  )
{
    int m = 0, n = 0;
    printf("请输入要查询的9位车牌号:");
    scanf("%s", c);
    if( strlen(c) == 9 )
    {
        int i = 0;
        for( ; i<POSITENU; i++ )
            for( ; m<9; m++ )
                if( c[m] == car[i].no[m] )
                    ++n;
            if( n == 9 )
            {
                printf("您好!您的车已经存放到本车库的%d位!\n", car[i].pos);
                printf("车牌号为:%s\n", c);
                printf("入库时间为:");
                printf(" %d 时 %d 分\n", car[i].Nhour, car[i].Nmin );
            }
        if( n != 9 )
        {
            printf("您输入的车牌号暂时没有存入到本车库!\n");
            printf("请您根据提示信息进行操作!\n");
        }
    }
    else
        printf("对不起!\n您输入的车牌号错误!\n");
}


//根据车位查询车位信息
void Search_Pos(  )
{
    int loc;
    int i = 0, j = 0;


    printf("请输入要查询的车位号:");
    scanf("%d", &loc);
    for( ; i<POSITENU; i++ )
        if( car[i].pos == loc )
        {
            printf("本车位信息如下:\n");
            j++;
            if( car[i].EmFu == 1 )
            {               
                printf("存放车的车牌号为:%s\n",car[i].no);
                printf("存放时间为:");
                printf(" %d 时 %d 分\n", car[i].Nhour, car[i].Nmin );
                printf("每小时存放的费用:%.2f\n", car[i].fee );
            }
        }
    if( j == 0 )
        printf("本车位没有被占有!\n");
}
2010-03-19 17:40
luquanzhang
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-3-17
收藏
得分:0 
上面程序编译失败了
2010-03-19 17:52
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2010-03-19 18:20
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:3 
楼主要的是用 类实现 对象
2010-03-19 18:33
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
类 不是特殊的结构体吗?
2010-03-19 19:14
快速回复:一个泊车系统
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024520 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved