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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
S18
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 57
#1

Вывести только предложения, содержащие введенное слово (исправить) - C++

11.04.2013, 17:40. Просмотров 911. Ответов 7
Метки нет (Все метки)

Помогите пожалуйста найти ошибки!!! Программа вроде запускается, но файл не находит!!!

Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.
Код:
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
#include <iostream>  
#include <fstream>  
using namespace std;  
 
int main()  
{  
    char str;  
    cout << "Vvedite slovo";  
    cin >> str;  
    
    char FileName;  
    cout << "Vvedite nazvanie faila: ";  
    cin>>FileName;  
    
    ifstream fin(FileName.c_str());  
if(!fin)  
cout << "Nevozmozhno ontkryt fail." << endl;  
while(!fin.eof())  
{  
string s = "";  
getline(fin,s);  
if(s.find(str,0) != -1)  
cout << s << endl;  
}  
fin.close();  
 
return 0;  
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 17:40     Вывести только предложения, содержащие введенное слово (исправить)
Посмотрите здесь:
C++ Вывести только предложения, содержащие введенное слово
C++ Cчитать текст и вывести на экран только предложения, содержащие введенное с клавиатуры слово.
Считать текст из файла и вывести на экран только предложения, содержащие введенное с клавиатуры слово C++
C++ Считывание текста из файла и вывод на экран только предложения содержащие введенное с клавиатуры слово
C++ Написать программу,которая считывает текст из файла и выводит на экран только предложения,содержащие введенное с клавиатуры слово.
Считать текст из файла и вывести на экран только предложения, которые содержат введенное с клавиатуры слово C++
C++ Списки и файлы. Вывести на экран только предложения, содержащие слово которое ввели с клавиатуры (найти ошибку в коде)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
449 / 298 / 20
Регистрация: 22.03.2011
Сообщений: 966
Завершенные тесты: 2
11.04.2013, 17:47     Вывести только предложения, содержащие введенное слово (исправить) #2
Вы знакомы с таким языком программирования как с++? Я вижу нет). Замените char str и char FileName на std::string это для начала.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.04.2013, 17:48     Вывести только предложения, содержащие введенное слово (исправить) #3
Желательно подключить ещё заголовок <string>
C++
1
2
3
4
5
6
7
char str;  
    cout << "Vvedite slovo";  
    cin >> str;  
    
    char FileName;  
    cout << "Vvedite nazvanie faila: ";  
    cin>>FileName;
В этой конструкции вы хотите прочитать целое слово в один байт... замените тип char на string
S18
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 57
11.04.2013, 17:59  [ТС]     Вывести только предложения, содержащие введенное слово (исправить) #4
Спасибо! Заменил, но файл всё равно не находит!
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.04.2013, 18:02     Вывести только предложения, содержащие введенное слово (исправить) #5
Файл должен находится в одной директории с программой.
S18
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 57
11.04.2013, 18:37  [ТС]     Вывести только предложения, содержащие введенное слово (исправить) #6
Спасибо!!!
A78
0 / 0 / 0
Регистрация: 22.03.2013
Сообщений: 20
11.04.2013, 19:25     Вывести только предложения, содержащие введенное слово (исправить) #7
Подскажите пожалуйста, что значат строчки:
C++
1
2
3
4
5
while(!fin.eof())  
{  
string s = "";  
getline(fin,s);  
if(s.find(str,0) != -1)
C++
1
ifstream fin(FileName.c_str());
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 21:17     Вывести только предложения, содержащие введенное слово (исправить)
Еще ссылки по теме:
C++ Вывести предложения, которые содержат введенное с клавиатуры слово
Вывести на экран предложения из файла, которые содержат введенное с клавиатуры слово C++
Вывести на экран все слова предложения, содержащие в качестве подстроки слово w C++
C++ Считать текст из файла и вывести на экран только предложения, не содержащие запятых
Вывести на экран только предложения, содержащие двузначные числа (строки: string) C++

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

Или воспользуйтесь поиском по форуму:
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.04.2013, 21:17     Вывести только предложения, содержащие введенное слово (исправить) #8
ifstream fin(FileName.c_str()); - открывает поток input file stream (на приём из файла).
C++
1
2
3
4
5
while(!fin.eof())  // пока не конец файла
{  
string s = "";  // вообще не обязательно
getline(fin,s);  // записать полученную строку с файла в s
if(s.find(str,0) != -1) // если найдена подстрока str в строке s...
Yandex
Объявления
11.04.2013, 21:17     Вывести только предложения, содержащие введенное слово (исправить)
Ответ Создать тему
Опции темы

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