zoukankan      html  css  js  c++  java
  • 结对编程总结

    一、项目

    现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示:

    电梯编号

    可服务楼层

    最大乘客数量

    最大载重量

     1

    全部楼层

    10

    800 kg

    2

    单层

    10

    800 kg

    3

    双层

    20

    1600 kg

    4

    全部楼层

    20

    2000 kg

    其使用规定如下:

    1、楼层号为0~20,其中0号为地下一层;

    2、有楼层限制的电梯不在响应楼层停靠,如单双层;

    3、所有电梯采用统一按钮控制

    搭档:崔松杰

    崔松杰博客地址:http://www.cnblogs.com/HCongjie
    coding地址:https://coding.net/u/HCsongjie
    二、项目要求

       这个项目由我和崔松杰完成,由于我们别的语言学习不扎实,我和他决定由C语言来编写。该程序由六个子程序构成,分别是一号电梯函数、二号电梯函数、三号电梯函数、四号电梯函数、二号电梯和三号电梯的输出函数。前四个函数分别实现了电梯的调用,后两个函数分别判断是否是单双层,函数刚开始设定了最大的承载人数和可以到达的楼层,进入之后先确定到达的楼层,到达后确定是否有人进入电梯,有人进入电梯,则判断电梯是否可以到达该楼层。我们编写的程序非常简单,由于学的不是很精通,所以有很多的功能都没有实现,我们以后会更加的努力学习和奋斗。

    三、对方性格评价

    崔松杰对我的感觉工作认真,上进心强,刻苦钻研,在困难面前不屈不挠,在我们编程遇到困难时,他总是到处翻阅资料,总是要找到解决的办法。

    四、过程总结和感想

    通过这次的合作,让我感到的自身的缺陷和不足,我本是一个不善于言谈的人,通过了这次编程,加强了我和他人沟通的能力。其次忙碌了一个多星期,在我和他的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。

    五、程序代码

    #include<stdio.h>
    #include<time.h>
    #include<string.h>
    #include<stdlib.h>
    #include<windows.h>
    #define N 2000//定义延时输出时间
    struct elevator
    {
    int no;//电梯编号
    int floor;//定义楼层
    int outnumber;//定义人数
    struct elevator*pNext;
    };
    struct elevator*Create(struct elevator*head)//创建链表
    {
    struct elevator*p1, *p2;
    p1=p2=(struct elevator*)malloc(sizeof(struct elevator));
    printf(" 请输入楼层*回车继续输入*按-1表示结束");
    scanf("%d",&p1->floor);
    p1->pNext = NULL;
    while (p1->floor > -1)
    {
    if (head== NULL)
    head = p1;
    else
    p2->pNext = p1;
    p2 = p1;
    p1 = (struct elevator*)malloc(sizeof(struct elevator));
    printf(" 请输入楼层,按-1表示结束");
    scanf("%d", &p1->floor);
    }
    free(p1); //申请到的没录入,所以释放掉
    p1 = NULL; //使指向空
    p2->pNext = NULL; //到表尾了,指向空
    printf(" 楼层输入结束(END) ");
    return head;
    }
    void printf(struct elevator*head)//输出链表
    {

    struct elevator *Tema;
    Tema = head;
    printf(" 电梯开始运行 ");
    while (Tema != NULL)
    {
    Sleep(N);
    printf("a");
    printf(" 到达您所输入的楼层%30d楼 ",Tema->floor);
    int a = 0;
    printf("是否有请求*有请求请按1否则请按0");
    scanf_s("%d",&a);
    if (a == 1)
    {
    break;
    }
    else
    {
    printf(" ");
    Tema = Tema->pNext;
    }
    }
    }
    void printfT(struct elevator*head)//二号电梯的输出函数,判断输入是否为单层
    {

    struct elevator *two;
    two = head;
    printf(" 电梯开始运行 ");
    while (two->floor%2!=0)
    {
    Sleep(N);
    printf("a");
    printf(" 到达您所输入的楼层%30d楼 ", two->floor);
    printf("是否有请求*有请求请按1否则请按0");
    int a = 0;
    scanf_s("%d", &a);
    if (a == 1)
    {
    break;
    }
    else
    {
    printf(" ");
    two = two->pNext;
    }
    }
    printf(" 您输入有误二号电梯只提供单层服务 ");
    }
    void printfF(struct elevator*head)//三号电梯的输出函数,判断输入是否为双层
    {

    struct elevator *three;
    three = head;
    printf(" 电梯开始运行 ");
    while (three->floor%2==0)
    {
    Sleep(N);
    printf("a");
    printf(" 到达您所输入的楼层%30d楼 ", three->floor);
    printf("是否有请求*有请求请按1否则请按0");
    int a = 0;
    scanf_s("%d", &a);
    if (a == 1)
    {
    break;
    }
    else
    {
    printf(" ");
    three = three->pNext;
    }
    }
    printf(" 您输入有误三号电梯只提供双层服务 ");
    }
    int elevatorONE()//一号电梯函数
    {
    int a = 0;
    struct elevator elevator1;
    printf(" 欢迎使用一号电梯系统 ");
    printf(" 请输入一使用一号电梯系统*若想退出一号电梯系统请按2*");
    while (a=1)
    {
    scanf_s("%d", &a);
    if (a == 1)
    {
    printf(" 请输入人数;");
    scanf_s("%d", &elevator1.outnumber);
    if (elevator1.outnumber > 10 || elevator1.outnumber < 1)
    {
    printf(" 一号电梯最多承载人数为10人,请您谅解 ");

    }
    else
    {
    printf(" 提示**一号电梯提供1—20层的服务** ");
    struct elevator *head;
    head = NULL;
    head = Create(head);
    printf(head);
    printf(" 如果继续请按1否则请按0");
    }
    }
    else
    break;
    }
    printf(" 感谢使用一号电梯系统");
    printf(" 如果继续请按1否则请按0");
    return 0;
    }
    int elevatorTWO()//二号电梯函数
    {
    int b = 0;
    struct elevator elevator1;
    printf(" 欢迎使用二号电梯系统 ");
    printf(" 请输入一使用二号电梯系统*若想退出二号电梯系统请按2*");
    while (b = 1)
    {
    scanf_s("%d", &b);
    if (b == 1)
    {
    printf(" 请输入人数;");
    scanf_s("%d", &elevator1.outnumber);
    if (elevator1.outnumber > 10 || elevator1.outnumber < 1)
    {
    printf(" 二号电梯最多承载人数为10人,请您谅解 ");

    }
    else
    {
    printf(" 提示**二号电梯只提供单层的服务** ");
    struct elevator *head;
    head = NULL;
    head = Create(head);
    printfT(head);
    printf(" 如果继续请按1否则请按0");
    }
    }
    else
    break;
    }
    printf(" 感谢使用二号电梯系统");
    printf(" 如果继续请按1否则请按0");
    return 0;
    }
    int elevatorTHREE()//三号电梯函数
    {
    int c= 0;
    struct elevator elevator1;
    printf(" 欢迎使用三号电梯系统 ");
    printf(" 请输入一使用三号电梯系统*若想退出三号电梯系统请按2*");
    while (c=1)
    {
    scanf_s("%d",&c);
    if (c==1)
    {
    printf(" 请输入人数;");
    scanf_s("%d", &elevator1.outnumber);
    if (elevator1.outnumber > 20 || elevator1.outnumber < 1)
    {
    printf(" 三号电梯最多承载人数为20人,请您谅解 ");
    }
    else
    {
    printf(" 提示**三号电梯只提供双层的服务** ");
    struct elevator *head;
    head = NULL;
    head = Create(head);
    printfF(head);
    printf(" 如果继续请按1否则请按0");
    }
    }
    else
    break;
    }
    printf(" 感谢使用三号电梯系统");
    printf(" 如果继续请按1否则请按0");
    return 0;
    }
    int elevatorFOYR()//四号电梯函数
    {
    int d = 0;
    struct elevator elevator1;
    printf(" 欢迎使用三号电梯系统 ");
    printf(" 请输入一使用三号电梯系统*若想退出三号电梯系统请按2*");
    while (d = 1)
    {
    scanf_s("%d", &d);
    if (d == 1)
    {
    printf(" 请输入人数;");
    scanf_s("%d", &elevator1.outnumber);
    if (elevator1.outnumber > 20 || elevator1.outnumber < 1)
    {
    printf(" 四号号电梯最多承载人数为20人,请您谅解 ");
    }
    else
    {
    printf(" 提示**四号电梯只提供双层的服务** ");
    struct elevator *head;
    head = NULL;
    head = Create(head);
    printf(head);
    printf(" 如果继续请按1否则请按0");
    }
    }
    else
    break;
    }
    printf(" 感谢使用四号号电梯系统");
    printf(" 如果继续请按1否则请按0");
    return 0;
    }
    void main()
    {
    printf(" *欢迎使用坑爹电梯系统* ");
    printf(" *按1表示运行0表示结束*");
    int h;
    int x = 0;
    while (x=1)
    {
    scanf_s("%d",&h);
    if (h == 1)
    {
    printf("*请输入电梯号码(*一号和四号电梯为全楼层电梯*二号为单层*三楼为双层电梯*)");
    scanf_s("%d",&x);
    switch (x)
    {
    case 1:elevatorONE();
    break;
    case 2:elevatorTWO();
    break;
    case 3:elevatorTHREE();
    break;
    case 4:elevatorFOYR();
    break;
    default:
    printf(" *您输入有误电梯不能启动* ");
    break;
    }
    }
    else
    break;
    }
    printf("感谢使用电梯系统");
    }

    运行结果图

  • 相关阅读:
    MySQL图形化管理工具之Navicat安装以及激活
    切换路由时取消全部或者部分axios请求,并将一些从不需要取消的加入白名单
    使用node-static运行vue打包文件dist
    elementUI使用本地变量进行验证,监测不到本地变量的变化 的问题
    vue-cli3打包时webpack优化
    实现两个对象的深度合并
    第一章:操作系统概述
    IDEA 2020.1 安装教程
    常用DOS命令
    Listener:监听器
  • 原文地址:https://www.cnblogs.com/xiejy/p/5372028.html
Copyright © 2011-2022 走看看