Вопрос

#include <iostream>
using namespace std;
int main()
{
   string text;
   cout << "Введите текст:" << endl;
   cin >> text;
   main();
}

При цикле ввода текста, возможно ли удалить с экрана предыдущий текст(«Введите текст:»)?
Чтобы например при вводе 5ти значений, сам текст оказался на самом верху, а то что вводиться через клавиатуру, прописывается далее.

Стандартная библиотека не позволяет выполнять такие трюки, только если вывести «\n» n раз, где n = количество уже занятых строк. А затем выводить нужную информацию заново.
По нормальному, это делается через API системы, или какую-нибудь библиотеку, windows — WinAPI, для unix (и для windows тоже возможно) — curses

whit3g, Может ты хотел это?

#include <iostream>
using namespace std;
int main()
{
   string text;
   cout << "Введите текст:" << endl;

   while(1) // пока значение равно единице, а оно всегда равно единице, цикл будет повторятся
    cin >> text;
}

Slonopotam, если я правильно понял, то whit3g нужен не бесконечный цикл (хотя, он тут уместен) а очистка экрана.

Он двойственно излагает свой вопрос. Сперва

возможно ли удалить с экрана предыдущий текст

а затем

сам текст оказался на самом верху, а то что вводиться через клавиатуру, прописывается далее.

Видимо всё-таки имеется ввиду очистка экрана.

#include <cstdlib>   // для некоторых компиляторов необязательно

// ...
    system("cls");

По поводу рекурсивного вызова main() я уже написал здесь.

Резюмирую:

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    string text;
    cout << "Введите текст:" << endl;

    cin >> text; // вводим первое слово
    system("cls"); // очищаем экран
    cout << text << endl; // возвращаем первое слово на экран

    while(1) // вводим остальные слова, пока не надоест
    cin >> text;
}

Думаю, что имелось ввиду

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    string text;
    while (true) {     // 1 - не кошерно. С++ как-никак ))
        system("cls"); // очищаем экран
        cout << "Введите текст:" << endl;
        cin >> text; // вводим слово
    }
    return 0;
}

Спасибо! Всё работает, все помогли!
А можно ещё как то узнать свойства команды system?

System(«команда») — команда для операционной системы выполнить какое-то действие. В данном случае cls — команда очистить экран (CLean Screen). Чтобы получить список всех доступных команд с описанием, набери help в командной строке.

пишет: «идентификатор »end1« не определен». что делать?

теперь пишет «error LNK1104: не удается открыть файл »kernel32.lib"

Вячеслав
Когда создаёте проект выбирайте Console Application
И имя проекта попробуйте на латинице, а не как на фото. (Лично у меня почему то кирилицу не переваривает)

не могу просмотреть фото, отправьте пожалуйста на почту abc.xx@mail.ru, если это возможно. заранее благодарю

Вячеслав
Без всяких фото, когда создаёте проект, тип проекта выбирайте Console Application, название проекта вводите английскими буквами.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.