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

Программа по ООП(виртуальный двд плеер) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать квадратную матрицу порядка n по заданному образцу на с++ http://www.cyberforum.ru/cpp-beginners/thread1000545.html
вот на паскале написал. Const nmax=20; Var A:array of integer; i,j,n:byte; Begin Repeat write('vvedite N='); readln(n); Until n in ;
C++ Do_while statement missing Что-то напортачил, с оператором do...while. Укажите, где ошибка. Заранее благодарю. #include <iostream.h> main() { int x, i=1; float sum=0; do { cin>>x; http://www.cyberforum.ru/cpp-beginners/thread1000540.html
C++ Определить длину строки, вывести строку
Здравствуйте, если кто-то понимает как это сделать, помогите пожалуйста, потому что это я вообще не понимаю как сделать, "чередующиеся" длиной n. Пусть дано строку и два символа. Необходимо определить длину строки, вывести строку, которая состоит из двух символов, "чередующиеся" длиной n. Определить, сколько раз встречается данный символ в обеих строках. Добавлено через 2 часа 38 минут...
программа с работой над словом C++
Помогите написать программу чтобы в начале выдавала все буквы алфавита и посли того как вбить слово она его делила на 3 раздела гласные буквы твердые согласные и мягкиесогласные!!! очень надо а не знаю как!
C++ Как описать стек в котором будут лежать знаки орифметич операций? http://www.cyberforum.ru/cpp-beginners/thread1000515.html
нужно именно описание самой структуры и методы для неё, пуш и поп
C++ Метод отражений Помогите пожалуйста решит задачу по методу отражений, заранее спасибо!! подробнее

Показать сообщение отдельно
biterman
8 / 0 / 1
Регистрация: 20.03.2013
Сообщений: 7
19.11.2013, 14:58  [ТС]     Программа по ООП(виртуальный двд плеер)
Ну вот что получилось:
1 файл
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
#include <conio.h>
#include <stdio.h>
#include<clocale>
#include "maindvd.h"
// основна програма
 
void main ()
    {
    setlocale(LC_CTYPE, "RUSSIAN");
    // оголошення об’єкта класу     
    dvd Sony;
    Sony.Reset ();
    // бескінечний цикл обробки команд з клавіатури
    do
    {
        // вивід запрошення
         
        printf ("--------об'єктно-орiєнтована модель DVD-плеєра--------\n");
        printf ("------------------------------------------------------\n");
        printf ("--------Виберiть одну з опцiй [e - вихiд]-------------\n");
        printf ("----[0 - Вимкнути] [1 - Ввiмкнути] [2 - Вставити диск]\n");
        printf ("---[3 - Витягти диск] [4 - Загрузити диск] [5 - Грати]\n");
        printf ("------------------------------------------------------\n");
        // вивід стану плеєра
        
        printf ("===============Стан плеєра:\n");
        printf ("Power: %d Диск: %s ", Sony.GetPower (), Sony.GetStateName());
        printf ("Диск: %d №Треку: %d", Sony.GetDisk(), Sony.GetInk());
        // прийом команди з клавіатури
        int key = getch ();
    
        switch (key)
        {
            case '0': Sony.TurnOff (); break;
            case '1': Sony.TurnOn (); break;
            case '2':
            {
                int Sheets;
                printf ("Вставте диск: ");
                scanf ("%d", &Sheets);
                Sony.LoadDisk (Sheets);
                break;
            }
            case '3':
            {
                int Sheets;
                printf ("Введiть номер дорiжки для програвання: ");
                scanf ("%d", &Sheets);
                Sony.UnloadDisk (Sheets);
                break;
            }
            case '4':
            {
                int Drops;
                printf ("Виберіть диск: ");
                scanf ("%d", &Drops);
                Sony.LoadInk (Drops);
                break;
            }
            case '5':
            {
                int Sheets, Fill;
                printf ("Введіть № доріжки: ");
                scanf ("%d%d", &Sheets, &Fill);
                Sony.Play (Sheets, Fill);
                break;
            }
            case 'e':
            {
                return;
            }
            default:
                printf ("Invalid option! Press any key to continue...");
                getch ();
        }
    } while (true);       
}
2 файл
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
// константи, які задають найбільшу кількість дисків
const int MAXDISK = 5;
// перелічення можливих станів плеєра
enum dvdState {OFF, READY, NOINK, NODISK, ERROR};
const char DvdStateName[5][10] = {"OFF", "READY", "NOINK", "NODISK", "ERROR"};
 
// оголошення класу плеєра
class dvd
{
    bool Power;
    int State;
    int Disk;
    float Ink;
    void SetState (int);
    public:
    // ініціалізація змінних класу початковими значеннями
    void Reset (void);
    // управління живленням
    void TurnOn (void);
    void TurnOff (void);
// inline-реалізація простого метода
    bool GetPower (void) {return Power;}
    // управління диском
    int LoadDisk (int);
    int UnloadDisk (int);
    int GetDisk (void) {return Disk;}
    // управління треками
    int LoadInk (int);
    int GetInk (void) {return Ink;}
    // програвання
    int Play (int, int);
    // визначення коду і назви стану
    int GetState (void);
    const char* const GetStateName () {return DvdStateName[State];}
 
};
3 файл
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
#include <stdlib.h>
#include "maindvd.h"
// реалізація класу принтера
void dvd::Reset (void)
{
    Power = false;
    SetState (OFF);
    Disk = 0;
    Ink = 50;
}
void dvd::TurnOn (void)
{
    if (!Power)
    {
        Power = true;
        SetState (READY);
    }
    // для імітації подальшого випадкового виникнення помилок при 
    rand ();
}
void dvd::TurnOff (void)
{
    if (Power)
    {
        Power = false;
        SetState (OFF);
    }
}
int dvd::LoadDisk (int Sheets)
{
    if (Sheets < 0) return 0;
    int NewDisk = Disk + Sheets;
    // перевірка, чи не перевищує кількість доріжок найбільшу можливу
    if (NewDisk > MAXDISK)
    {
            Disk = MAXDISK;
        return MAXDISK - Sheets;
    }
    Disk = NewDisk;
    return Sheets;
}
int dvd::UnloadDisk (int Sheets)
{
    if (Sheets < 0) return 0;
    int OldDisk = Disk;
    int NewDisk = Disk - Sheets;
    // перевірка, чи не перевищує кількість треків наявну
    if (NewDisk < 0)
    {
        Disk = 0;
        return OldDisk;
    }
    Disk = NewDisk;
    return Sheets;
}
int dvd::LoadInk (int Drops)
{
    if (Power) return 0;
    if (Drops < 0) return 0;
    int NewInk = Ink + Drops;
    return Drops;
}
void dvd::SetState (int NewState)
{
    State = NewState;
}
int dvd::Play (int Sheets, int Fill)
{
    // перевірка працездатності плеєра та коректності заданих параметрів
    if (!Power || State != READY) return 0;
    if (Sheets < 0 || Fill < 0 || Fill > 100) return 0;
    int LuckSheets;
    // зменшення 
    // обнулення “Ink = 0” потрібне для усунення похибки, яка
    // може виникати 
}
int dvd::GetState (void)
{
    return State;
}
 
Текущее время: 05:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru