Форум программистов, компьютерный форум CyberForum.ru

Считать с консоль строку, ранее выведенную - C++

Восстановить пароль Регистрация
 
Andry36_
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 11
18.05.2013, 20:04     Считать с консоль строку, ранее выведенную #1
Здравствуйте. Проблема заключается в следующем.
С помощью cout вывожу на экран 8 цифр, например 1. Можно ли считать уже выведенные эти 8 цифр.
Подскажите кто знает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 20:04     Считать с консоль строку, ранее выведенную
Посмотрите здесь:

C++ Как считать строку?
C++ Считать пустую строку
C++ Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а
Считать строку в Visual C++ C++
Считать строку с потока C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
18.05.2013, 20:25     Считать с консоль строку, ранее выведенную #2
Если Вы считываете строку, то можно попробовать atoi(), а вот насчет стандартного потока вывода -не знаю, не сталкивался
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
18.05.2013, 20:34     Считать с консоль строку, ранее выведенную #3
Andry36_, Нет нельзя они ж у тебя уже хранится будут в переменной, зачем считывать?
Например отак от:
C++
1
2
3
mass[8]={1,1,1,1,1,1,1,1};
for(int i=0;i<8;i++)
   cout <<mass[i];
Зачем тебе считывать назад? У тебя ж в mass хранится значение.
Я думаю фиг что ты считаешь обратно,это ж ведь поток вывода, ты можешь токо считать назад из потока ввода.
Например я не помню функцию, но там есть функция которая обратно закидывает данные в поток ввода cin и можно снова считывать из него.
Andry36_
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 11
18.05.2013, 20:44  [ТС]     Считать с консоль строку, ранее выведенную #4
Наверное я не очень понятно сформулировал задачу..
C++
1
2
for(int i = 0; i<8; i++)
cout << "1";//т.е. в конце цикла уже выведено 11111111 - можно ли как нибудь это считать и записать в строку или       //массив без разницы
Возможно возвратом каретки консоля и как нить её считать, не знаю как сделать... помогите чайнику(

Добавлено через 7 минут
Просто это подзадача другой)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// класс можно создать какой хочешь.
class clas
{
 
public:
    clas()
    {           
    }
 
    
};
 
int main()
{
// ни чего в for менять нельзя
    for(int i=0; i<8; i++)
    {
        clas ob;
    }
 
    
};
подсчитать количество созданных объектов. подразумеваетсяi<любого числа.
вывод в фаил и статические переменные использовать нельзя.
была вот токая идея:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class clas
{
 
public:
    clas()
    {   
            cout << "1";//ну а потом эти 1цы считать с консоля. только как это сделать?(    
    }
 
    
};
 
int main()
{
 
    for(int i=0; i<8; i++)
    {
        clas ob;
    }
 
    
};
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
18.05.2013, 20:53     Считать с консоль строку, ранее выведенную #5
Andry36_, Да я понял, я не уверен но думаю нет. Вообще такое зачем может понадобится? Сразу в переменную сохраняешь и все.

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
 
    for(int i=0; i<8; i++)
    {
        clas ob;
    }
 
    
};
Отут у тебя должен быть один объект и ты его 8 раз инициализируешь, мб нужно как то конструктор в классе создать и сатический член класса?
Andry36_
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 11
18.05.2013, 20:53  [ТС]     Считать с консоль строку, ранее выведенную #6
Что то типо задачки "ломай голову". Спасибо за ответы.
0x10
18.05.2013, 20:55
  #7

Не по теме:

Andry36_, счетчик объектов - три строчки кода. Не надо создавать себе проблемы на ровном месте.

Andry36_
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 11
18.05.2013, 20:59  [ТС]     Считать с консоль строку, ранее выведенную #8
"мб нужно как то конструктор в классе создать и сатический член класса?" - один из вариантов, но им нельзя пользоваться, а так же создавать фаил в конструкторе и записывать туда - тоже нельзя( Есть ещё 2 способа, но увы, я их не знаю( знаю только о их существовании..

Добавлено через 3 минуты
Цитата Сообщение от 0x10 Посмотреть сообщение

Не по теме:

Andry36_, счетчик объектов - три строчки кода. Не надо создавать себе проблемы на ровном месте.

нельзя.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
18.05.2013, 21:04     Считать с консоль строку, ранее выведенную #9
Какая дурь... Ну глобальную переменную заведите и увеличивайте ее.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
18.05.2013, 21:11     Считать с консоль строку, ранее выведенную #10
Отак от можно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using std::cout;
using std::endl;
 
class clas
{
public:
    static int i;
    clas(){i++;}
};
int clas::i=0;
 
int main()
{
    for(int j=0; j<8; j++)
    {
        clas ob;
    }
    cout <<"count_obj= "<<clas::i<<endl;//8
    
    return 0;
};
Andry36_
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 11
18.05.2013, 21:14  [ТС]     Считать с консоль строку, ранее выведенную #11
Цитата Сообщение от 0x10 Посмотреть сообщение
Какая дурь... Ну глобальную переменную заведите и увеличивайте ее.
Согласен, не придумывал, но надо.
Я допер, ща попробу сделать) Все спасибо))
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
18.05.2013, 21:14     Считать с консоль строку, ранее выведенную #12
Andry36_, Можно еще для класса clas перегрузить оператор cout (operator<<) и создать глобальную переменную и увеличивать ее.
Andry36_
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 11
18.05.2013, 21:16  [ТС]     Считать с консоль строку, ранее выведенную #13
Цитата Сообщение от ninja2 Посмотреть сообщение
Andry36_, Можно еще для класса clas перегрузить оператор cout (operator<<) и создать глобальную переменную и увеличивать ее.
Класс, спасибо!!)
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
18.05.2013, 21:31     Считать с консоль строку, ранее выведенную #14
Большего идиотизма в жизни не писал, пойду руки вымою.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class clas
{ };
 
int object_counter = 0;
#define clas ++object_counter; clas
 
int main()
{
    for(int j=0; j<8; j++)
    {
        clas ob;
    }
 
    std::cout << object_counter << std::endl;
 
    return 0;
};
Добавлено через 4 минуты
А еще можно написать сервер, который будет постоянно висеть в памяти и считать запросы с информацией о новом созданном объекте.

Добавлено через 1 минуту
Как вариант - найти программиста и предложить ему в подарок замечательный барометр, если он скажет сколько раз в данном коде будет создан объект. Нет, постойте... барометром мы измеряли высоту здания.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2013, 21:45     Считать с консоль строку, ранее выведенную
Еще ссылки по теме:

Не получается считать строку с gets C++
C++ Не могу считать строку
C++ Считать строку с консоли

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11819 / 6798 / 769
Регистрация: 27.09.2012
Сообщений: 16,876
Записей в блоге: 2
Завершенные тесты: 1
18.05.2013, 21:45     Считать с консоль строку, ранее выведенную #15
Сохранение экрана консоли
Yandex
Объявления
18.05.2013, 21:45     Считать с консоль строку, ранее выведенную
Ответ Создать тему
Опции темы

Текущее время: 15:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru