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

Секундомер - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Никита-92
2 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 84
27.02.2013, 15:41     Секундомер #1
Доброго времени суток.
Проверьте пожалуйста программу, работающую аналогично секундомеру.

Вот я сделал программу С++, но не работает, 9 ошибок.
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
 #include <iostream.h>
 #include <conio.h>
 #include<math.h>
main()
{int n,h=0,m=0,s=0,t,x,a; clrscr();
goto xy;(20,30);
m2: cout<<h<<":"<<m<<":"<<s<<"\n press any key for START";
getch(); 
m1: while(!kbh,t())  
{s++;
if(s>59) {m++; s=0;}
if(m>59) {n++; m=0;}
goto xy(20,30);
cout<<h<<":"<<m<<":"<<s;
delay(998); // задержка 
}
cout<<"1-prodoljenie, 2-zanovo, 0-exit";   cin>>x;
if(x==1) {goto m1;}
if(x==2)
{h=m=s=0; goto m2;}
cout<<"\n One more? (1-yes, 0-no)"; cin>>a;
if(a==1) {goto m1;}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 15:41     Секундомер
Посмотрите здесь:

Секундомер C++
секундомер C++
Секундомер. C++
C++ Секундомер на С++
Секундомер и thread-safe C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 5
27.02.2013, 17:07     Секундомер #2
Цитата Сообщение от Никита-92 Посмотреть сообщение
но не работает, 9 ошибок.
Если это копипаста реального кода, то не удивительно.
Цитата Сообщение от Никита-92 Посмотреть сообщение
main()
должно быть int main() (void main() или еще что-нибудь подобное)
Цитата Сообщение от Никита-92 Посмотреть сообщение
(20,30);
Это что такое?
Цитата Сообщение от Никита-92 Посмотреть сообщение
goto xy;
И где метка xy?
Цитата Сообщение от Никита-92 Посмотреть сообщение
!kbh,t()
??
Цитата Сообщение от Никита-92 Посмотреть сообщение
9 ошибок.
Вы б что ль их список привели. Компилятор их указывает.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
27.02.2013, 17:10     Секундомер #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
 #include <iostream.h>
 #include <conio.h>
 #include<math.h>
 
 #include <windows.h>
main()
{int n,h=0,m=0,s=0,t,x,a; clrscr();
COORD position; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy;(20,30);
m2: cout<<h<<":"<<m<<":"<<s<<"\n press any key for START";
getch();
m1: while(!kbhit())//,t())
{s++;
if(s>59) {m++; s=0;}
if(m>59) {h++; m=0;}
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy(20,30);
cout<<h<<":"<<m<<":"<<s;
Sleep(998);//delay(998); // задержка
}
cout<<"1-prodoljenie, 2-zanovo, 0-exit";   cin>>x;
if(x==1) {goto m1;}
if(x==2)
{h=m=s=0; goto m2;}
cout<<"\n One more? (1-yes, 0-no)"; cin>>a;
if(a==1) {goto m1;}
return 0;
}
не читать
У меня сколлапсировался мозг, но вот ваш подправленный вариант. Оно работает. Кормить рыбьими головами. А я ухожу лечить психику.
Скорее всего за вами уже выехала инквизиция.


Добавлено через 1 минуту
для cmath
Цитата Сообщение от cmath Посмотреть сообщение
Вы б что ль их список привели. Компилятор их указывает.
Друг, не вникай в это. Здоровье дороже.
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
27.02.2013, 17:16     Секундомер #4
если пользуетесь devc++ то
clrscr();
заменить на system("cls");
Никита-92
2 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 84
27.02.2013, 17:58  [ТС]     Секундомер #5
[QUOTE=SatanaXIII;4188852]Жеваный крот! Все. У меня вытекли глаза!
Это конечно очень похвально, что вы сами скорее всего пробуете все это писать, не прибегая к потусторонней помощи, но иногда все же лучше так сделать.
Вам осталось чуть с координатами подшаманить.
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
 #include <iostream.h>
 #include <conio.h>
 #include<math.h>
 
 #include <windows.h>
main()
{int n,h=0,m=0,s=0,t,x,a; clrscr();
COORD position; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy;(20,30);
m2: cout<<h<<":"<<m<<":"<<s<<"\n press any key for START";
getch();
m1: while(!kbhit())//,t())
{s++;
if(s>59) {m++; s=0;}
if(m>59) {h++; m=0;}
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy(20,30);
cout<<h<<":"<<m<<":"<<s;
Sleep(998);//delay(998); // задержка
}
cout<<"1-prodoljenie, 2-zanovo, 0-exit";   cin>>x;
if(x==1) {goto m1;}
if(x==2)
{h=m=s=0; goto m2;}
cout<<"\n One more? (1-yes, 0-no)"; cin>>a;
if(a==1) {goto m1;}
return 0;
}
Здесь компилятор выдает 7 ошибок.
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
27.02.2013, 18:02     Секундомер #6
какой компилятор?

Добавлено через 16 секунд
какие ошибки
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
27.02.2013, 19:24     Секундомер #7
Вот не много подправил , вроде как то работает (наверно на последнем издыхании) -
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
#include <iostream>
#include <conio.h>
#include<math.h>
#include <windows.h>
 
 using namespace std;
 
 
int main()
{
    int n,h=0,m=0,s=0,t,x,a; 
    
    system("pause");
    
COORD position; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy;(20,30);
 
m2: cout<<h<<":"<<m<<":"<<s<<"\n press any key for START";
 
getch();
 
m1: while(!kbhit())//,t())
 
{
    s++;
 
if(s>59) {m++; s=0;}
if(m>59) {h++; m=0;}
 
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy(20,30);
 
cout<<h<<":"<<m<<":"<<s;
 
Sleep(998);//delay(998); // Г§Г*äåðæêГ*
 
}
 
cout<<"1-prodoljenie, 2-zanovo, 0-exit";   cin>>x;
 
if(x==1) {goto m1;}
 
if(x==2){
         h=m=s=0; goto m2;}
 
cout<<"\n One more? (1-yes, 0-no)"; cin>>a;
if(a==1) {
         goto m1;
         }
 
return 0;
 
}
ну не в обиду - это ужасно
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
28.02.2013, 10:04     Секундомер #8
Цитата Сообщение от ijonhson Посмотреть сообщение
какие ошибки
Да. Никита-92, приведите пожалуйста дословно ошибки. И желательно из кода Игорь с++.
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.02.2013, 11:50     Секундомер #9
SatanaXIII, да он работает,я же проверял,но коряво.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
28.02.2013, 12:16     Секундомер #10
Игорь с++, да он и у меня работает. Просто Никита-92 говорит, что у него не работает - семь ошибок выдает. А! Или вы уже подправили мой код и устранили те семь ошибок?

Не по теме:

А вообще, говоря про этот код, что он работает, надо стоять на башне замка, озаряемым вспышками ночной грозы, в развевающимся по ветру плаще, и в исступлении, вскинув голову к сверкающему небу и подняв кулак, безумно кричать: "He is works!!! Igor, we did this!"

Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.02.2013, 13:12     Секундомер #11
SatanaXIII, я не считал сколько ошибок он выдавал но я их исправил просто тупо что бы компилятор не ругался.

Добавлено через 3 минуты
и вообще что то я не понял.мы тут что то делаем обсуждаем а тс молчит и молчит
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
28.02.2013, 13:32     Секундомер #12
Цитата Сообщение от Игорь с++ Посмотреть сообщение
я не считал сколько ошибок он выдавал но я их исправил просто тупо что бы компилятор не ругался.
Дело было как:
- ТС написал код - получил девять ошибок
- Я переписал его код до работоспособности
- ТС запустил мой код - получил семь ошибок
- Вы переписали и переписали по божески мой(наверное) код
- ...ждем ТС


Цитата Сообщение от Игорь с++ Посмотреть сообщение
и вообще что то я не понял.мы тут что то делаем обсуждаем а тс молчит и молчит
Дык оффлайн он.

Добавлено через 1 минуту
Кстати для меня так и осталось загадкой, что это такое было за t() в while.
Никита-92
2 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 84
02.03.2013, 03:18  [ТС]     Секундомер #13
я используюсь Borland C++ файл .CPP
Компилятор выдает 9 ошибки ...
COORD...
Вложения
Тип файла: rar BIN.rar (1.8 Кб, 4 просмотров)
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
02.03.2013, 04:53     Секундомер #14
функция должна иметь возвращаемый тип хотя бы void а main имеет как правило int
оператор goto передаёт управление программой строке кода следующей за объявленной меткой(после метки двоеточие)
пример :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
begin:;
int a,b;
cin>>a;
cin>>b;
if(a>b)
{goto end;}
if(a==b)
{goto begin;}
end:;
system("pause");
return 0;
}
Добавлено через 4 минуты
в коде написано идти на xy а где этот xy не написано
Никита-92
2 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 84
02.03.2013, 05:00  [ТС]     Секундомер #15
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
#include <iostream.h>
 #include <conio.h>
 #include<math.h>
main()
{int n,h=0,m=0,s=0,t,x,a; clrscr();
goto xy:(20,30);
m2: cout<<h<<":"<<m<<":"<<s<<"\n press any key for START";
getch(); 
m1: while(!kbh,t())  
{s++;
if(s>59) {m++; s=0;}
if(m>59) {n++; m=0;}
goto xy:(20,30);
cout<<h<<":"<<m<<":"<<s;
delay(998); // задержка 
}
cout<<"1-prodoljenie, 2-zanovo, 0-exit";   cin>>x;
if(x==1) {goto m1;}
if(x==2)
{h=m=s=0; goto m2;}
cout<<"\n One more? (1-yes, 0-no)"; cin>>a;
if(a==1) {goto m1;}
system("pause");
return 0;
}
Так?
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
02.03.2013, 05:23     Секундомер #16
не ругается компилятор на строку 6 statment missing?

Добавлено через 50 секунд
!!!!!!!!!!!!int main()
{}!!!!!!!!!!!!!!
Никита-92
2 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 84
02.03.2013, 05:25  [ТС]     Секундомер #17
да,ругается statment missing
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
02.03.2013, 05:28     Секундомер #18
метку надо изначально объявить а уже потом использовать

Добавлено через 1 минуту
игорь написал рабочий текст ctrl+c скопировать ctrl+v вставить
Никита-92
2 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 84
03.03.2013, 17:01  [ТС]     Секундомер #19
У Игорь он написал MS C++,
Нам нужно Компилятор фирмы Borland С++ показывает 9 ошибок,
она находится в архиве BorlandC.rar

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
#include <iostream>
#include <conio.h>
#include<math.h>
#include <windows.h>
 
 using namespace std;
 
 
int main()
{
    int n,h=0,m=0,s=0,t,x,a; 
    
    system("pause");
    
COORD position; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy;(20,30);
 
m2: cout<<h<<":"<<m<<":"<<s<<"\n press any key for START";
 
getch();
 
m1: while(!kbhit())//,t())
 
{
    s++;
 
if(s>59) {m++; s=0;}
if(m>59) {h++; m=0;}
 
position.X = 20; position.Y = 30; SetConsoleCursorPosition(hConsole, position);//goto xy(20,30);
 
cout<<h<<":"<<m<<":"<<s;
 
Sleep(998);//delay(998); // Г§Г*äåðæêГ*
 
}
 
cout<<"1-prodoljenie, 2-zanovo, 0-exit";   cin>>x;
 
if(x==1) {goto m1;}
 
if(x==2){
         h=m=s=0; goto m2;}
 
cout<<"\n One more? (1-yes, 0-no)"; cin>>a;
if(a==1) {
         goto m1;
         }
 
return 0;
 
}
Вложения
Тип файла: rar BorlandC.rar (5.22 Мб, 3 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 17:19     Секундомер
Еще ссылки по теме:

C++ секундомер
Секундомер C++
C++ секундомер или таймер

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

Или воспользуйтесь поиском по форуму:
booker
 Аватар для booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
03.03.2013, 17:19     Секундомер #20
года полтора назад писал такой секундомер)

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
#include <iostream>
#include <ctime>
#include<Windows.h>
#include<conio.h>
using namespace std;
 
HANDLE hConsole;
 
////////////////////////////////////////////////////////////////////////////////////////
// координаты прорисовки символа, размер массива передаётся в num[0]
int num0 []={25,3,1,4,1,2,2,5,2,2,3,5,3,2,4,5,4,2,5,5,5,3,6,4,6}; 
int num1 []={15,4,1,5,1,5,2,5,3,5,4,5,5,5,6}; //one
int num2 []={25,3,1,4,1,2,2,5,2,5,3,3,4,4,4,2,5,2,6,3,6,4,6,5,6}; //two
int num3 []={25,2,1,3,1,4,1,5,1,5,2,3,3,4,3,5,4,5,5,2,6,3,6,4,6,};//
int num4 []={23,2,1,5,1,2,2,5,2,2,3,3,3,4,3,5,3,5,4,5,5,5,6};// four
int num5 []={25,2,1,3,1,4,1,5,1,2,2,3,3,4,3,5,4,2,5,5,5,3,6,4,6}; //five
int num6 []={25,3,1,4,1,2,2,2,3,3,3,4,3,2,4,5,4,2,5,5,5,3,6,4,6}; //six
int num7 []={19,2,1,3,1,4,1,5,1,5,2,4,3,4,4,4,5,4,6}; //six
int num8 []={25,3,1,4,1,2,2,5,2,3,3,4,3,2,4,5,4,2,5,5,5,3,6,4,6};
int num9 []={25,3,1,4,1,2,2,5,2,2,3,5,3,3,4,4,4,5,4,5,5,3,6,4,6};//nine
 
 
void gotoxy( int column, int line )
  {hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
  COORD coord;
  coord.X = column;
  coord.Y = line;
  SetConsoleCursorPosition(
    hConsole,
    coord
    );
  }
 
void set_color(int foreground, int background)
   {
   SetConsoleTextAttribute( hConsole, 
                        (WORD)((background << 4) | foreground) );
   }  //end setcolor()
 
/* 0  Black          8  Dark gray
   1  Dark blue      9  Blue
   2  Dark green     10 Green
   3  Dark cyan      11 Cyan
   4  Dark red       12 Red
   5  Dark magenta   13 Magenta
   6  Brown          14 Yellow
   7  Light gray     15 White
*/
//--------------------------------------------------------------
 
void display (int x,int y, int color_back, int color_symb, int number); 
 
int main()
{
    
    while(!kbhit()){
 
    display(8,8,2,10,time(NULL)%60/10);
    display(17,8,2,10,time(NULL)%10);
    }
 
    return 0;
  
}
 
void display (int x,int y, int color_back, int color_symb, int number)
{
    int rate=x;
    int arr [64];
    for (int i=0; i<64;i++)
        {  
        set_color(color_back,0);
        gotoxy(x,y);
        x++;
        if (x-rate==8) {x-=8;y++;};
        arr[i]=rand()%10;
        cout<<arr[i];
        if (i==63) y-=8;
    }
    switch (number)
        {
    case 0:
        for (int i=1;i<num0[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num0[i],y+num0[i+1]);
        cout<<rand()%2;}
        break;
    case 1:
        for (int i=1;i<num1[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num1[i],y+num1[i+1]);
        cout<<rand()%2;}
        break;
    case 2:
        for (int i=1;i<num2[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num2[i],y+num2[i+1]);
        cout<<rand()%2;}
        break;
    case 3:
        for (int i=1;i<num3[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num3[i],y+num3[i+1]);
        cout<<rand()%2;}
        break;
    case 4:
        for (int i=1;i<num4[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num4[i],y+num4[i+1]);
        cout<<rand()%2;}
        break;
    case 5:
        for (int i=1;i<num5[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num5[i],y+num5[i+1]);
        cout<<rand()%2;}
        break;
    case 6:
        for (int i=1;i<num6[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num6[i],y+num6[i+1]);
        cout<<rand()%2;}
        break;
    case 7:
        for (int i=1;i<num7[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num7[i],y+num7[i+1]);
        cout<<rand()%2;}
        break;
    case 8:
        for (int i=1;i<num8[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num8[i],y+num8[i+1]);
        cout<<rand()%2;}
        break;
    case 9:
        for (int i=1;i<num9[0];i+=2)
        { set_color(color_symb,0);
        gotoxy(x+num9[i],y+num9[i+1]);
        cout<<rand()%2;}
        break;
    default: break;
    }
}
Yandex
Объявления
03.03.2013, 17:19     Секундомер
Ответ Создать тему
Опции темы

Текущее время: 05:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru