Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vitalykuzmin
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
#1

Как переделать с файла на консоль - C++

21.11.2015, 15:33. Просмотров 180. Ответов 4
Метки нет (Все метки)

Пытаюсь переписать код на считывание с консоли при вводе а не с файла и не выходит, помогите ламеру.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cctype>
using namespace std;
 
void sentence(istream& in)
{
    bool state = false;
    char c;
 
    while ((c = in.get()) && isspace(c))
        ;
    if (c == '-')
        state = true;
    else
        state = false;
 
    if (state) {
        while (isspace(c));
        cout << c;
        while ((c = in.get()) && state) {
            cout << c;
            if (c == '.' || c == '!' || c == '?')
                state = false;
        }
        cout << endl;
    }
}
 
int main()
{
    string file_name;
    cout << "file name: ";
    cin >> file_name;
    ifstream in;
    in.open(file_name.c_str(), ios::in);
    if (!in.good()) {
        cout << "Couldn't read file.\n";
        exit(1);
    }
    while (!in.eof())
        sentence(in);
    in.close();
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2015, 15:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как переделать с файла на консоль (C++):

Как вывести матрицу из файла в консоль? - C++
У меня есть 3 матрицы 3 на 3. Возник вопрос как их прописывать в файле и затем как их ввести в консоль из файла в виде матриц?

Однонаправленный список: переделать код под консоль - C++
Имеется три файла, помогите пожалуйста, мне нужно эту задачу реализовать в Консольном приложении в Визуал студио 2008, Чтоб на консоль...

Вывод файла на консоль - C++
Мне нужно, чтобы на консоль данные из файла выводились не в строку, а так как они расположены в файле, например: 78877авпв вап ав п87 ...

Вывод бинарного файла на консоль - C++
Имеется структура typedef struct { int n; char name; double price; int amountRealizedGoods; ...

Вывод строк в консоль из файла - C++
Данный метод должен выводить из файла 15 строк, где GetSubject_1() принимает значение 1., при условии что GetSubject_1() принимает значение...

Ввод матрицы из файла и вывод на консоль - C++
Подскажите, в чем проблема. Данные для матрицы берем из файла, а выводим ее на консоль. Вроде все правильно написала, помогите найти...

4
nmcf
5518 / 4828 / 1634
Регистрация: 14.04.2014
Сообщений: 19,608
21.11.2015, 15:40 #2
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
void sentence()
{
    bool state = false;
    char c;
 
    while ((c = сin.get()) != '\n' && isspace(c))
        ;
    if (c == '-')
        state = true;
    else
        state = false;
 
    if (state)
    {
        while (isspace(c));
        cout << c;
        while ((c = cin.get()) != '\n' && state)
        {
            cout << c;
            if (c == '.' || c == '!' || c == '?')
                state = false;
        }
        cout << endl;
    }
}
1
vitalykuzmin
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
21.11.2015, 17:56  [ТС] #3
а что изменить в int main() чтобы полноценно работало?
0
Nosey
1349 / 400 / 107
Регистрация: 22.10.2014
Сообщений: 863
Завершенные тесты: 2
21.11.2015, 19:26 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
std::cin это и есть istream
т.е. меняем мейн:
C++
1
2
3
4
5
6
7
int main()
{
    while (!std::cin.eof())
        sentence(std::cin);
    system("pause");
    return 0;
}
и sentence не трогаем.
1
nmcf
5518 / 4828 / 1634
Регистрация: 14.04.2014
Сообщений: 19,608
21.11.2015, 21:10 #5
Nosey, если так сделать, то как только get() извлечёт '\n' консоль перейдёт в режим ввода и так будет бесконечно.
Вариант автора вообще не верный. Должно быть так:
C++
1
while ((c = in.get()) != EOF && isspace(c))
2
21.11.2015, 21:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2015, 21:10
Привет! Вот еще темы с ответами:

Не могу вывести текст с файла в консоль - C++
Программа выводит только первое слово текста, помогите. #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace...

Чтение файла в кодировке utf-8 и вывод в консоль - C++
Здорова! Пытаюсь прочитать файл в кодировке utf-8 (вот он ) и вывожу его в консоль, ничего не получается. Вот код: #include...

Вывод текста из файла в консоль и его последующее редактирование - C++
Задача состоит в следующем: нужно вывести текст из файла расширением, скажем .txt, в консоль, и далее заниматься его редактированием. То...

Смена адреса расположения файла через консоль в system - C++
Добрый день. У меня файл находится по пути, указанному ниже и меня все устраивает, но есть некоторые проблемы. Во-первых, у других людей...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru