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

Как определить конец файла? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ список http://www.cyberforum.ru/cpp-beginners/thread269912.html
Даны натуральные числа k, m, n символы s1, ... , sk, t1, ... , tm, u1, ... , un. Получить по одному разу те символы, которые входят одновременно во все три последовательности. Нужно сделать с помощью списка.
C++ Функция f(x) Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. Функция f(x): f=arctg x+ln2 x2 : a=1 b=3 http://www.cyberforum.ru/cpp-beginners/thread269908.html
не вижу ошибки C++
программа компилируется,но выводит какие то иероглифы,помогите найти ошибки #include<assert.h> #include<iostream> #include<string> static const int N = 3; //количество "карточек" в массиве static const int char_size = 256; class note{ public: char family_name;
отладить программу C++
программа компилируется,но выводит какие то иероглифы,помогите найти ошибки #include<assert.h> #include<iostream> #include<string> static const int N = 3; //количество "карточек" в массиве static const int char_size = 256; class note{ public: char family_name;
C++ спользуя прямоугольную матрицу сформировать два вектора: первый, полученный путём сложения элементов строк матрицы... http://www.cyberforum.ru/cpp-beginners/thread269875.html
Используя прямоугольную матрицу сформировать два вектора: первый, полученный путём сложения элементов строк матрицы, а второйЯ, полученный умножением матрицы на первый вектор.
C++ Константные функции-члены ? Для чего использовать #define ? не имеют права изменять поля класса почему ? class Array { ... inline double operator (int n) const; объявлен константной функцией-членом: class X { public: //??? подробнее

Показать сообщение отдельно
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
08.04.2011, 16:53  [ТС]     Как определить конец файла?
Добрался в справочнике до feof, вроде работает, попробовал его на этой же задаче
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
main(){
    FILE *f;
    char a;
    int c=0;
    f=fopen("input.txt","r");
    freopen("output.txt","w",stdout);
    while(true) {
        fscanf(f,"%c",&a);
        c+=(int)a-48;
        if (feof(f)) break;
        fscanf(f,"%c",&a);
        c-=(int)a-48;
        if (feof(f)) break;
        }
    printf("%s",(c%11==0)?("YES"):("NO"));
    fclose(f);
    return 0;
}
Почему-то лишний раз считывается последняя цифра, следовательно неправильный ответ. Ничего после числа не стоит.
При введенном числе 121 считывает 1,2,1,1 и только потом находит конец файла.
В чем ошибка?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru