2012-05-08 2 views
0

У меня возникают проблемы с функцией _getch(), я хочу, чтобы пользователю не нужно было нажать ENTER, когда вы выбираете вещи из меню. Однако, когда я пытаюсь использовать его, он либо не вводит данные в переменную, либо пропускает переключатель, который у меня есть. Я использую Windows 7 и IDE CodeBlocks. Что я делаю неправильно? Заранее спасибо._getch не считывает входные данные в переменную

#include <iostream> 
#include <sstream> 
#include <conio.h> 

using namespace std; 

stringstream ss; 
int a; 

void play() 
{ 
    cout << "\nYou wake up on the forest floor. You do not remember where you are, who you are, or anything\nthat has happened before you waking up. You seem to be some type of...\n"; 
    cout << "--CHARACTER SELECTION--\n1. Warrior\n2. Mage\n3. Rouge"; 
    cin.get(); 
}; 


int main() 
{ 
// CreateDirectory() 
    cout << "--SELECTION MENU--\n1. Begin\n2. Delete Game\n3. Instructions" << endl; 
    a=_getch(); 


    switch(a){ 

    case 1: 
    play(); 
    break; 

    case 2: 
// delete(); 
    break; 

    case 3: 
// help(); 
    break; 
    return 0; 
    } 
} 

ответ

1

Сравните ваш символ против символов '1', '2' и '3', а не целые числа 1, 2 и 3.

switch(a){ 

    case '1': 
    play(); 
    break; 

    case '2': 
// delete(); 
    break; 

    case '3': 
// help(); 
    break; 
    return 0; 
} 
+0

Это не помогло с частью _getch(), но я могу видеть, где это может вызвать проблемы в будущем. Благодаря! EDIT: Я вижу! Благодаря! Это исправило это. – Rocmalone

Смежные вопросы