Среда, 16.07.2025, 07:51
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
.:: Меню ::.
.:: Категории каталога ::.
Разное [5]
Различные темы по программированию
Пакет SWT [4]
Практикуемся в написании оконных приложений на Java
Среды разработки, компиляторы и т.п [3]
Сравнения, описания, плюсы и минусы сред разработки. Сравнение компиляторов.
Java [8]
Объектно-ориентированные соображения.
Си++ [19]
Коротко и ясно
Ассемблер [6]
Машинные коды, побитно :)
Форма входа
.:: Поиск ::.
.:: Дополнительно ::.
    Хостинг от Loqo.ru
             .:: Коментируем ::.
Главная » Статьи » Текстовый материал » Си++

Лабораторная №5 продолжение
Code

#include <string.h>
#include <stdio.h>

void main (void)
{
  FILE *in, *out;
  char ch, find[50];
  int line=0;
  int count=0;
char *name1 = "text.txt", *name2 = "text.log";
if ((in=fopen(name1, "r"))==NULL)
  std::cout << "ERROR" << std::endl;
else
{

  printf ("Input the string: ");
  scanf ("%s", find);
printf ("Length: %i\n", strlen(find));

while (!feof(in))
{
  ch = getc(in);
  printf ("(Scan) %c, ",ch);
  if (ch==char(10)) line++;
  if (ch==find[0])
  {
  printf ("\nFind in %i\n", line);
  for (int i=1; i<(int)strlen(find);i++)
  {
  ch = getc(in);
  printf ("(Find first) %c, ",ch);
  printf ("(Find) %c\n",find[i]);
  if (ch==find[i]) count++; else break;
  }
  printf ("Count: %i\n", count);
  if (count+1 == strlen(find)) printf ("OK\n");
  count=0;
  }
  //printf ("%c",ch);
}
printf ("\n");

fclose (in);

system("pause");}
}

Кириллицу не добавлял.
Результат работы программы довольно интересный, в стиле шпионских боевиков.

Файл text.txt например выглядит так:

Code

sdfsdf sdfsdfwefw vbggege
sdfwerwervcx
qwsaxc kagfbu
refdfvfv ewerwf find me sdf wer
wer fds bgtyuy uikmuj
wer wer sdfsfsdf

Будем искать слово wer.

Итак, открываем файл text.txt на чтение, вводим искомое слово.
Искомое слово сохраняется в массиве из 50-и элементов типа char.
Далее знакомый нам уже цикл, работающий до конца файла.
При сканировании символа на экран выводится подсказка "(Scan)".
Сравниваем символ с первым символом искомого слова, затем если оно похоже, в цикле проверяем остальные.
Принадлежность слова к искомому проверяется сравнением количества найденных символов с количеством в введённом слове. При этом выводится слово "OK".

В общем пощупайте, лишний вывод на экран нужно убрать, иначе эта программа больше похожа на отладочный вариант. (что в принципе, так и есть)

Удачи

Категория: Си++ | Добавил: C0demaker (27.01.2010)
Просмотров: 1283 | Рейтинг: 0.0/0
Всего комментариев: 0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ant1 © 2025