Задача на работу с текстовым файлом

Тема в разделе "Общие вопросы по С и С++", создана пользователем Irondust, 28 дек 2008.

  1. Irondust

    Irondust Гость

    Вобщем такая проблемка пишу программку, условие такое: из заданного текстового файла удалить все предложения, содержашие указанное слово. Разбивка оставшегося текста должна соответствовать максимальной заполненности строк.
    Я тут кой чего написал только не работает почему то нифига <_<
    [codebox]#include <fstream.h>
    #include <iostream.h>
    #include <string.h>
    #include <stdio.h>
    #include <conio.h>
    #define FNAME "test.txt\0"
    #define FNAME2 "text.txt\0"
    void main ()
    {char fname[20]=FNAME;
    char fname2[20]=FNAME2;
    FILE *in;
    FILE *out;
    char obr[15];
    char b[1]=" ";
    char word[15];
    char t[1]=".";
    int s[50];
    char c[1]=" ";
    long kon[100];
    long na4;
    long tek2;
    int m=1;
    int k=1;
    int i=1;
    int n=0;
    for (i=0;i<40;i++){s=0;}
    i=1;
    if ((in=fopen(fname,"rb"))==NULL)
    {printf("ERROR OPENING FILE %s", fname);
    getch ();
    return;}

    printf("WORD:");
    scanf(" %s",obr);
    fgetpos (in,&na4);
    while (!feof(in)){

    while (!feof(in)&& *b!=*t){fscanf(in,"%c",&:rolleyes:;}

    fscanf(in,"%c",&c); //Это он типа ищет точки в тексте
    fscanf(in,"%c",&c);
    fgetpos (in,&kon);

    i++;
    *b=*c;
    }

    fsetpos (in,&na4);
    for (m=1;m<i;m++){
    while (!feof(in)&& ftell(in)!=kon[m]){
    fscanf(in,"%s ",word);


    if (strcmp(word,obr)==0){s[k]=1;//ищет совпадения в тексте и зано
    printf("123");}} //сит в массив единичку
    fscanf(in,"%c",&c);

    fscanf(in,"%c",&c);
    k++;}
    k=1;
    fsetpos (in,&na4);
    if ((out=fopen(fname2,"wb"))==NULL)
    {printf("ERROR OPENING FILE %s", fname2);
    getch ();
    return;}
    for (n=1;n<i;n++){
    while (!feof(in)&& ftell(in)!=kon[n]){
    if (s[n]=0){fscanf(in,"s ",&word);//те предложения, у которых единичка
    fprintf(out,"s ",word);} // не записывает в другой файл
    fscanf(in,"%c",&c);
    fscanf(in,"%c",&c);}}

    fclose(in);
    fclose(out);
    getch ();}
    [/codebox]
     
  2. vrotmnenogi

    vrotmnenogi Гость

    Что за дикая смесь С и С++?
    На каком языке нужна программа?
    И еще не совсем понятно условие, что значит: "Разбивка оставшегося текста должна соответствовать максимальной заполненности строк"?
     
  3. Mitov

    Mitov Гость

    середина на половину С+ :unsure:
     
  4. bizybiz

    bizybiz Гость

    vrotmnenogi, а где ты смесь то увидел? По-моему к С++ можно отнести только первые три строки..
     
Загрузка...
Похожие Темы - Задача на работу
  1. elzim
    Ответов:
    0
    Просмотров:
    929
  2. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.117
  3. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.105
  4. MonteCristo
    Ответов:
    1
    Просмотров:
    852
  5. bort
    Ответов:
    1
    Просмотров:
    1.179

Поделиться этой страницей