c ++ Enter нажмите на новую строку

0

firt всего моего английского не так хорош, я этого хватит.
Хорошо, у меня есть эти коды, и вы можете увидеть основную логику в нем

#include <cstdlib>
#include <iostream>
#include <time.h>

using namespace std;

int main() {
    int i, dizi2[100], imlec=0;
    char BasilanTus; 
    BasilanTus = ' ';
    setlocale(LC_ALL, "Turkish"); 
    srand(time(0));

    for (int i = 0; i < 10; i++){

        dizi2[i] = rand() % 10;
    }

    for (i = 0; i<20; i++) {
        for (i = 0; i<10; i++){
            if (i == imlec)
            {
                cout << "--> " << dizi2[i] << endl;
            }
            else
            {
                cout << "    " << dizi2[i] << endl;
            }
        }
        cout << "(a veya A tuşu aşağı götürür )\n(d veya D tuşu yukarı götürür)\n(c veya C tuşu programdan çıkarır)\nOkun Yonunu Secin....:";
        cin >> BasilanTus;
        if (BasilanTus == 'a' || BasilanTus == 'A')
        {
            if (imlec > 8)
            {
                imlec = -1;
            }
            imlec = imlec + 1;
        }
        else if (BasilanTus == 'd' || BasilanTus == 'D')
        {
            if (imlec <1)
            {
                imlec = 10;
            }
            imlec = imlec - 1;
        }
        system("cls");
    }
}



Мой вопрос заключается в том, что когда я пишу 'a' и после нажатия enter вывожу новую строку после выполнения cls. Я не хочу показывать новую строку. Как мне это сделать. Спасибо за прочтение.

  • 1
    "выскочил новая строка после выполнения cls", что это значит?
  • 0
    Я думаю, что они означают, что ввод <enter> генерирует новую строку. Не уверен, хотя?
Показать ещё 3 комментария
Теги:
line-breaks

2 ответа

1

Решение использует getline

#include <string>

string BasilanTus;
getline(cin, BasilanTus);
0

Если вы не используете функцию ОС или платформу, вам нужно нажать Enter, чтобы сообщить cin что вход завершен.

Кроме того, попробуйте следующее:

if (std::tolower(BasilanTus) == 'a')  

Используйте std::tolower или std::toupper поэтому вам нужно выполнить только одно сравнение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню