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

Почему не работает счетчик в функции? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая удаляет из введенного строки любой необходимый введен с клавиатуры символ. Процесс удаления выделите в отдельную процедуру http://www.cyberforum.ru/cpp-beginners/thread888353.html
Здравствуйте, Уважаемые. Очень срочно нужна Ваша помощь, в решении данной задачи: Написать программу, которая удаляет из введенного строки любой необходимый введен с клавиатуры символ. Процесс...
C++ Заданная последовательность целых чисел. Найти количество чисел, делящихся на 3 и 5 без остатка Здравствуйте, Уважаемые. Очень срочно нужна Ваша помощь, в решении данной задачи: Заданна последовательность целых чисел. Найти количество чисел, делящихся на 3 и 5 без остатка. http://www.cyberforum.ru/cpp-beginners/thread888352.html
В матрице М (N, M) найти сумму элементов четных строк C++
Здравствуйте, Уважаемые. Очень срочно нужна Ваша помощь, в решении данной задачи: В матрице М (N, M) найти сумму элементов четных строк.
Вывести все слова в предложении в которых нет повторяющихся букв C++
Вывести все слова в предложении в которых нет повторяющихся букв. Как это реализовать ? Желательно примеры, заранее спасибо
C++ Програма для диплома http://www.cyberforum.ru/cpp-beginners/thread888345.html
Здраствуйте, как видно по теме мне нужно зделать програму для диплома програма должна находить 2 файлы с одинаковым размером разширением и названием но я даже не представляю как зделать такой поиск...
C++ random R=random(101)/100.; Это генератор случайных чисел (0;1)? подробнее

Показать сообщение отдельно
ВДВ777
-4 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 110

Почему не работает счетчик в функции? - C++

02.06.2013, 18:32. Просмотров 471. Ответов 4
Метки (Все метки)

я написал вот такую не хитрую функцию , в ней все работает как надо,кроме переменной "V" - в чем проблема?(rm и lm это сокращенный код (GetAsyncKeyState(VK_(L\R)BUTTON)&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
void RetCoord (int X , int Y , int X1 , int Y1 , int V , char pString[],D3DCOLOR col , D3DCOLOR col2)
{
                 GetCursorPos(&cPos);
 
                 if(V==0)
                 {
                 if (rm&1&cPos.x>X &cPos.x<X1&cPos.y>Y &cPos.y<Y1)//если правая кнопка мыши нажата 1 раз и курсор //стоит в нужном диапазоне то
                 {
                 V++;// переменная V + 1, то есть = 1
                 }
                 }
                 //
                 if (V==1)
                 {
                 if (rm&1&cPos.x>X &cPos.x<X1&cPos.y>Y &cPos.y<Y1)
                 {
                     V--;
                 }
                 }
                 //
                 if(cPos.y>Y&cPos.y<Y1&cPos.x>X&cPos.x<X1&V==0)
                 {
                 PrintText (pString ,X  , Y , col , dMenu.pFont);
                 }
                 else if (V==0)
                 {
                 PrintText (pString ,X  , Y , RED , dMenu.pFont);
                 }
                 //
                 if (V==1)
                 {
                 PrintText (pString ,X  , Y , col2 , dMenu.pFont);
                 }
                 
                 
}

вызываю функцию
C++
1
RetCoord (100 , 100 , 150 , 150 , Z ,"блаблабла" , YELLOW , GREEN );
в потоке если что.
Происходит вот что , если я нажимаю на правую кнопку мыши(1 раз) в заданном диапазоне , то переменная V должна равняться 1. Она приравнивается к 1 и в эту же миллисекунду приравнивается к 0, почему так происходит?
Если использовать код без функции - то работает отлично , вот код без функции:
Кликните здесь для просмотра всего текста
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
GetCursorPos(&cPos); 
                ///
                 if(Z==0)
                 {
                 if (GetAsyncKeyState(VK_RBUTTON)&1)
                 {
                 if(cPos.x>MRegX&cPos.x<MRegX1)
                 {
                 if(cPos.y>MRegY&cPos.y<MRegY1)
                 {
                     Z++;
                 }
                 }
                 }
                 }
                
                 if (Z==1)
                 {
                 if (cPos.x>MRegX&cPos.x<MRegX1)
                 {
                 if (cPos.y>MRegY&cPos.y<MRegY1)
                 {
                 if (GetAsyncKeyState(VK_RBUTTON)&1)
                 {
                     Z--;
                 }
                 }
                 }
                 }
                 if(cPos.y>MRegY&cPos.y<MRegY1&cPos.x>MRegX&cPos.x<MRegX1&Z==0)
                 {
                 PrintText ("Отдача" ,MRegX  , MRegY , YELLOW , dMenu.pFont);
                 }
                 else if (Z==0)
                 {
                 PrintText ("Отдача" ,MRegX  , MRegY , RED, dMenu.pFont);
                 }
        
 
                 
                 if (Z==1)
                 {
                 PrintText ("Отдача" ,MRegX  , MRegY , GREEN , dMenu.pFont);
                 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.