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

Cчитать текст из файла и вывести на экран только цитаты - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.65
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
19.02.2011, 07:14     Cчитать текст из файла и вывести на экран только цитаты #1
Написать программу, которая считывает текст из файла и выводит на экран только
цитаты, то есть предложения, заключенные в кавычки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2011, 07:14     Cчитать текст из файла и вывести на экран только цитаты
Посмотрите здесь:

C++ Cчитать текст из файла и вывести на экран предложения, начинающиеся с тире
написать программу в динамическом массиве , которая считывает текст из файла и выводит на экран только цитаты C++
Вывести на экран все цитаты из файла C++
C++ Cчитать текст и вывести на экран только предложения, содержащие введенное с клавиатуры слово.
написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
19.02.2011, 11:49     Cчитать текст из файла и вывести на экран только цитаты #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<fstream>
 
int main(){
    std::string s;
    std::cout<<"File path= \n";
    getline(std::cin, s);
    std::fstream fs(s.c_str());
    if(!fs){std::cerr<<"File not found"; return 1;}
    int cou=0;
    while(getline(fs, s, '"')){
        if(cou%2) std::cout<<s<<"\n";
        ++cou;
    }
}
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
09.03.2011, 06:00  [ТС]     Cчитать текст из файла и вывести на экран только цитаты #3
Извините пожалуйста, но файл показывает, что файл не найден. Что делать?
У меня свой вариант. Кто может поправить? Очень прошу!!!!!!


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
52
53
54
55
56
#include <stdio.h>
#include <conio.h>
#include <fstream>
#include "stdafx.h" 
#include <iostream> 
#include <fstream> 
#include <string> 
 
using namespace std; 
 
int main() 
{ 
     setlocale(LC_ALL, "Russian"); 
 
    const int len = 81; 
    char line[len], end_word[] = "done"; 
cout << "Programma dly izvlecheniya citat iz texta:\n ";
cout << "----------------------------------------------------------\n";
cout << "\n";
fstream fin("text.txt", ios::in | ios::out|ios :: trunc);
if (!f) { cout << "Ne udaetsya otkrut fail." << endl; return -1; }
do
{
    cin>> line;
    f<<line<< endl;
    while (strcmp (line, end_word));
    f.seekg(0);
    cout<< "Содержимое файла: "<<endl;
    while (!f.eof())
    {
        f>> line;
        cout<< line << endl;
    }
    f.clear();
    f.seekg(0);
    long n,i,j = n = i = 0, flag=-1;
    while (line[i]) {
    if( line[i] == 34 ) // код кавычки
      if( flag<0 ) flag = i; /* запомним откуда начать */
      else /* это вторая кавычка - начинаем писать */
      {
        for( j = flag; j <= i; j++) cout << line[j];
        flag = -1; /* сбросим флаг */
      }
    i++;
}
}
f.close();
cout << "\n";
cout << "\n";
cout << "---------------------------------------------------------\n";
cout << "Spasibo za ispolzovanie programmu.\n";
cout << endl;
getch();
return 0;
}
Добавлено через 12 часов 23 минуты
Помогите пожалуйста.....
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
12.03.2011, 06:34  [ТС]     Cчитать текст из файла и вывести на экран только цитаты #4
Помогите......
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
12.03.2011, 07:01     Cчитать текст из файла и вывести на экран только цитаты #5
А где находится файл text.txt, которая программа должна прочитать?
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
12.03.2011, 10:29     Cчитать текст из файла и вывести на экран только цитаты #6
Пример рабочий, можно только его подправить например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
 
void main()
{
    std::ifstream ifs("test.txt");
    if(!ifs.is_open())std::cout << "File not found";
    int i = 0;
    std::string s;
    while(getline(ifs,s,'"'))   {
        if(i%2) std::cout<<s<<"\n";
        i+=1;
    }
}
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
14.03.2011, 06:35  [ТС]     Cчитать текст из файла и вывести на экран только цитаты #7
А если в программе я хочу создать сначала файл, а уже потом провести поиск?
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
14.03.2011, 09:32     Cчитать текст из файла и вывести на экран только цитаты #8
Как-то так. Создаёте файл, записываете что нужно, а после проводите поиск

C++
1
2
3
4
5
const int LEN = 20;
char buff[LEN];
std::ofstream ofs("test.txt");
ofs.write(buff,LEN);
ofs.close();
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
15.03.2011, 06:21  [ТС]     Cчитать текст из файла и вывести на экран только цитаты #9
LaГushan, Покажи пожалуйста как надо вставить в программу.... Окончательно запутался....
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
15.03.2011, 09:18     Cчитать текст из файла и вывести на экран только цитаты #10
Zalik, всё довольно просто. Если вам надо сначала создать файл, а потом произвести в нём поиск, то делаем так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <fstream>
#include <iostream>
#include <string>
 
int main()
{
    std::ofstream ofs("test.txt"); //создаём файл
        ofs << "To be or not \"to be\", this is the \"question\""; //вводим строку с цитатами
    ofs.close(); //закрываем файл
 
    std::ifstream ifs("test.txt");  //Теперь открываем
       if(!ifs.is_open()){std::cerr<<"File not found"; return 1;} //если файл уже успели удалить, то exit
        int i = 0;
        std::string s;
        while(getline(ifs,s,'"'))       {      //Читаем слова где есть кавычки
                if(i%2) std::cout<<s<<"\n";
                i+=1;
        }
        ifs.close(); //Закрываем файл
}
Если ещё есть вопросы, то советую почитать про ifstream и ofstream
Zalik
2 / 2 / 0
Регистрация: 24.05.2010
Сообщений: 94
16.03.2011, 06:28  [ТС]     Cчитать текст из файла и вывести на экран только цитаты #11
LaГushan, Огромное Спасибо!!!!!!! У нас плохой преподователь, вот и приходиться все самим разгребать........
_KulGun_
 Аватар для _KulGun_
2 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 13
06.02.2014, 17:35     Cчитать текст из файла и вывести на экран только цитаты #12
Что делают эти строчки?

C++
1
2
3
4
5
6
  
 while(getline(ifs,s,'"'))      
    { 
        if(i%2) std::cout<<s<<"\n";
        i+=1;
    }
Каким образом идет поиск слов в кавычках?
Shadow123
1 / 1 / 0
Регистрация: 02.11.2014
Сообщений: 31
11.09.2015, 20:50     Cчитать текст из файла и вывести на экран только цитаты #13
А как написать эту программу, но файла и по-простому?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2015, 19:42     Cчитать текст из файла и вывести на экран только цитаты
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
EGKR
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 91
10.11.2015, 19:42     Cчитать текст из файла и вывести на экран только цитаты #14
Как я понял, ведь в getline (считываем из, в, delim). То есть считывает до delim. Как только его встретили сразу записали. Но так как остаток при первой "записи" будет равен нулю, то мы его не записываем и считаем дальше. И так далее. Просто if(i%2) это же то же самое, что и if(i%2!=0), не так ли?
Yandex
Объявления
10.11.2015, 19:42     Cчитать текст из файла и вывести на экран только цитаты
Ответ Создать тему
Опции темы

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