每天水一水 水水更健康

///设定停车场有(Size)个车位
///有趣
///同学们要是参考的话麻烦改一下 这个是要交作业的 如有雷同 如何是好? 

#include <bits/stdc++.h>

using namespace std;
int n;
int Size = 5;

typedef struct Car
{
    int num;
    time_t time;
    int price;
} CarNode;

typedef struct QNode
{
    CarNode data;
    struct QNode *next;
} QNode , *QueuePtr;

typedef struct
{
    QueuePtr front;
    QueuePtr rear;
} LinkQueue;///注意这里队列的使用方法

CarNode car[5];

void initcar()
{
    for(int i=1; i<=n; i++)
    {
        cout<<"请输入第"<<i<<"辆车的车牌号"<<endl;
        cin>>car[i].num;
        car[i].time = time(NULL);
        car[i].price = 0;
    }
}

void InitQueue(LinkQueue *Q)
{
    Q->front = Q->rear = (QueuePtr)malloc(sizeof(QNode));
    if(!Q->front) exit(0);
    Q->front->next = NULL;
}

void EnQueue(LinkQueue *Q, CarNode e)
{
    QueuePtr p;
    p = (QueuePtr)malloc(sizeof(QNode));
    if(!p) exit(0);
    p->data = e;
    p->next = NULL;
    Q->rear->next = p;
    Q->rear = p;
}

void Pop(LinkQueue *Q, CarNode *e)
{
    if(Q->front == Q->rear) return;
    QNode *p;
    p = Q->front->next;
    *e = p->data;
    Q->front->next = p->next;
    if(Q->rear == p)
        Q->rear = Q->front;
    free(p);
}

bool QEmpty(LinkQueue *Q)
{
      return Q->front == Q->rear;
}

void carin(LinkQueue *Q)
{
    if(n < Size)
    {
        cout<<"请输入车牌信息:"<<endl;
        cin>>car[++n].num;
        car[n].time = time(NULL);
    }
    else
    {
        CarNode e;
        cout<<"请输入车牌信息:"<<endl;
        cin>>e.num;
        e.price = 0;
        cout<<"抱歉,停车场车位已满,请您耐心等待"<<endl;
        EnQueue(Q, e);
    }
}

void carout(LinkQueue *Q)
{
    int Num;
    cout<<"请输入车牌信息:"<<endl;
    cin>>Num;
    int i;
    for(i=1; i<=n; i++)
        if(car[i].num == Num) break;
    int Time = time(NULL) - car[i].time;
    cout<<"该车停车期间共需缴纳停车费"<<Time<<"元"<<endl;
    car[i].num = -1;
    Size++;
    while(n<Size && !QEmpty(Q))
    {
        CarNode e;
        Pop(Q, &e);
        car[++n] = e;
    }
}

void display()
{
    for(int i=1; i<=n; i++)
    {
         if(car[i].num != -1)
            printf("车牌:%d\n花费:%d\n",car[i].num, car[i].price);
    }
    cout<<n<<endl;
}

void Qdisplay(LinkQueue *Q)
{
    QueuePtr p = Q->front->next;
    while(p)
    {
        cout<<p->data.num<<" ";
        p = p->next;
    }
    cout<<endl;
}

void work(LinkQueue *Q)
{
    int a;
    while(cin>>a)
    {
        if(!a) return;
        else switch(a)
            {
            case 1:
                carin(Q);
                break;
            case 2:
                carout(Q);
                break;
            case 3:
                display();
                break;
            case 4:
                Qdisplay(Q);
                break;
            }
        cout<<"1:车辆进入\n2:车辆离开\n3:显示停车场内车辆信息\n4:显示等待进入的车辆\n0:退出系统\n请选择操作:\n";
    }
}

int main()
{
    LinkQueue Q;
    InitQueue(&Q);
    cout<<"请输入停车场最初的车辆数目(温馨提示:输入数目不能大于"<<Size<<"):"<<endl;
    cin>>n;
    cout<<"请依次输入车辆车牌信息:"<<endl;
    initcar();
    display();
    cout<<"现在还有"<<Size - n<<"个停车位可以使用"<<endl;
    cout<<"有如下操作:\n1:车辆进入\n2:车辆离开\n3:显示停车场内车辆信息\n0:退出系统\n请选择操作:\n";
    work(&Q);
    return 0;
}

时间: 2024-08-15 17:08:49

每天水一水 水水更健康的相关文章

【BZOJ】初级水题列表——献给那些想要进军BZOJ的OIers(自用,怕荒废了最后的六月考试月,刷刷水题,水水更健康)

BZOJ初级水题列表——献给那些想要进军BZOJ的OIers 代码长度解释一切! 注:以下代码描述均为C++ RunID User Problem Result Memory Time Code_Length 695765 Eolv 1000 Accepted 804 kb 0 ms 118 B 739478 Eolv 2463 Accepted 804 kb 0 ms 134 B 696662 Eolv 1968 Accepted 1272 kb 48 ms 137 B 739546 Eolv

HLG2179 组合(dfs水水更健康)

组合 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 57(38 users) Total Accepted: 43(36 users) Rating: Special Judge: No Description 给出一个正整数N,从集合{1,2,3..N} 中找出所有大小为k的子集, 并按照字典序从小到大输出. Input 第一行是一个整数T,代表T组测试数据. 接下来T行,每行是两个正整数n(1<=n<=10), k(1<

NBU 水水更健康 (二)

前言:唉,刚考完物理,只求30分T=T 字母个数统计 #include<stdio.h> #include <string.h> void main() { char x[1000]; int y,i,sum=0; gets(x); y=strlen(x); for(i=0;i<=y;i++) { if(x[i]>='a'&&x[i]<='z'||x[i]>='A'&&x[i]<='Z') sum++; } printf

HNU OJ10086 挤挤更健康 记忆化搜索DP

挤挤更健康 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 339, Accepted users: 216 Problem 10086 : No special judgement Problem description 用边长小于N的正方形方砖(注意,不要求所有的方砖大小相同,请看样例说明)不重叠地铺满N*N的正方形房间,最少要几块方砖. Input 第一行是一个整

用Myisamchk让MySQL数据表更健康

用Myisamchk让MySQL数据表更健康 2011-03-15 09:15 水太深 ITPUB 字号:T | T 为了让MySQL数据库中的数据表“更健康”,就需要对其进行定期体检.在这里笔者推荐使用Myisamchk工具来对数据表进行不定期的检查.同时笔者给出了一些相关的注意事项以及使用技巧. AD:51CTO 网+首届APP创新评选大赛火热启动——超百万资源等你拿! 在MySQL数据库中,数据表数以百计,数据库管理员不可能有这么多的时间和精力去依次检查表的有效性,所以他们急需要一种工具,

OSChina 周二乱弹 —— 逗逗更健康

周二,周一终于过了,得瑟一下,嘿嘿 @游客:你绝对没有见过的李小龙. 当然,也不要太得瑟了...  周一过了,世界是如此的美好 幸福滴一家- @小编辑  :程序员一家 跟小师妹一起赏良辰美景,想想就很幸福: @文洁洁洁  :小桂花小桂花小桂花 上课竟然可以遇到隐形的老师@永和:有人说这是他们班外教. 我也要去那上课,看不见老师我就碎觉,嘿嘿,想想也是非常幸福滴-   就是很疑惑:老师吃巧克力会咬到手吗? 每天和二货同事一起逗逗逗,分享身边的 N 多趣事,敢情也是很幸福滴- 1.我:"你老婆应该很

【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴

Drip Coffee 简介 现在都提倡绿色健康生活,而大多数人经常喝的速溶咖啡是有化学添加剂的,不利健康.那么就不喝咖啡啦?当然不,有新鲜烘焙咖啡嘛,还可以根据个人口味加糖加奶等.纯天然啊!~ 用料 咖啡豆 25-30g 水 600-700 ml 滴滤杯 1个 液体容器 1个 水壶 1个 锥形滤纸 1张 Drip Coffee的做法 准备好 600-700 ml的水,然后加热ing. 称量25-30g 咖啡豆. 此时趁水还在加热中, 用磨豆机把咖啡豆磨成粉. 咖啡粉的粗细跟未加工过的海盐差不多

吃中药的禁忌 怎样吃才更健康

现在中药在我们的生活中是很普及的,很多人也都喜欢用中药进行养生保健,中药的保健功效有些是非常大,可以和药物进行相比,很多人都是把中药当成是零食了,但是中药并不是随便就可以吃的,这些中药有哪些作用呢?一起去看一下吧! 例如一些阿胶枣.薄荷糖等等现在是越来越多了,很多的消费者也都被吸引过去了,很多的零食都被夸大说有养生保健的功效,已经开始继续联姻了. 因为口感.营养和包装都比较有卖点,这些零食深受消费者喜爱.但是,专家指出零食作为消费者朋友们日常生活空闲时间的饮食小品本就不易多吃,含有中药成分的零食

余丰慧看吧房间号房间看更健康

 http://www.ebay.com/cln/wtghhk.dmjdvws/-/172671034015/20150204html http://www.ebay.com/cln/rdvpcnhxxy5ysqk/-/172527516013/20150204html http://www.ebay.com/cln/gofnt3909.bogdf/-/172361338018/20150204html http://www.ebay.com/cln/flgwcl1/-/1723474540