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

Ошибка при вводе - C++

Восстановить пароль Регистрация
 
//Александр
 Аватар для //Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
27.10.2010, 23:58     Ошибка при вводе #1
мне нужно записать числа с файла в список , подскажите что не так выводит последнее лишнее число не пойму откуда оно берется
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
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
 
struct LIST {
int info;
LIST *next;
};
 
LIST *head,*Prev;
 
int main()
{
    int h,c,s,d;
    c=0;s=0;d=0;
 
 fstream fin,fout;
 
 
fin.open("fin.txt",ios_base::in);
    if(fin.is_open()==false)
        cout << "ошибка открытия fin.txt!!!";
    fout.open("fout.txt",ios_base::out |
                         ios_base::trunc);
    if(fin.is_open()==false)
        cout << "ошибка открытия fout.txt!!!";
 
 head = new LIST;
 LIST* p = head;
 
while( !fin.eof() )
{ 
    
 
  fin >> p->info;
  cout << p->info << endl;
  p->next = new LIST;
   p = p->next;
  
      
}
 
return 0;
}
Миниатюры
Ошибка при вводе  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 00:05     Ошибка при вводе #2
//Александр, Хм. У меня выводит 10 чисел подряд.
1
2
3
4
5
6
7
8
9
10
В файле 10 чисел.

Проблема в том, что в файле у вас образовалась дополнительная строка. Пустая. Удалите ее просто.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.10.2010, 00:05     Ошибка при вводе #3
А если так ?
C++
1
2
if(!fin.eof())
cout << p->info << endl;
Добавить проверку...
//Александр
 Аватар для //Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
28.10.2010, 00:07  [ТС]     Ошибка при вводе #4
в файле записано
1
2
3
4
5
6
7
8
9
откуда берется -842150... не пойму
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 00:07     Ошибка при вводе #5
//Александр, Проблема в том, что в файле у вас образовалась дополнительная строка. Пустая. Удалите ее просто.
//Александр
 Аватар для //Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
28.10.2010, 00:11  [ТС]     Ошибка при вводе #6
сейчас проверю по поводу строчки и добавлю проверку

Добавлено через 1 минуту
Lavroff, Спасибо действительно была лишняя строка в файле
Yandex
Объявления
28.10.2010, 00:11     Ошибка при вводе
Ответ Создать тему
Опции темы

Текущее время: 16:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru