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

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

Восстановить пароль Регистрация
 
Darina_T
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 15
30.11.2013, 14:07     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #1
Помогите, пожалуйста, написать программу, которая считывает текст с файла и выводит в другой файл и на экран сначала вопросительные, а потом восклицательные предложения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2013, 14:07     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения
Посмотрите здесь:

C++ Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения
Двоичные файлы.Дано предложение.Создать файл и вывести в него все символы этого предложения,отличные от знаков препинания.Вывести содержимое на экран. C++
C++ Считать текст из файла и вывести на экран сначала вопросительные, затем восклицательные предложения
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения. C++
C++ Текстовый файл, повествовательные предложения заменить на восклицательные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darina_T
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 15
02.12.2013, 01:51  [ТС]     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #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
#include<iostream>
#include<fstream>
#include<string>
int main()
{
using namespace std;
string filename;
cuot<<"Enter name for new file:";
cin>>filename;
fout<<"For your eyes only!\n";
cout<<"Enter your secret number:";
float secret;
cin>>secret;
fout.close();
ifstream fin(filename.c_str());
cout<<"Here are the contents of"<<filename<<":\n";
char ch;
while (fin.get(ch))
cout<<ch;
cout<<"Done \n";
fin.close();
return 0;
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
02.12.2013, 02:15     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #3
Предложения в файле записаны как одно на строку?
Darina_T
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 15
02.12.2013, 02:23  [ТС]     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #4
Думаю, да.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
02.12.2013, 02:34     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #5
А с обычными предложениями что делать?

Добавлено через 7 минут
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
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs)
        return 1;
    std::ofstream ofs("output.txt");
    std::vector<std::string> vec;
    std::string line;
    // пока считали строку с входного файла
    while (std::getline(ifs, line))
    {
        if (line.back() == '!') // если восклицательное предложение - запоминаем
            vec.push_back(line);
        else                   // иначе выводим на экран и в файл
        {
            std::cout << line << std::endl;
            ofs       << line << std::endl;
        }
    }
    // выводим все что осталось (все восклицательные предложения)
    for (auto &s: vec)
    {
        std::cout << s << std::endl;
        ofs       << s << std::endl;
    }
}
Darina_T
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 15
02.12.2013, 03:15  [ТС]     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #6
Игнорировать или просто не вписывать в исходный файл. А файлы input.txt и output.txt сохранять в проект с программой?

Добавлено через 25 минут
Ошибки в строчке
for (auto &s: vec)
1)невозможно вывести тип auto (требуется инициализатор)
2)требуется выражение
Darina_T
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 15
03.12.2013, 18:55  [ТС]     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #7
Скажите, пожалуйста, в чем ошибка?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 17:52     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
06.12.2013, 17:52     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения #8
Цитата Сообщение от Darina_T Посмотреть сообщение
Ошибки в строчке
for (auto &s: vec)
1)невозможно вывести тип auto (требуется инициализатор)
2)требуется выражение
это С++11. Могли бы и переписать под ваш компилятор вывод по поясняющему комментарию.
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 <fstream>
#include <iostream>
#include <string>
#include <vector>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs)
        return 1;
    std::ofstream ofs("output.txt");
    std::vector<std::string> vec;
    std::string line;
    // пока считали строку с входного файла
    while (std::getline(ifs, line))
    {
        if (line.back() == '!') // если восклицательное предложение - запоминаем
            vec.push_back(line);
        else                   // иначе выводим на экран и в файл
        {
            std::cout << line << std::endl;
            ofs       << line << std::endl;
        }
    }
    // выводим все что осталось (все восклицательные предложения)
    for (std::vector<std::string>::const_iterator cit = vec.begin();
        cit != vec.end(); ++cit)
    {
        std::cout << *cit << std::endl;
        ofs       << *cit << std::endl;
    }
}
Yandex
Объявления
06.12.2013, 17:52     ООП. Вывести в файл и на экран сначала вопросительные, а потом восклицательные предложения
Ответ Создать тему
Опции темы

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