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

Помогите найти ошибку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Основные операции с текстовыми файлами http://www.cyberforum.ru/cpp-beginners/thread391952.html
Доброго времени суток! Помогите перевести программку с паскаля на С++. Зарание большое спасибо. Program Text; const add1='test.txt'; add2='test2.txt'; var f,f2:text;
C++ Известна оценка каждого ученика по физике... Известна оценка каждого ученика по физике, посчитать сколько пятерок, количество человек в классе, четверок, трояк, и двоек.. http://www.cyberforum.ru/cpp-beginners/thread391939.html
Квадратная матрица C++
Помогите решить: Дана квадратная матрица. Найти строчку с наибольшим и наименьшим произведением элементов. Вывести на печать полученные суммы их элементов.
C++ в файл записать элементы массива
Привет. Ребята, пожалуйста, помоготе. У меня уже мозг едет, не могу написать программу. Задача така: Надо в файл записать элементы массыва, которые кратные 5. У меня туго с программированием (меня предки заставили его учить, а я его ненавижу). Помогите, пожалуйста...
C++ Заменить заданную строку матрицы а на вектор b http://www.cyberforum.ru/cpp-beginners/thread391920.html
Дана 4х4 , вектор b размерностью 4. Заменить заданную строку матрицы а на вектор b. Номер строки матрицы а вводить с клавиатуры. Матрицу и вектор инициализировать в программе. Добавлено через 13 минут язык Си
C++ Проверить, совпадают ли два введённых слова 1. Проверить, совпадают ли два введённых слова (есть решённая) 2. Вставить вместо "т", стоячей на нечётном месте букву "у". Помогите со вторым вопросом подробнее

Показать сообщение отдельно
Arzhik
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 3
25.11.2011, 22:41     Помогите найти ошибку
Задание: Написать программу, которая считывает текст из файла и выводит в другой файл и на экран предложения, содержащие максимальное количество знаков пунктуации.

Создала файл text.txt. Прога создает новый файл,но не выводит текст,точнее там пусто. Помогите в чем тут ошибка.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    //FILE *f, *f1;
    char c[1];     // Символьная переменная для считывания из файла
    int  ns   = 0; // номер символа в который мы будем перемещены для считывания предложения с макс кол-вом знаков препинания
    int  maxp = 0; // количество максимальных знаков препинания
    int  np   = 0; // количество знаков препинания в предложение
    int  nc   = 0; // счетчик символов при обходе предложения
    int  npp  = 0; // номер символа начал предожения
 
    FILE * f;
    fopen_s(&f, "I:\\text.txt", "r"); // открываем файл
 
    while (!feof(f)) { // начинаем обход файла, до тех пор пока не встретим символ EOF
    fread (c, sizeof (char), 1, f); // считываем очередной символ из файла и записываем в буфер c
    nc++; // счетчик символов изменяется на
 
    switch (c[0])
     { // проверяем значение символа
            case ',' : // если знак препинания
                np++; // то количество знаков в предложение увеличивается на 1
                break;
                
            case '.' : // если точка
                if (maxp < np) { // то проверяем, если максимальное значение меньше знаков препинания в предложение
                    maxp = np; // то присвамваем новое значение переменной
                    ns   = npp; // задаем номер символа начала предложения с максимальным числом знаков препинания
                }
                
                npp = nc; // новое значение номер символа, начала предложения, новое предложение
                np  = 0;  // обнуляем счетчик знаков препинания
                break;
        }
    }   
    
    fseek (f, sizeof(char)*ns, SEEK_SET); // перемещаем файловый указатель на предложение с максимальным числом знаков препинания
 
    FILE * f1;
    fopen_s(&f1, "I:\\text2.txt", "w");
 
    while (c[0] != '.')  {                // обходим пока не найдем точку (конец предложения)
        fread  (c, sizeof (char), 1, f ); // считываем очередной символ
        fwrite (c, sizeof (char), 1, f1); // записываем в новый файл наше предложение
        printf ("%c", c[0]);              // и выводим его на экран
    }
 
    fclose (f ); // закрываем файловый дескриптор
    fclose (f1);
 
    printf ("\n");  
    _getch();
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru