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

Правильность условия if оператора в цикле wihle - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Циклическая зависимость классов http://www.cyberforum.ru/cpp-beginners/thread766388.html
Доброго времени суток. Возникла такая проблема с программой на С++. All Files : main.cpp GameCycle.h SurfacesManager.h File main.cpp #include "GameCycle.h"
C++ Ошибка при ввыводе данных 3. Найти корни квадратного уравнения A-x + B-x + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен 0), если извест¬но, что дискриминант уравнения положителен. Вывести вначале меньший, а затем больший из найденных корней. int a,b,c,d,x1,x2; cout<<"vvedite chisla \n"; cin>>a>>b>>c; d=b*b-4*a*c; x1=(-b-sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a); if (x1<=x2) cout<<"x1=... http://www.cyberforum.ru/cpp-beginners/thread766386.html
C++ Метод слияния двух массивов
Нужно разработать метод слияния двух массивов в третий (сортировка не важна) Как я вижу реализацию: задаём и заполняем первые два массива (array x(5), array y(5)), создаём третий - пустой массив и в него по циклу загоняем по очереди элементы первых двух. Потом выводим третий массив на экран. Собственно, после создания двух массивов я застрял(( HELP! Имеется: class array { int tmp;...
C++ Структура в функции
Помогите разобраться, буду очень благодарен. Цитирую вопрос с лабораторной: У C++ забезпечується можливість передавати як структури за значенням, так і адресу структури. Якщо glitz є змінною типу структура, як ви передасте її за значенням? Як ви передасте її адресу? Функція judge () повертає значення типу int. Як аргументи вона запрошує адресу функції, яка приймає як аргумент покажчик на...
C++ привязка динамической библиотеки, написанной на масм32 к проекту с++ http://www.cyberforum.ru/cpp-beginners/thread766376.html
программа калькулятор больших чисел, правильно работает только сложение, но нам пока собственно наплевать, ибо сложение работает и хотя бы его надо запихнуть в проект с++, что собственно ниже и пробую, но пишет при вызове какую-то ересь((( 1>d:\student\asm\bin\длл\test\test\stdafx.h(8): warning C4129: m: неизвестная escape-последовательность 1>d:\student\asm\bin\длл\test\test\stdafx.h(8):...
C++ Создание из двух числовых массивов третьего Есть массив 1 3 22 23 24 43 4 23 24 25 44 5 24 25 26 45 6 25 26 27 46 и массив 2 1 21 41 61 81 3 23 43 63 83 4 24 44 64 84 5 25 45 65 85 подробнее

Показать сообщение отдельно
tofvis
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 6
19.01.2013, 17:48     Правильность условия if оператора в цикле wihle
Прошу помочь. Я новичок в програмировании и все проги что пишу получаються методом проб и ошибок, но сути порой не улавливаю. Вот решил написать небольшой консольный псевдо редактор в котором я буду использовать class-ы.
У меня возникла поблема совмещения ввода текста и перемищения курсора. Это я решил сделать с помощью условного оператора if.
В данной ситуации меня интересует почему я перепробывал кучу условий и врезультате от усталости топтаться на одном месте ввел if( key >= 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
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
#include <iostream> 
#include <stdlib.h>
#include <conio.h>
 
 
 
using namespace std; 
 
const int iy = 21;
const int jx = 79;
 
    char formaMeny[iy][jx];
 
    void printF(char arr[21][79])
{
 
    for(int i = 0; i < 21; i++)
    {
        for(int j = 0; j < 79; j++)
        
 
    cout << arr[i][j] ;
    cout << endl;
    
    
    }   
}
 
void Kursor_(int &x, int &y,char key, char arr[21][79] )
{
    
    char symb;
    switch(key)
    {
    case 80:    
    arr[y][x] = ' ';
    y+=1;// x-=1;
    arr[y][x] = '|';
    break;
    case 72:    
    arr[y][x] = ' ';
    y-=1; //x-=1;
    arr[y][x] = '|';
    break;
    case 75:    
    arr[y][x] = ' ';
     x-=1;
    arr[y][x] = '|';
    break;
    case 77:    
    arr[y][x] = ' ';
     x+=1;
    arr[y][x] = '|';
    break;
    default:
        
    
    break;
    }
    
    
}
 
void Kursor_Sy(int &x, int &y,char key, char arr[21][79] )
{
    char arrsy[1][79];
    char symb;
    int i, j;
 
    arr[y][x++] = key;
}
 
int main()
{
    
    
    char key;
    int ch, symb;
    char pr;
    int x1 = 5;
    int y1 = 5;
    while(1)
    {
    key = _getch();
    
    ch = static_cast<int>(key);
    
    
    
    [B]if( key >= 9  ) //&& !(ch == 75) && !(ch == 77) && !(ch == 80) )
    {
        system("cls");
        Kursor_Sy(y1,x1,key, formaMeny);
    
    }else
    //if( ch == 72 || ch == 75 || ch == 77 || ch == 80 || !key )//if(ch == 9 || key)
    {
    key = _getch();
    system("cls");
    Kursor_(y1,x1,key, formaMeny);
    }//else
    printF(formaMeny);
    if(key == 9 || key);
    }[/B]
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru