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

Ошибка в программе для вывода меню - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ цикл по кругу http://www.cyberforum.ru/cpp-beginners/thread456002.html
По кругу располагаются n человек. Ведущий считает по кругу, начиная с первого и выводит m человека. Круг сужается, счет восстанавливается со следующего после выведенного; так продолжается пока не останется один человек.
C++ Файл в вектор Подскажите плз как быстро и эффективно загрузить файл размером 30-50мб в вектор, делаю через ifstream, работает очень медленно: #include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; int main () { http://www.cyberforum.ru/cpp-beginners/thread455976.html
C++ Нужны коментарии
Помогите с коментариями в программе: int main() { vector<int> fact, tmpResult, num; const int N = 100; int carry, sumOfDigits = 0; fact.push_back(1);
C++ Занести элементы вещественного массива X, удовлетворяющие условию, в массив Y
Пожалуйста помогите кто может Записать элементы вещественного массива X, удовлетворяющие условию xi>=1 и xi<=2, подряд в массив Y. Определить минимальный элемент массива X
C++ Вычислить и вывести сумму всех нечетных чисел от а до b http://www.cyberforum.ru/cpp-beginners/thread455948.html
Разработать программу, которая позволяет ввести два целых числа а и b; Вычислить и вывести сумму всех нечетных чисел от а до b. Предусмотреть все возможные варианты (a> b, a <b, a = b) Код с++.
C++ Моя первая самостоятельная программа. Суть задания - найти призведение и сумму чисел В общем, выполняю первое самомтоятельно задание по с++. Суть задания - найти призведение и сумму чисел, пр иэтом функции произведения и суммы должны быть заранее определены, до входа в main. Затем я должен пригласить пользователя ко вводу(* реализовав кирилицу), и если пользователь вводить не 2 числа, а число и букву, или 2 буквы, попросить ввести еще раз. Привожу текст: #include <stdio.h>... подробнее

Показать сообщение отдельно
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
01.03.2012, 20:58     Ошибка в программе для вывода меню
Сделал вот так... Честно сказать, для чего используется "StdAfx.h" я не знаю, потому убрал её )).
В итоге в main возвращается key дальше от полученного значения можно плясать
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
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
 
int main()
{
        char str1[] = "(1) Rabota s failami";
        char str2[] = "(2) Prosmotr";
        char str3[] = "(3) Dobavit' novyi element";
        char str4[] = "(4) Udalit' element";
        char str5[] = "(5) Redaktirovat' element";
        char exit[] = "(6) Vyhod";
        char ch;
        int key=0;
        //показываем меню
        cout<<"***"<<str1<<endl<<str2<<endl<<str3<<endl<<str4<<endl<<str5<<endl<<exit<<"***"<<endl;
        //ждем нажатия W или S
   
    
    do
    {
        ch = getch();
        system("cls");
        if (ch==83 || ch==115)
            {if ((key+1)!=7) key++;}
        else if (ch==87 || ch==119)
            {if ((key-1)>0) key--;}
        switch (key)
                {
                case 1: cout<<"***"<<str1<<"***"<<endl<<str2<<endl<<str3<<endl<<str4<<endl<<str5<<endl<<exit<<endl;break;
                case 2: cout<<str1<<endl<<"***"<<str2<<"***"<<endl<<str3<<endl<<str4<<endl<<str5<<endl<<exit<<endl;break;
                case 3: cout<<str1<<endl<<str2<<endl<<"***"<<str3<<"***"<<endl<<str4<<endl<<str5<<endl<<exit<<endl;break;
                case 4: cout<<str1<<endl<<str2<<endl<<str3<<endl<<"***"<<str4<<endl<<str5<<endl<<exit<<endl;break;
                case 5: cout<<str1<<endl<<str2<<endl<<str3<<endl<<str4<<endl<<"*"<<str5<<"***"<<endl<<exit<<endl;break;
                case 6: cout<<str1<<endl<<str2<<endl<<str3<<endl<<str4<<endl<<str5<<endl<<"*"<<exit<<"***"<<endl;break;                     
                }
        
    } while (ch!=13);
    cout << "Vi vibrali " << key << endl;
    return key;
 
}

ну и для перемещения использовать W или S (w,s), с русской раскладкой не работает
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru