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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2009, 20:05   #1
positivemann
 
Аватар для positivemann
 
Регистрация: 16.11.2009
Сообщений: 3
Вопрос Работа со строками в Turbo C++

Привет всем творцам двухкодового и не только Нужна ваша помощь. Есть задача по поводу работы со строками:
"Из текстового файла неизвестного размера вывести на экран все предложения, не содержащие запятых." Есть код по по поиску и выводу предложений с вопросительным знаком, они вроде и похожи, но как не пытался под свою изменить - не получается (пишу на Turbo C++), вот код проги с вопросительными знаками:
Код:
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <string> 
using namespace std;
 
 char bufRus[256];
 char* Rus(char* mes)
  { AnsiToOem(mes, bufRus);
         return bufRus;
   }
int main(void)
{  char ch[2]; FILE * f;
  f=fopen("D:\\FileTXT\\text2.txt","r");
  if (f == NULL)
         { cout << Rus("Файл  не найден!\n");
           getch(); return 1;
      }
 
// определяем длину файла
 
    fseek(f,0,SEEK_END); long len=ftell(f);
 
// выделяем буфер необходимого размера
 
    char *buf=new char[len+1];
 
// смещаем указатель на начало файла и
// считываем файл в буфер
 
    fseek(f,0,SEEK_SET);
    fread(buf, len,1, f); buf[len]='\0';
// выделение предложений из текста
  long n = 0; // позиция начала предложения
  long i=0, j=0, kol=0;
  while(buf[i])
   { if (buf[i]== '?')
          { //вывод символов вопросительного предложения
                for(j=n; j<=i;j++)
                {ch[0]=buf[j]; ch[1]='\0';
                 cout << Rus(ch);
                 } kol++;
                 n=i+1;
          }
         if (buf[i]=='.' || buf[i]== '!') n=i+1;
        i++;
   }  fclose(f); cout << endl;
 cout <<  "\n kol = " << kol;
 cout << Rus("\n Для выхода нажмите <Enter>:");
 getch(); return 0;
}
Пробовал изменять, либо вообще ничего не выдаёт, либо, напихав туда циклов, выдаёт кучу смайлов, ржёт, наверно). В общем помогите, чем можете или посоветуйте действенный учебник, чтобы написан был приятно и понятно. Буду признателен
positivemann вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками. tae1980 Microsoft Office Excel 2 18.04.2009 16:38
Работа со строками konkonych Помощь студентам 4 09.04.2009 15:18
Работа со строками. Turbo Pascal JayDe Помощь студентам 14 25.03.2009 20:20
Работа со строками (С/С++) 4ery Помощь студентам 3 24.12.2008 22:54
Работа со строками Nividimka Помощь студентам 11 03.03.2007 15:58