Удалите заголовок браузера по умолчанию и нижний колонтитул при печати HTML

Я только что запустил ваш код, и когда вы нажмете клавишу ввода, он будет ждать, пока вы не введете число или что-то недопустимое, например символ или строку. Я обнаружил, что если вы измените свой код с

cin >> room_change;

на

cin >> noskipws >> room_change;

, когда пользователь введет пробел, это приведет к тому, что cin.fail () вернет true, а затем перейдите к печати «Выберите существующую комнату».

В вашей ситуации цикл while будет вызываться до тех пор, пока мы не получим действительный ввод. «Выбрать существующую комнату» действительно повторяется, потому что room_change является целым числом, поэтому, когда мы нажимаем Enter, в буфере остается «\ n». Затем цикл while на следующей итерации читает это '\ n' и выполняет cin.fail (), прежде чем позволить вам ввести что-то еще. Одно решение, которое я нашел, состоит в том, чтобы использовать больше операторов cin.ignore ().

for (bool check = false; check == false;) { // Check if input is invalid
    cin >> noskipws >> room_change;
    if (cin.fail()) {
        cout << "Choose an existing room.";
        cin.clear();
        cin.ignore();
    } else if (room_change == room_current) {
        cout << "You're already in that room.";
        cin.ignore();
    } else {
        check = true;
        cin.ignore();
    }
}

Причина в том, что мы хотим избавиться от этого '\ n', чтобы cin.fail () не выполнялся. Тем не менее, я обнаружил, что когда вы вводите символ, он напечатает «Выберите существующую комнату» дважды. Он будет напечатан в первый раз, потому что символ не является целым числом, а во второй раз из-за этого '\ n'.

14
задан nickf 1 November 2008 в 07:28
поделиться

2 ответа

Они обычно браузер определенные настройки печати.

В IE & FireFox, например, можно войти в установку страницы и изменить заголовок и детали нижнего колонтитула для печати.

я не думаю, что этим может управлять сама веб-страница.

9
ответ дан 1 December 2019 в 13:10
поделиться

Можно использовать activeX-плагин, если пользователи используют IE, примером является scriptX от Meadroid: http://www.meadroid.com/sx_intro.asp

4
ответ дан 1 December 2019 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: