Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подтолкните в правильном направлении..! 
:(
    Опции темы
PerfectEnemy
Дата 1.5.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.5.2008

Репутация: нет
Всего: нет



Я написал программу, но она не работает так, как мне нужно! Программа должна выводить на экран словаиз файла, состоящие из 10 букв. Вот то, что я "намалевал", но оно выводит только результат работы первого оператора cout. Помогите дополнить или исправить программу. Спасибо всем, кто откликнется!

Код

//---------------------------------------------------------------------------

#pragma hdrstop
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
#include "windows.h"
#include <string.h>
//---------------------------------------------------------------------------

#pragma argsused

char* rus(char* str){
CharToOem(str, str);
return str;
}
int main(int argc, char* argv[])
{
cout<<rus("\t Ищем слова из десяти букв\n");
const int len = 10;
char string[255], word[len];
ifstream file("text.txt", ios::in | ios::nocreate);
while (!file.eof()){
            while(file.getline(string, sizeof(string))){
              if (strstr(string, word)){
                cout<<word<<endl;
                  return 0;
                  }
         }
}

getch();
    return 0;
}
//---------------------------------------------------------------------------

 ! 
archimed7592
Не забываем пользоваться кнопкой "Код" или тэгами [code=xxx][/code]


Это сообщение отредактировал(а) archimed7592 - 1.5.2008, 14:28
PM MAIL   Вверх
maxim1000
Дата 1.5.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Цитата(PerfectEnemy @  1.5.2008,  13:59 Найти цитируемый пост)
              if (strstr(string, word)){
                cout<<word<<endl;
                  return 0;

а какой смысл в рамках описанной задачи имеют эти строки?


--------------------
qqq
PM WWW   Вверх
PerfectEnemy
Дата 1.5.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.5.2008

Репутация: нет
Всего: нет



if (strstr(string, word)){
                cout<<word<<endl;
                  return 0;
                  }
Я прочитал, что strstr() выполняет поиск подстроки, в данном случае слова word, в строке string.C помощью этих строк я и пытался найти слово word в строке string заданного файла. Но, увы, ничего у меня не получается. Если не трудно подскажите, что и как.
PM MAIL   Вверх
Graf_h
Дата 1.5.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: нет
Всего: 5



Код

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>

........................

std::ifstream NameFile(fileName);
char line[255];
std::string str;
   if (!NameFile.fail()){
         while (!NameFile.eof()){
          NameFile.getline(line,255);
                                    str=line 
                                    std::istringstream strLine(str);
                                    std::string new_str;
                                          while(strLine>>new_str){
                                              if (new_str.length()==10){
                                                       std::cout<<new_str<<std::endl;
                                                     }
                                            }
                            }
   }


Примерно так  smile 

Это сообщение отредактировал(а) Graf_h - 1.5.2008, 14:53


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
maxim1000
Дата 1.5.2008, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Цитата(PerfectEnemy @  1.5.2008,  14:30 Найти цитируемый пост)
C помощью этих строк я и пытался найти слово word в строке string заданного файла.

strstr используется для поиска конкретного слова в строке
в задаче нам подходят любые, имеет значение только длина
задачи подобного рода можно решать так:
1. делаем какой-то пример (не очень большой)
2. решаем здачу на нём вручную
3. записываем тот же алгоритм, только в C++
т.е. функции всякие - это потом
для начала стоит сформулировать алгоритм в словах


--------------------
qqq
PM WWW   Вверх
PerfectEnemy
Дата 1.5.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.5.2008

Репутация: нет
Всего: нет



Алгоритм для меня понятен, я должен открыть файл для чтения
Код

ifstream file("text.txt", ios::in | ios::nocreate);

затем построчно считывать текст из файла
Код

 while(file.getline(string, sizeof(string))){
}

далее я должен просматривая каждую строку искать в ней слово заданной длины, но не получается у меня это сделать, по всей видимости из-за того, что функция, которая может мне помочь это сделать ускользнула от моего внимания или не попадалась мне вообще. 
PM MAIL   Вверх
Graf_h
Дата 2.5.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: нет
Всего: 5



Цитата(PerfectEnemy @  1.5.2008,  22:48 Найти цитируемый пост)
далее я должен просматривая каждую строку искать в ней слово заданной длины, но не получается у меня это сделать, по всей видимости из-за того, что функция, которая может мне помочь это сделать ускользнула от моего внимания или не попадалась мне вообще. 

Смотрите мой пример


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
maxim1000
Дата 2.5.2008, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Цитата(PerfectEnemy @  1.5.2008,  22:48 Найти цитируемый пост)
затем построчно считывать текст из файла

а зачем построчно?
в условии задачи ничего про строки нету smile
так что единственная причина, по которой надо было бы читать строки - способ реализации
но и там (т.е. в C++) есть возможность просто читать слова (т.е. группы непробельных символов между пробельными):
Код

ifstream file("text.txt",ios::nocreate);//ios::in здесь не нужен, т.к. ifstream уже предназначен только для чтения
std::string word;
file>>word;//здесь будет первое прочитанное слово
file>>word;//здесь - следующее
//и т.д.



--------------------
qqq
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0713 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.