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

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

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

Не могу найти ошибку - C++

16.04.2017, 20:17. Просмотров 116. Ответов 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
37
38
39
40
41
42
43
44
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int main(){
    setlocale(LC_CTYPE,"Russian");
        int x=0, y=0,i;
        int step=10;
        char c;
while(c!=110){
printf("Y-вход\n N-выход\n");//y=121 n=110
c=_getch();
switch(c){
    case 110:
        return 0;
        break;
    case 121:
        goto begin;
}
begin:
    for(i=0;i<step;i++){
if(i=y){
printf("Работник< %d<\n",i);
        }
if(i!=y){
printf("Работник %d\n",i);
        }
}
c=_getch(); 
   switch(c){
        case 72:
        SetCursorPos(x, y-=step);
        break;
        case 80:
        SetCursorPos(x, y+=step);
        break;
            }
system("cls");//хочу сделать каждый раз очистку консоли после нажатия стрелок!
}
system("pause");
return 0;
}
Ничего не происходит, если нажимать что-то, кроме N(110)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2017, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу найти ошибку (C++):

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

Не могу найти ошибку - C++
w-Слово.CustomAlphabet-Буквы на которые не заканчиваются слова. Не получается предпоследнюю букву вернуть(возвращает последнюю). string...

Не могу найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; int _tmain() { ...

не могу найти ошибку - C++
Код програмы: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;conio.h&gt; using namespace std; const int N=3; int main() ...

Не могу найти ошибку - C++
Всем привет. НАчал читать учебник Дейтеля (5е издание), дошел до момента &quot;отделение интерфейса от реализации&quot;, и в примерах, которые...

2
nd2
2454 / 2043 / 718
Регистрация: 29.01.2016
Сообщений: 6,723
16.04.2017, 21:24 #2
Цитата Сообщение от Vitoster98 Посмотреть сообщение
C++
1
while(c!=110)
c здесь неинициализированна.
Цитата Сообщение от Vitoster98 Посмотреть сообщение
C++
1
if(i=y)
Это присваивание, а не сравнение.
0
Vitoster98
0 / 0 / 0
Регистрация: 04.11.2016
Сообщений: 89
16.04.2017, 22:46  [ТС] #3
спасибо

Добавлено через 19 минут
ладно, я решил упростить код:
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
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int main(){
    setlocale(LC_CTYPE,"Russian");
        int x=0, y=0,i;
        int step=10;
        char c;
while(c!=27){
for(i=0;i<step;i++){
if(i==y){
printf("Работник< %d<\n",i);
        }
if(i!=y){
printf("Работник %d\n",i);
        }
}
c=_getch(); 
   switch(c){
        case 72:
        SetCursorPos(x, y-=step);
        break;
        case 80:
        SetCursorPos(x, y+=step);
        break;
            }
system("cls");
}
system("pause");
return 0;
}
сначала выделяет нулевого работника, а если стрелку вниз/вверх нажимать, то пропадает.
Если листать назад к нулевому, то появляется

Добавлено через 7 минут
разобрался:
C++
1
2
3
4
5
6
7
8
switch(c){
        case 72:
        SetCursorPos(x, y=y-1);
        break;
        case 80:
        SetCursorPos(x, y=y+1);
        break;
}
step не нужен, он был равен 10
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2017, 22:46
Привет! Вот еще темы с ответами:

Не могу найти ошибку - C++
Доброго времени суток. На днях написал программу, в логике программы вроде все правильно и подсчеты идут тоже корректные. Но до завершения...

Не могу найти ошибку - C++
Задание: Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы...

Не могу найти ошибку - C++
Кусок программы. Нужно найти в файле необходимую услугу и записать её номер. У строки searching уже есть значение. Пример строки: Cвязь...

ошибку не могу найти( - C++
не могу понять почему не считает((((( #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using...


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

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

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