С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/121: Рейтинг темы: голосов - 121, средняя оценка - 4.64
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 154
1

Как удалить выведенную строку в C++

29.03.2019, 20:34. Показов 23457. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня такая проблема:
Допустим, у меня есть программа, которая печатает несколько строк:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<math.h>
#include<conio.h>
using namespace std;
int main()
{
    cout << "[N] - Новая игра\n";
    cout << "[P] - Пауза\n";
    cout << "[Esc] - Выход\n";
    getch();
//  <...>
    getch();
}
При запуске открывается окно с тремя строчками.
Вместо <...> нужно вставить часть кода, которая удаляла бы вторую строку.
Заранее спасибо!
Миниатюры
Как удалить выведенную строку в C++  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2019, 20:34
Ответы с готовыми решениями:

Считать с консоль строку, ранее выведенную
Здравствуйте. Проблема заключается в следующем. С помощью cout вывожу на экран 8 цифр, например 1....

Как присвоить переменной строку выведенную в CMD
Пример ввожу в CMD wmic diskdrive get size он выдаст Size 200039632128 128034708480 как...

разобрать строку выведенную в хтмл использовав метку
Здравствуйте. помогите решить задачу: Я в цикле делаю выборку и создаю массив: foreach ($new...

Как обработать выведенную информацию
Доброго времени суток. Экспериментирую с node js. Задание заключается в том, чтобы просматривать...

14
Мозгоправ
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
29.03.2019, 22:02 2
Цитата Сообщение от Turbo_Pgmer_132 Посмотреть сообщение
Вместо <...> нужно вставить часть кода, которая удаляла бы вторую строку.
Мсьё понимает толк в извращениях.

Сделать можно, но геморно.
Не проще ли не выводить строку, чем потом её удалять из консоли?
0
5 / 3 / 3
Регистрация: 13.07.2017
Сообщений: 23
29.03.2019, 22:10 3
Наверное можно просто очистить экран с помошью
C++
1
system("cls")
и выводить уже без второй строки

Нуу тоесть как то так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<math.h>
#include<conio.h>
using namespace std;
int main()
{
    cout << "[N] - Новая игра\n";
    cout << "[P] - Пауза\n";
    cout << "[Esc] - Выход\n";
    getch();
    system("cls");
    cout << "[N] - Новая игра\n";
    //cout << "[P] - Пауза\n";        Закомментил так как не надо выводить
    cout << "[Esc] - Выход\n";
    getch();
}
0
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 154
08.04.2019, 20:27  [ТС] 4
А если, допустим, я напишу значение какой-либо переменной, а потом поменяю его? Мне надо будет сначала стирать всё с экрана, потом выводить в консоль заново...
Короче, муторно!
И вообще, есть ли какая-то команда наподобие cout, только чтобы при изменении значения переменной сразу же изменялся и текст в консоли?
ОООООООООчень надо!
0
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
08.04.2019, 20:34 5
Цитата Сообщение от Turbo_Pgmer_132 Посмотреть сообщение
И вообще, есть ли какая-то команда наподобие cout, только чтобы при изменении значения переменной сразу же изменялся и текст в консоли?
Нету. Нужно всё стирать и перезаписывать сначала. Это как обновление экрана в играх. Конечно, можно взять часть раскраски пикселей с предыдущего кадра, но показать их на дисплее можно только в следующем кадре.
0
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 154
08.04.2019, 20:36  [ТС] 6
Цитата Сообщение от L0M Посмотреть сообщение
Сделать можно, но геморно.
И вообще, даже если геморно, лучше, чем ничего!
0
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
08.04.2019, 20:40 7
Turbo_Pgmer_132, для винды есть SetConsoleCursorPosition
0
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 154
08.04.2019, 21:10  [ТС] 8
Цитата Сообщение от zayats80888 Посмотреть сообщение
для винды есть SetConsoleCursorPosition
А ну-ка поподробнее!

Пожалуйста*****
0
Just Do It!
4028 / 2422 / 640
Регистрация: 23.09.2014
Сообщений: 7,806
Записей в блоге: 2
08.04.2019, 21:58 9
Цитата Сообщение от Turbo_Pgmer_132 Посмотреть сообщение
А ну-ка поподробнее!
вот рабочий пример:Как вводить переменную без перехода в новую строку?
0
Мозгоправ
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
08.04.2019, 23:19 10
Лучший ответ Сообщение было отмечено Turbo_Pgmer_132 как решение

Решение

Цитата Сообщение от Turbo_Pgmer_132 Посмотреть сообщение
А ну-ка поподробнее!
Пожалуйста*****
Поподробнее - читайте руководство по виндовой консоли.
0
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 154
09.04.2019, 14:52  [ТС] 11
L0M
Огромное спасибо!!!

Только теперь другой вопрос:
Есть ли какая-то команда, чтобы удалить строку? (DelLine, или что-то вроде того )
0
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
09.04.2019, 15:36 12
Лучший ответ Сообщение было отмечено Turbo_Pgmer_132 как решение

Решение

Turbo_Pgmer_132,
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
#include <iostream>
#include <Windows.h>
#include <conio.h>
 
const char* emptyLine{ "                                                                               " };
const char* pattern{ "line #" };
const int count = 4;
 
void printline(HANDLE hOut, int num, bool flag) {
    SetConsoleCursorPosition(hOut, COORD{ 0, (SHORT)num });
    if (flag) std::cout << pattern << num;
    else std::cout << emptyLine;
}
 
int main()
{
    bool lines[count]{ 1,1,1,1 };
 
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    if (hConsole == INVALID_HANDLE_VALUE) return -1;
 
    std::cout << "press key whith line numer to show/hide or Esc to exit:\n";
    for (int i{}; i < count; ++i) printline(hConsole, i + 1, lines[i]);
    while (1) {
        int ch = _getch() - 49;
        if (ch >= 0 && ch < count) {
            lines[ch] ^= 1;
            printline(hConsole, ch + 1, lines[ch]);
        }
        if (ch == 27 - 49) break;
    }
}
3
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 154
10.04.2019, 16:06  [ТС] 13
Цитата Сообщение от zayats80888 Посмотреть сообщение
Turbo_Pgmer_132,
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
#include <iostream>
#include <Windows.h>
#include <conio.h>
const char* emptyLine{ " " };
const char* pattern{ "line #" };
const int count = 4;
void printline(HANDLE hOut, int num, bool flag) {
 SetConsoleCursorPosition(hOut, COORD{ 0, (SHORT)num });
 if (flag) std::cout << pattern << num;
 else std::cout << emptyLine;
}
int main()
{
 bool lines[count]{ 1,1,1,1 };
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 if (hConsole == INVALID_HANDLE_VALUE) return -1;
std::cout << "press key whith line numer to show/hide or Esc to exit:\n";
 for (int i{}; i < count; ++i) printline(hConsole, i + 1, lines[i]);
 while (1) {
 int ch = _getch() - 49;
 if (ch >= 0 && ch < count) {
 lines[ch] ^= 1;
 printline(hConsole, ch + 1, lines[ch]);
 }
 if (ch == 27 - 49) break;
 }
}
Спасибо ГИГАНТСКОЕ!!!
0
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
10.04.2019, 16:10 14
Цитата Сообщение от Turbo_Pgmer_132 Посмотреть сообщение
Спасибо ГИГАНТСКОЕ!!!
Спасибо в карман не положишь. Лучше нажмите кнопку "+1 Спасибо" Зайцу.
1
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 154
10.04.2019, 16:12  [ТС] 15
Выдаёт пару [Warning]'ов, но в целом супер!!!
1
10.04.2019, 16:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2019, 16:12
Помогаю со студенческими работами здесь

Как записать выведенную таблицу в файл excel?
Здравствуйте дорогие форумчане:good:. Подскажите, пожалуйста,:-[ материал или ссылку на тему...

Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку
3 двунаправленный линейный список строк.требуется вставить строку после строки с номером и удалить...

как удалить строку
создаю консольное приложение, программа должна принимать n количество оценок, каждую оценку...

Как удалить строку в БД
Привет всем. Есть форма, кнопка удалить удаляет строку в БД, нужно сделать так, что бы когда он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru