• c++初学(电梯实验)


    模拟电梯载人实验

    Elevator.h

    class Elevator{
    public:
        Elevator();
        ~Elevator();
        void getNowNum();    
        void SetToNum(int);
        void UP();
        void DOWN();
    private:
        int NowNum;
        int ToNum;

    };

    Elevator.cpp

    #include<iostream>
    #include<Windows.h>
    #include"Elevator.h"    
    using namespace std;
    Elevator::Elevator()
    {
        NowNum = 1;
        ToNum = 10;
    }
    Elevator::~Elevator()
    {
    }
    void Elevator::getNowNum()
    {    
        HANDLE consolehwnd;
        consolehwnd = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(consolehwnd, 10);
        cout << "您现在在" << NowNum << "楼" << endl;
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY
            | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        cout << "请选择:";
        cout << "1.上升    2.下降    3.退出    " ;
    }
    void Elevator::SetToNum(int a)
    {
            ToNum = a;    
    }
    void Elevator::UP()
    {
        int i;
        if (ToNum < NowNum)    
                cout << "你不能上行" << endl;
        else if (ToNum == NowNum)
                cout << "亲,你就在这一层了,别调皮" << endl;
        else
        {
                for ( i = NowNum+1; i <= ToNum & i<=10; i++)
            {
                cout << "现在到了第" << i << "层了,我们就快到了" << endl;
                Sleep(500);
            }
            if (ToNum>10)
            {
                ToNum = i-1;
                cout << "以上楼层正在建设中,您只能到这里了。" << endl;
                NowNum = 10;
            }
            else    
            NowNum = ToNum;
        }
        
    }
    void Elevator::DOWN()
    {
        int i;
        if (ToNum > NowNum)
                cout << "你不能下行" << endl;
        else if (ToNum == NowNum)
                cout << "亲,你就在这一层了,别调皮" << endl;
        else
        {
            for ( i = NowNum - 1; i >= ToNum & i>=1; i--)
            {
                cout << "现在到了第" << i << "层了,我们就快到了" << endl;    
                Sleep(500);
            }
            if (ToNum<1)
            {
                ToNum = i+1;
                cout << "地下室正在挖,您过两天才能下去。" << endl;
                NowNum = 1;
            }
            else    
            NowNum = ToNum;
        }
        
    }

    demo.cpp

    #include<iostream>
    #include<Windows.h>
    #include"Elevator.h"
    using namespace std;
    int main()
    {

        Elevator e1;
        int choice,to;
        SYSTEMTIME time;    
        GetLocalTime(&time);        
        printf("%4d年%02d月%02d日 %02d:%02d:%02d 星期%1d ", time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond,  time.wDayOfWeek);        
        cout << "欢迎乘坐电梯 " << endl;
        while (1)
        {    
            
            e1.getNowNum();
            cout<<"输入你的选择:";
            cin >> choice;
            e1.SetToNum(to);
            switch(choice)
            {
                case 1:{
                    cout<<"输入你要去的楼层:"<<endl;
                    cin>>to;
                    e1.SetToNum(to);
                    e1.UP();break;
                    }
                case 2:{
                    cout<<"输入你要去的楼层:"<<endl;
                    cin>>to;
                    e1.SetToNum(to);
                    e1.DOWN();break;
                }                
                case 3:
                    return 0;
                default:    
                    cout<<"输入错误!"<<endl;
            }
            
            
            
            
            
        }
        
        system("pause");
        return 0;
    }

  • 相关阅读:
    Android开发学习之路--UI之简单聊天界面
    Android开发学习之路--UI之ListView
    Android开发学习之路--UI之自定义布局和控件
    Android开发学习之路--UI之基本布局
    Android开发学习之路--UI之初体验
    Android开发学习之路--Activity之四种启动模式
    Android开发学习之路--Activity之生命周期
    初探linux子系统集之i2c子系统(二)
    deque双端队列容器
    multimap多重映照容器
  • 原文地址:https://www.cnblogs.com/da-peng/p/4946937.html
Copyright © 2020-2023  润新知