2015-03-31 6 views
0

}C++ кодирование препятствие

int North, north; 
cout << "You enter the forest, where would you like to go.\n" << endl; 
cin >> North; 

int Yes; 
cout << "You appear in front of a cave, you see a sign saying. Canifis Cave BEWARE!\n" << endl; 
cout << "Are you going to enter. (1.Yes/2.No?)\n" << endl; 
cin >> Yes; 


cout << "You enter the cave.. It is lit by torches only going westward. Are you going to follow the lit path? (Yes/No)\n" << endl; 
cin >> Yes; 


cout << "You see the the goblins.\n" << endl; 
cout << "They are asleep and you see the Sword Of A Thousand Truths against the wall on a makeshift stand.\n" << endl; 

int pickOption; 
cout << "You can either kill the goblins by throwing a torch off the wall on them and retrieve the sword.\n"; 
    cout << "Or you can just quietly take it and leave\n" << endl; 
    cout << "1 - Kill goblins with torch then take The Sword Of A Thousand Truths.\n" << endl; 
    cout << "2 - Take The Sword Of A Thousand Truths quietly and leave.\n" << endl; 
    cin >> pickOption; 

    switch (pickOption) 
    { 
    case 1: 
     cout << "The Goblins burned to death, congratulations!. you retrieve The Sword Of A Thousand Truths.\n" << endl; 
     cout << "You make your way back to Doric and give him the family heirloom he thanks you.\n"; 
     cout << "You then leave and continue on your journey after finishing Doric's Quest.\n"; 
      cout << "CONGRATULATIONS ON COMPLETEING DORIC'S QUEST!!\n" << endl; 
      break; 

    case 2: 
     cout << "You sneak by the goblins, retrieve the family heirloom and make your way out the cave unnoticed.\n" << endl; 
     cout << "You make your way back to Doric and give him the family heirloom he thanks you.\n"; 
     cout << "You then leave and continue on your journey after finishing Doric's Quest.\n"; 
     cout << "CONGRATULATIONS ON COMPLETEING DORIC'S QUEST!!\n" << endl; 
     break; 
    } 

    return 0; 

}

После идти северной части она не позволяет ввести в КИН для остальных вопросов он просто пропускает и постами все из соиЬ информации , может ли кто-нибудь помочь? Я не знаю, как это исправить

ответ

0

Поскольку вы использовали <<endl; Новая строка символ был оставлен в характере buffer.This читается CIN, что follows.So удалить эти <<endl; и код должен работать нормально

+0

это не сработало :( – BrandoG

0

Во-первых, ваше расположение очень плохое. Во-вторых, вам нужно предоставить больше информации о том, чего вы пытаетесь достичь? Что вы вводите в первый «cin», который заставляет его продолжать прямую, не останавливаясь? Обратите внимание, что вы использовали int для переменной North и North, поэтому ничего, кроме цифр, заставит программу отображать остальную часть «couts» и завершаться, если не будет выполнена обработка ошибок.

Я думаю, что проблема, с которой вы сталкиваетесь, состоит в том, что вы вводите алфавиты вместо номера для входных данных int.

Я могу запустить эти коды без проблем. Скриншот для доказательства.

enter image description here

Как вы можете видеть на скриншоте, введенные значения не проверяются вообще. Я могу ввести 3 для вопроса 1 для да и 2 для нет, и он по-прежнему продолжается. Включите ваши операторы if или какой бы способ вы не использовали для проверки, а затем переходите к следующему шагу. Убедитесь, что вы четко указали ввод, который должен быть введен пользователем. Имеют правильные переменные классы для разных критериев.

Если вы не знаете, как достичь или завершить это, или вам нужна дополнительная помощь, сделайте комментарий. Я отредактирую этот пост с кодами.