Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пожалуйста подскажите новичку https://www.cyberforum.ru/ cpp-beginners/ thread10652.html
Добрый день всем! Недавно начал самостоятельно изучать С++ по книге Р. Лафоре « Объектноориентрованое прогаммирование в С++». Книга очень интересная, написано очень доходчиво, но всё равно появляются...
C++ Перемещение в системе координат
День добрый! я в программировании на языке С++, новечек. изучаю самостоятельно обложившись книгами и интернетом. в решении математических задач и в составлении базы данных, а затем в ее сортировке...
Создание часов...подскажите пожалуйста C++
Не подскажите, как сделать часы.. я предполагаю сделать класс, который имел бы функцию часов... Мне нужно чтобы каждые например 15 сек. что-то происходило...например создавался объект...спасибо).
C++ Ошибка при работе delete в деструкторе enum place { first = 1, second }; class Passanger { public: Passanger(); void Call(); void PushButton(); int isFloor(); private: https://www.cyberforum.ru/ cpp-beginners/ thread10579.html
C++ Драйвер ММ-клавиатуры https://www.cyberforum.ru/ cpp-beginners/ thread10533.html
Захотелось написать свой драйвер, точнее обычную программу, которая организует работу мультимедия клавы... По сути надо: 1. перехватить сочетания клавиш 2. Отправить сообщение другой проги или...
C++ Может, есть у кого готовый шаблон теста?
Нужно написать тест вида - Начало теста - Вопрос, варианты ответов - Выбор ответа, и нажатие на "ок" - Далее переход к следующему вопросу - В конце показ количества ошибок и в каких вопросах. ...
Проблемы при работе с файлами C++
доброго времени! возник у меня маленький трабл при работе с файлами. Причем совершенно не могу понять причину. Код такой: int file_read_func(const char* file_name) { char ch; fstream...
C++ С чего лучше начать программировать? Помогите, я не знаю с чего начать программировать? :eek: https://www.cyberforum.ru/ cpp-beginners/ thread10465.html
C++ Записная книжка: Предусмотреть возможность работы с произвольным числом записей https://www.cyberforum.ru/ cpp-beginners/ thread10464.html
помогите Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавления и удаления...
C++ Натяжение текстуры на сферу Здравствуйте, уважаемые! Подскажите, как в OpenGL на сферу натянуть текстуру, хочу создать виртуальный глобус, но не знаю как. Как текстурировать прямоугольник я знаю, а как текстурировать сферу? https://www.cyberforum.ru/ cpp-beginners/ thread10444.html
72 / 72 / 1
Регистрация: 02.08.2008
Сообщений: 107
0

Строки

02.08.2008, 15:08. Показов 4216. Ответов 24
Метки (Все метки)

Приветствую Вас, братья и сёстры. У меня возникла проблемка с простой задачкой из книжки госпожи Павловской. Вот она: написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введённое с клавиатуры слово.
У меня было два варианта решения этой задачи, но после быстрого вымирания моих нервных клеток, первый вариант я отбросил, а вот пример второго:
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
#include <windows.h>
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    ifstream fin("Путь к файлу\\Text.txt", ios::in | ios::nocreate);
    if (!fin) {
        cout<<"Ошибка открытия файла."<<endl;
        cin.get();
        return 1;
    }
 
    fin.seekg(0, ios::end);
    long len=fin.tellg();
    char *buf=new char [len+1];
    char *fub=new char [len+1];
    fin.seekg(0, ios::beg);
    fin.read(buf, len);
    buf[len]='\0';
    char word[20], line[100];
    cout<<"Введите слово: "; cin>>word; cout<<endl;
    long pos;
    while (fin.getline(line, 100)) {
        if (strstr(line,word)) {
            int i, pr_n;
            pos=fin.tellg();
            for (i=pos; i>0; i--) {
                if (buf[i]=='.' || buf[i]=='!' || buf[i]=='?') break;
                pr_n=i;
            }
            for (i=pr_n; i<=pos; i++) cout<<fub[i];
            for (i=pos+1; i<len; i++) {
                cout<<buf[i];
                if (buf[i]=='.' || buf[i]=='!' || buf[i]=='?') break;
            }
            cout<<endl;
        }
    }
    cin.get();
    cin.get();
    return 0;
}
В общем я только начал с этой бредятиной (языком), так что некоторые штучки-дручки мог употребить не правильно. Зарание спасибо за помощь. Если кто поможет и даже код правильный подкинет, то прошу разъяснить там всё, а то слепо не хочется идти дальше...

Добавлено через 1 час 10 минут
я нашёл, где может быть глюк (у меня):
fin.read(buf, len);
наверно после этого указатель становится в самом конце файла, но даже если после этой строки я напишу
fin.seekg(0, ios::beg);
ничего не меняется...

Вернуться к обсуждению:
Строки
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2008, 15:08
Готовые ответы и решения:

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки,...

Удалить строки, начиная со строки К1 и до строки К2 (динамические массивы)
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;stdlib.h&gt; using namespace std; int main() {...

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