Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 2

Потоковые классы. Работа с файлами

27.05.2016, 05:09. Показов 715. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, фомурчане. Очень нужна ваша помощь. Есть программа, которая находит количество предложений с восклицательным знаком. Нужно как-то сделать вывод последнего восклицательного предложения.
Код:
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
48
49
50
51
#include <fstream>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
using namespace std;
int main()
{setlocale( LC_ALL,"RUS");
char ch;
int k=0;
fstream fin("file.txt", ios::in); 
while(fin)
{fin.get(ch); 
 cout<<ch;
 if (ch=='!') k++; //...
 }
cout<<endl;
cout<<endl;
fin.close();
cout<<"Êîëè÷åñòâî âîñêëèöàòåëüíûõ ïðåäëîæåíèé "<<k<<endl;
int kol=0, pos[10], i=0, n, n1, n2;
fin.close();
fin.open("file.txt", ios::in);
while(getch())
{   
while(fin)
{
 fin.get(ch); 
 if (ch=='.'||ch=='?'||ch=='!') // 
      {        
         pos[i]=kol; 
         i++; 
         if (ch=='!')break; 
       }
 kol++; 
}
n=i-1;
n1=pos[n-1]; n2=pos[n]; kol=0; 
fin.close();
cout<<endl<<endl;
fin.open("file.txt", ios::in);
while(fin)
{
 fin.get(ch);kol++; 
 cout<<ch;
 if(kol==n1+1)  cout<<"<<";
 if(kol==n2+1)  cout<<">>";
}}
fin.close();
return 0;
}
Буду очень благодарна за помощь!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.05.2016, 05:09
Ответы с готовыми решениями:

потоковые классы
напишите пожалуйста, основные методы ввода и вывода в потоковых классах

Потоковые классы
Привет все программистам! Помогите плиз с задание: Реализуйте модуль, подключение которого перегружает операции помещения в поток...

ПОТОКОВЫЕ КЛАССЫ С++
Всем здравствуйте! Опять время сессии , и опять обнаглевший студент просит помощи, в надежде что кто-либо откликнится) нужно на завтро...

1
 Аватар для Геомеханик
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
27.05.2016, 16:00
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 <sstream>
#include <string>
 
int output_lastp(std::ostream& _out, std::istream& _in, char ch){
    int n = 0;
    std::string::size_type i;
    std::string p, s;
 
    while(std::getline(_in, s, ch) && !_in.fail()){
        if(!s.length())
            continue;
 
        if((i = s.find_last_of(".!?")) == std::string::npos)
            i = 0;
        else 
            ++i;
 
        i = s.find_first_not_of(" \t\n", i);
 
        if(_in.good() && (i != std::string::npos)){
            p.assign(s.begin() + i, s.end());
            ++n;
        }
    }
 
    if(p.length() > 0)
        _out << p << std::endl;
    return n;
}
 
int main(void){
    char s[] = "Добрый день, форумчане!!! Очень нужна ваша помощь!"\
               "Есть программа, которая находит количество предложений с восклицательным знаком."\
               "Нужно как-то сделать вывод последнего восклицательного предложения.";
    std::istringstream sp(s);
    output_lastp(std::cout, sp, '!');
 
    //работа с файлом
    std::ifstream fin("input.txt");
    std::ofstream fout("output.txt");
    output_lastp(fout, fin, '!');
    fin.close();
    fout.close();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2016, 16:00
Помогаю со студенческими работами здесь

Потоковые классы, определить количество восклицательных предложений
Добрый день, ув. фомурчане. Нужно сделать программу, которая будет определять количество восклицательных предложений и выводить на экран...

Потоковые классы
Добрый день ! метод mark перемещает указатель в заданную позицию ?

С++. Классы. Работа с файлами
Нужно из сиситемого файла считать информацию, и вывести её в виде таблицы удалив не нужные знаки-разделители. В моем файле это : и буква x....

Контейнерные классы и работа с файлами
Написать программу, которая считывает целые числа из файла, имя которого задается с клавиатуры, в параметризованную коллекцию List&lt;&gt;

Работа с файловой системой: классы Directory и Filе и классы DirectoryInfo и FileInfo
Уважаемые форумчане помогите пожалуйста с практической работой. Программным путем: В папке С:\temp создайте папки К1 и К2. В...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru