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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2011, 20:49   #1
Елена__
Пользователь
 
Аватар для Елена__
 
Регистрация: 28.05.2011
Сообщений: 37
По умолчанию лаба по с++

составить программу,которая считывает текст из файла и выводит на экран только предложения,заключенные в кавычки.вот код
Код:
#include<fstream>
#include<iostream>
#include<string>
int main()
{
	std::ofstream
		ofs("test.txt");//sozdayem fail
	ofs<<"To be or not\"to be\",this is the\"question\"";
	//vvodim stroky s citatami
	ofs.close();//zakrivaem fail
	std::ifstream
		ifs("test.txt");//teper' otkrivaem
	if(!ifs.is_open())
	{
		std::cerr<<"File not found";
		return 1;
	}
	//esli fail ydje yspeli ydalit',to exit
	int i=0;
	std::string s;
	while(getline(ifs,s,""))
	{//chitaem slova gde est' kavichki
		if(i%2)
			std::cout<<s<<"\n";
		i+=1;
	}
	ifs.close();
	//zakrivaem fail
}
выдает ошибку.помогите исправить)

Последний раз редактировалось Stilet; 29.05.2011 в 15:47.
Елена__ вне форума Ответить с цитированием
Старый 28.05.2011, 21:12   #2
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

да тут нечего исправлять, нужно заново написать.
потом, в задании сказано, вывести ПРЕДЛОЖЕНИЯ, заключенные в кавычки, в каментах же, хотели вывести СЛОВА в кавычках. если нужно первое, то нужно определить, что является предложением (например - набор слов, первое слово с большой буквы, последний символ ? или ! или .). если слова, то все намного проще
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 28.05.2011 в 21:21.
pproger вне форума Ответить с цитированием
Старый 28.05.2011, 21:20   #3
Елена__
Пользователь
 
Аватар для Елена__
 
Регистрация: 28.05.2011
Сообщений: 37
По умолчанию

хм..заново не знаю как(

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

Последний раз редактировалось Stilet; 29.05.2011 в 15:48.
Елена__ вне форума Ответить с цитированием
Старый 28.05.2011, 22:02   #4
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Елена__
что опять подводит нас к вопросу, а что же такое цитата в контексте задания
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 28.05.2011, 22:58   #5
Елена__
Пользователь
 
Аватар для Елена__
 
Регистрация: 28.05.2011
Сообщений: 37
По умолчанию

я даже не знаю..углубляться очень не надо тут..нужно написать просто чтобы работало и выводило цитаты,то есть то,что в кавычках
Елена__ вне форума Ответить с цитированием
Старый 29.05.2011, 03:08   #6
|Dexter|
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 4
По умолчанию

#include "vector"
#include "fstream"
#include "iostream"
#include "string"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
string Slovo; string citata;
vector<string> str1;
int z=0;
fstream File("C:\\f.txt");
//Если файл не открылся, работа программы завершается
if(!File)
{
cout<<"Файл открыть не удалось";
return 1;
}
//Считываем слова в массив
while(!File.eof())
{
File>>Slovo;
str1.push_back(Slovo);

}

//Проверяем текст на цитаты

for(int i=0; i<str1.size(); i++)
{
citata=str1[i];
if(citata[0]=='\"')
{
i--;
do
{
i++;
citata=str1[i];
cout<<citata<<" ";
}
while(citata[citata.size()-1]!='\"'); //разбираем следующее слово
}
}



cout<<endl;
system("pause");
return 0;
}

//Программа работает с небольшим по объему текстом
//Показывает цитаты вида "Hello word"
//Не определяет " Hello word "
//Если после цитаты стоит запятая, то программа выводит на экран и ее
//что смог сделать))

//У меня на практике в институте почти такие же задания)
|Dexter| вне форума Ответить с цитированием
Старый 29.05.2011, 13:59   #7
Елена__
Пользователь
 
Аватар для Елена__
 
Регистрация: 28.05.2011
Сообщений: 37
По умолчанию

спасибо большое))только у меня в 6 строке ошибку выдает..C:\Program Files\Microsoft Visual Studio\MyProjects\д\г.cpp(8) : error C2061: syntax error : identifier '_TCHAR'
Error executing cl.exe.
Елена__ вне форума Ответить с цитированием
Старый 29.05.2011, 14:16   #8
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Код:
#include <stdio.h>

int main(){
    FILE *file=fopen("in.txt","rt");
    char c=0;
    bool quote=false;
    while(!feof(file)){
        fscanf(file,"%c",&c);
        if(c=='"'){
            if(quote)printf("\n");
            quote=!quote;
        }else if(quote)printf("%c",c);
    };
};
из файла in.txt выводит каждую цитату (т.е. что-то, заключенное в кавычки) на новой строке консоли
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 29.05.2011, 14:53   #9
|Dexter|
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 4
По умолчанию

попробуй так
int main()
или так
int main(int argc, char* argv[])
|Dexter| вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лаба Lyalichka Помощь студентам 7 01.01.2011 23:16
Лаба по СИ vimars Помощь студентам 54 24.12.2009 02:36
Лаба на C++ Suzukava Фриланс 2 14.09.2009 22:51