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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vBomba
1 / 1 / 0
Регистрация: 11.05.2012
Сообщений: 7
#1

помогите дописать программу таймер с релизацией классов - C++

11.05.2012, 13:51. Просмотров 318. Ответов 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
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#include "stdafx.h"
#include <iostream>
#include "windows.h"
#include <conio.h>
#include <iomanip>
 
using namespace std;
 
FILE *f;
 
VOID CALLBACK TimerProc(HWND hWnd, UINT nMsg, UINT nIDEvent, DWORD dwTime) { }
struct History
{
    int h;
    int m;
    int s;
}st;
 
struct menu
{
    char a[45];
}menu[2];
 
class Menu
{
public:
void func(int c)
{
    for(int i=0;i<3;i++)
        if(i==c)
        {
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 10);
            cout<<menu[i].a<<endl;
        }
        else
        {
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
            cout<<menu[i].a<<endl;
        }
}
 
 
};
 
class Time : public Menu
{
private:
    int h,m,s;
public:
    Time(int _h, int _m, int _s)
    {
        h = _h;
        s = _s;
        m = _m;
    }
    Time(){}
    void timer()
    {
        int d;
        int second = 0;
        int f;
        int h1, m1, s1;
        int time_vid;
        MSG Msg;
        UINT TimerId = SetTimer(NULL, 0, 1000, &TimerProc);
        while (GetMessage(&Msg, NULL, 0, 0)) 
        {
            
            system("cls"); 
 
            d = h * 3600 + m * 60 + s;
            second ++;
            f = d - second;
            h1 = f / 3600;
            m1 = f/60 - h1 * 60;
            s1 = f - m1 * 60 - h1 * 3600;
            time_vid = second * 100 / d;
            if(f>0)
            {
                cout<<"залишилось:\n\t"<<h1<<":"<<m1<<":"<<s1;
                cout<<"\nпройшло часу:"<<time_vid<<"%";
            }
            else
            {
                cout<<"залишилось:\n\t"<<h1<<":"<<m1<<":"<<s1;
                cout<<"\nпройшло часу:"<<time_vid<<"%";
                KillTimer(NULL, TimerId);
            }
            if (second == d)
            {
                system("cls"); 
                cout<<"";
                //for(int i = 0; i < 5; i ++)
                    cout<<"\a";
            }
        }
    KillTimer(NULL, TimerId);
 
    }
};
int main()
{
    int h,m,s;
    int code, c =1; 
    Menu ob;
    setlocale(LC_ALL,"Ukrainian");
    strcpy(menu[0].a," Налаштувати таймер");
    strcpy(menu[1].a," Попереднi результати ");
    strcpy(menu[2].a," Вихiд ");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    cout<<menu[0].a<<endl;
    cout<<menu[1].a<<endl;
    cout<<menu[2].a<<endl;
    while(1)
    {
        code=getch();
 
        system("cls");
        switch(code)
        {
        case 72:
            { 
                if(c>0)
                    c--;
                else 
                    cout<<"\a";
            }
            break;
        case 80:
            {
                if(c<4)
                c++;
                else 
                    cout<<"\a";
            } 
                break;
        case 77:
                switch(c)
                {
                case 0: 
                    {
                        f=fopen("text","a+");
                        cout<<"Введiть час: \n";
                            cout<<" годин: ";
                            cin>>h;
                            cout<<"хвилин: ";                       
                            cin>>m;
                            cout<<"секунд: ";
                            cin>>s;
                        st.h = h;
                        st.m = m;
                        st.s = s;
                        
                        Time obj(h,m,s);
                        obj.timer();
                        fwrite(&st,sizeof(History),1,f);
                        fclose(f);
 
 
 
                    }
                case 1:
                    {
                        int c;
                        f=fopen("text","ab+");
                        cout<<"попереднi заміри:\n";
                        while((c=fread(&st,sizeof(History),1,f))!=NULL)
                        {
                            cout<<st.h<<":"<<st.m<<":"<<st.s<<endl;
                        }
                        fclose(f);
 
                    }
 
                case 2:
                    {
                        cout<<"\a";
 
                        return 0;
                    }
                }
 
        }
        ob.func(c);
    }
        
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2012, 13:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос помогите дописать программу таймер с релизацией классов (C++):

помогите дописать программу таймер с релизацией классов - C++
Мне нужно чтобы после завершения таймера программа возвращала меню, незнаю как это можно реализовать. Какие классы еще можно придумать для...

Помогите дописать программу - C++
вот код программы, но работает только первая часть из файла в массив, как теперь собрать её чтобы вся работала? может с помощью классов иил...

Помогите со структурами (дописать программу) - C++
Структуры вводятся с клавиатуры. В ряде вариантов заданий с клавиатуры вводится не вся структура, а только ее отдельные поля. Необходимо...

Помогите дописать программу на использование структур - C++
Здравствуйте. Есть у меня такая програмка, которая запоминает, сохраняет и считывает данные. Я не знаю как это все обобщить. В ней есть...

Помогите пожалуйста дописать программу перевода чисел 5->7 с.с - C++
Всем привет. Помогите пожалуйста дописать программу перевода чисел из пятеричной системы счисления в семеричную. Данная программа переводит...

Помогите дописать программу для вычисления квадратного уравнения - C++
Привет всем! Я студент и мне задали написать программу для вычисления квадратного уравнения, я написал но у меня не вычисляет х1 и х2. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vBomba
1 / 1 / 0
Регистрация: 11.05.2012
Сообщений: 7
12.05.2012, 18:37  [ТС] #2
буду рад любой помощи
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2012, 18:37
Привет! Вот еще темы с ответами:

Помогите пожалуйста дописать программу по теме ООП, Классы - C++
Помогите новичку в программирование подогнать программу под требования,выручите пожалуйста вот требования: Класс Паспорт Скрытые...

Помогите дописать игру - C++
Пишу свою первую игру на C++, использую готовый движок HGE. У меня есть класс MapBuilder:class MapBuilderClass { public: class...

Помогите дописать часть программы. - C++
Привет всем еще раз)) Вот условие задачи: Написать программу, выводящую на экран площадь прямоугольника, если известны длины его сторон....

Помогите дописать( исправить код) алгоритм - C++
Условие Некоторые компании являются совладельцами других компании, так как приобрели часть их акций. Говорят, что компания А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru