Форум программистов, компьютерный форум CyberForum.ru

Модель лифта - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализовать класс вектор http://www.cyberforum.ru/cpp-beginners/thread318922.html
Здравствуйте, помогите с последним пунктом задачи: Реализовать класс вектор, содержащий следующие поля: координаты вектора; методы класса: вывод вектора; перегружаемые операции:сложение, скалярное и векторное произведение и угол между векторами. // l6v9.cpp : Defines the entry point for the console application. //
C++ Функция не прекращает работать Здравствуйте. Нужно написать игру, цель которой угадать натуральное число которое придумал компьютер, в заданном промежутке от нуля, за заданное количество попыток. Проблема в том, что когда я выбираю первый пункт меню у меня начинает работать функция, отвечающая за игру, но после её завершения она начинает работать поновой. Я в панике. Подозреваю, что дело в переменной v, но если после запуска... http://www.cyberforum.ru/cpp-beginners/thread318915.html
C++ Потоки и паросочетания
Здравствуйте, опять появилась проблема с реализацией задания на С++. Самостоятельно решить не вышло, но смог найти реализацию на Паскале. Возможно, кто-то сможет помочь перевести с Паскаля на С++.(Скриншот в приложении или,возможно, кому-то будет удобней название книги с которой взято: М.С.Долинский "Решение Сложных и Олимпиадных Задач по программированию" 37ст, Питер 2006.) Зарание благодарен....
Итераторы в C++ C++
Помогите плз решить 2 задачи Задача 1 Напишите программу, использующую итераторы при чтении последовательности строк со стандартного устройства ввода в вектор. Отобразите элементы вектора. Задача 2 Перепишете предыдущую программу так, чтобы вместо вектора использовался список. Заранее благодарен)
C++ Работа с текстовыми файлами http://www.cyberforum.ru/cpp-beginners/thread318827.html
Дан текстовый файл F. Добавить в его конец символы E,N,D (если необходимо, использовать файл Q). Выручите - очень надо1!
C++ вычислить значение функции 1 где f(x) = {x}^{2} или f(x) = sh (x), но что за термин sh - я не в курсе. Подскажите пожалуйста. подробнее

Показать сообщение отдельно
battlemc
Сообщений: n/a
13.06.2011, 20:03     Модель лифта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <iostream>
#include <cctype>
#include <cstring>
#include <cstdlib>
 
using namespace std;
 
class Lift {
        int current_floor,f;
        bool isOpened;
public:
    int GetCurrentFloor(), floor_menu(), wight_menu();
        static int start_menu();
    void SetCurrentFloor(int floor), CloseOpenDoors(bool n);
         
};
 
int Lift::start_menu()
{
        char choice;
 
        cout << "\n";
        do {
                cout << " Enter \n (C)all lift\n (E)xit";
                cin>>choice;
        } while(!strchr("ce",tolower(choice)));
        return tolower(choice);
}
 
void Lift::CloseOpenDoors(bool n)
{
        bool IsOpened=n;
        if (isOpened == true) cout << "Doors are opened\n";
        if (isOpened == false) cout << "Doors are locked\n";
        
}
 
int Lift::wight_menu()
{
        int wight;
        cout << " Enter passanger's wight\n (limit - 1000 kg)";
        cin >> wight;
        if (0 < wight < 1000) {
                isOpened == false;
                CloseOpenDoors(isOpened);
                floor_menu();
        } else cout << " Limit is nesoblyuden!\n";
        return 0;
}
        
int Lift::floor_menu()
{
        int ch;
        cout << "\n There is five floors \nEnter number of floor\n";
        cin>>ch;
        switch(ch) {
        case 1:cout << "You're in this floor";break;
        case 2: 
                {
                        isOpened==false;
                    CloseOpenDoors(isOpened);
                    cout << " \nlift come to" << ch << "floor\n";
                    isOpened==true;
                    CloseOpenDoors(isOpened);
                    break;
                }
        case 3: 
                {
                        isOpened==false;
                    CloseOpenDoors(isOpened);
                    cout << " \nlift come to" << ch << "floor\n";
                    isOpened==true;
                    CloseOpenDoors(isOpened);
                    break;
                }
        case 4: 
                {
                        isOpened==false;
                    CloseOpenDoors(isOpened);
                    cout << " \nlift come to" << ch << "floor\n";
                    isOpened==true;
                    CloseOpenDoors(isOpened);
                    break;
                }
        case 5: 
                {
                        isOpened==false;
                    CloseOpenDoors(isOpened);
                    cout << " \nlift come to" << ch << "floor\n";
                    isOpened==true;
                    CloseOpenDoors(isOpened);
                    break;
                }
        default:cout << "error!";
        }
        return 0;
}
 
int Lift::GetCurrentFloor() 
{
        return current_floor;
}
 
void Lift::SetCurrentFloor(int f)
{ 
        current_floor = f;
}
 
int main()
{ 
        Lift x;
        char choice;
        bool isOpened;
        cout << " Welcome to Lift programm!\n";
 
        for(;;) {
                choice=Lift::start_menu();
                switch(choice) {
                case 'c':
                        {
                        cout << " You called lift\n";
                        isOpened=true;
                        x.CloseOpenDoors(isOpened);
                        x.wight_menu();
                        break;
                        }
                case 'e':return 0;
                }
        }
}
Ваша отлаженная программа. Ошибки чисто синтаксические - пропущены ';' , функции не возвращают занчения, ну и в мэйне немного напутали.
Для оптимизации могу посоветовать выводить номер этажа, на котором находится лифт, лучше будет сохранять номер этажа в файле. Ещё у вас не работает проверка на макимальный вес пассажира.
 
Текущее время: 13:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru