Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2011, 06:21   #1
Zalik
Пользователь
 
Регистрация: 21.02.2011
Сообщений: 14
По умолчанию Важно-Работа со строками

Написать программу, которая считывает текст из файла и выводит на экран только
цитаты, то есть предложения, заключенные в кавычки.
У меня свой вариант. Кто может поправить? Очень прошу!!!!!!
Код:
#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;
}

Последний раз редактировалось Stilet; 12.03.2011 в 07:35.
Zalik вне форума Ответить с цитированием
Старый 09.03.2011, 13:42   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Код:
	char line[80];

	ifstream fp("1.txt");

	while (!fp.eof()) {
		fp.getline(line,79);
		if (line[0]=='"'&&line[strlen(line)-1]=='"')
			cout << line << endl;
	}
onewho вне форума Ответить с цитированием
Старый 12.03.2011, 06:38   #3
Zalik
Пользователь
 
Регистрация: 21.02.2011
Сообщений: 14
По умолчанию

А можно комментарии?

Большинство ошибок: f - uncleared identifier
error C2228: left of '.seekg' must have class/struct/union
error C2228: left of '.eof' must have class/struct/union
error C1903: unable to recover from previous error(s); stopping compilation
IntelliSense: expected 'while
IntelliSense: identifier "f" is undefined

Последний раз редактировалось Stilet; 12.03.2011 в 07:35.
Zalik вне форума Ответить с цитированием
Старый 12.03.2011, 07:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Смотри внимательно что ты пишешь:
Цитата:
fstream fin("text.txt", ios::in | ios:ut|ios :: trunc);
А везде используешь
Цитата:
f<<line<< endl;
Ты уж определись как у тебя объект называться будет.
Потом. ты используешь
Цитата:
do{
А ты знаешь как этот цикл описывается? Если нет почитай учебник.
Еще момент:
Цитата:
while (strcmp (line, end_word));
Меня эта точка-запятая смущает, она точно тут нужна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со строками... dem1993 Помощь студентам 3 17.12.2010 00:37
C# Работа со строками Rikhard Общие вопросы C/C++ 1 08.12.2010 22:29
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа со строками Андрей.12 Помощь студентам 3 15.11.2009 19:42