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

Почему цикл с условием EOF читает последний символ 2 раза? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры из файла http://www.cyberforum.ru/cpp-beginners/thread962883.html
Кто знает как правильно считать данные из файла и распределить содержимое между массивом структур. Подразумевается структура с фамилиями, инициалами, датой, месяцем и годом рождения студента. Не могу понять. Как распределить данные из файла между массивом структур. Будет здорово если поделитесь знаниями или подскажете где их можно найти на доступном языке.
C++ Правильная обработка внештатных ситуаций Как правильно обработать внештатные ситуации, например ОС послала запрос на закрытие процесса или же пользователь решил убить процесс, как я понимаю все внутренне ошибки обрабатывать в try catch, а внештатные ситуации будут попадать в catch ? ведь например если не найден обработчик то вызывается std::terminate и по сути это и есть аварийное завершение работы? как правильно отследить что пришло из... http://www.cyberforum.ru/cpp-beginners/thread962882.html
C++ Компьютер неправильно осуществляет вычисления с числами. Как исправить?
Создал программу для решения уравнений, синтаксических ошибок нет, но в переменной b компьютер выдает неверное значение. Строка 84. Как это исправить? Вот код: #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main(int argc, char* argv) { cout << "Choose tipe of equation:\n1 - Linear\n2 - Square\n3 - Cubic\n";
C++ Почему Не Определён Ctrcmp, тема про заголовочный файл string.h
Здравствуйте вот код, компилятор пишет что не определён ctrcmp, заголовочный файл писал по разному <string.h>,<string>,<cstring>, но всё равно компилятор не согласен, у меня визуал студия. #include <iostream> #include <Windows.h> #include <string.h> using namespace std; int main(){ SetConsoleCP(1251);
C++ Вывести три числа, которые будут равны сторонам треугольника http://www.cyberforum.ru/cpp-beginners/thread962860.html
Привет всем.Только недавно начал учится.Короче такая простая задача:даны 3 переменные типа float надо чтоб она читала и выводила три числа которые будут равны сторонам треугольника....
C++ Изучение C++ или поиск подходящей литературы С программирование знаком достаточно хорошо, понимаю все базовые аспекты программирования, т.е что такое циклы, массивы, ветвления и тому подобное, вот читаю книгу Прата С++ 6 издание, для меня там слишком много воды, разве что память освежить. С ООП ещё не знаком, но что такое, класс, объект в принципе понятно, может вы посоветуете, литературу более подходящую под мой уровень? Т.е больше... подробнее

Показать сообщение отдельно
NillK
 Аватар для NillK
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 11
26.09.2013, 15:48     Почему цикл с условием EOF читает последний символ 2 раза?
Данная программа читает двоичную строку и выводит длину самой продолжительной цепочки нулей.
Почему мой цикл читает 2 раза последнее число?
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
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int main (){
char a;
int i1,i2;
i1 = 0;
i2 = 0;
ofstream out("output.txt");
ifstream in ("input.txt");
while(!in.eof())
{
    in>>a;
    if(a=='0')
    i1++;
    else i1 = 0;
    if(i1>i2)
    i2=i1;
 
}
out<<i2;
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru