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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2011, 23:58   #1
Елена__
Пользователь
 
Аватар для Елена__
 
Регистрация: 28.05.2011
Сообщений: 37
Восклицание Работа с цитатами

Составить программу,которая считывает текст из файла и выводит на экран только цитаты,то есть предложения,заключенные в кавычки.помогите составить пожалуйста..если за неделю не сдам проги плохо мне будет..сама не сделаю..и знакомые помочь не могут((
Елена__ вне форума Ответить с цитированием
Старый 13.06.2011, 08:55   #2
como
Форумчанин
 
Регистрация: 26.07.2008
Сообщений: 116
По умолчанию

Код:
#include <iostream>
#include <fstream>
#include <istream>

using namespace std;

void print_quotes(istream & in)
{
    bool quote = false;
    char c;

    while(in.get(c))
    {
        if (c == '\"')
        {
            quote = !quote;
            if (!quote)
                cout << endl;
        }
        else if (quote)
        {
            cout.put(c);
        }
    }
}

int main(int argc, char * argv[])
{
    if (argc < 2)
    {
        cerr << "options: <input-file>\n";
        return -1;
    }

    ifstream in(argv[1]);
    if (!in)
    {
        cerr << "failed to open file: " << argv[1] << endl;
        return -1;
    }

    print_quotes(in);
}
como вне форума Ответить с цитированием
Старый 13.06.2011, 10:55   #3
Елена__
Пользователь
 
Аватар для Елена__
 
Регистрация: 28.05.2011
Сообщений: 37
По умолчанию

error LNK2005: _main already defined in 123.obj
Debug/123.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

123.exe - 2 error(s), 0 warning(s)
ошибки выдает((
Елена__ вне форума Ответить с цитированием
Старый 13.06.2011, 18:35   #4
Scaevola
Пользователь
 
Аватар для Scaevola
 
Регистрация: 08.06.2011
Сообщений: 25
По умолчанию

Держи.
Код:
#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
#include <algorithm>
using namespace std;
int main(){
	

string::iterator itr1, itr2;// индексы символов в строке
string str,str1; //строки
char buff; // необязателен
char str_ptr[256]; // строка типа char необходимая для получения строки из файла
ifstream f1;
f1.open ("c:\\2.txt",ios::binary); // файл источник,только чтение
if(!f1){
cout<<"Не удалось открыть файл.\n";
return 1;
}


do{
f1.getline(str_ptr,255); //считываю в буфер 255 символов
str = (const char*) str_ptr; // преобразую строку char в string
itr1=find(str.begin(),str.end(),'"'); // поиск первого знака " в последовательности,номер символа в строке записывается в itr
if (itr1!=str.end()){
	itr2=find(itr1+1,str.end(),'"'); // поиск второго знака "
	
		if(itr2!=str.end()) 
		{
		str.assign(itr1,itr2);// вырезает цитату из строки, itr1 начала подстроки itr2 конец
		cout << str << "\"" <<endl ;//выводит цитату
		
		}// если цитата начинается на одной строке а заканчивается на другой
		else {
		f1.getline(str_ptr,255);
		str1 = (const char*) str_ptr;
		itr2=find(str1.begin(),str1.end(),'"');
		if(itr2!=str1.end()){
			str.assign(itr1,str.end());
			
			str1.assign(str1.begin(),itr2);
			cout << str <<str1 <<"\""<< endl;
			}

		}
}


}while(!f1.eof());
f1.clear(); // обязательно перед закрытие файла очистить биты eof и fail;
f1.close();
if(!f1.good()){
cout<<"Ошибка при закрытии файла";
return 1;
}

cout<<"Программа закончилась без ошибок.Нажмите любую Клавишу.";
cin>>buff;
}

Последний раз редактировалось Scaevola; 13.06.2011 в 20:41.
Scaevola вне форума Ответить с цитированием
Старый 14.06.2011, 04:09   #5
como
Форумчанин
 
Регистрация: 26.07.2008
Сообщений: 116
По умолчанию

Цитата:
Сообщение от Елена__ Посмотреть сообщение
error LNK2005: _main already defined in 123.obj
Debug/123.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

123.exe - 2 error(s), 0 warning(s)
ошибки выдает((
Удали из проекта все остальные файлы, в которых есть функция main. Функция main может быть только одна.
como вне форума Ответить с цитированием
Старый 14.06.2011, 10:43   #6
Scaevola
Пользователь
 
Аватар для Scaevola
 
Регистрация: 08.06.2011
Сообщений: 25
По умолчанию

Цитата:
Объявлять все переменные в начале - это вы с Паскалем попутали
При чем тут паскаль, скорее как в си. Вы видите ошибку в том, что я объявляю переменные в начале, а инициализирую их позже. Объясните.
Scaevola вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00