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

При заполнении структуры из txt появляется одна дублирующая запись - C++

Восстановить пароль Регистрация
 
Valera1984
1 / 1 / 0
Регистрация: 02.02.2014
Сообщений: 104
21.11.2014, 08:15     При заполнении структуры из txt появляется одна дублирующая запись #1
Как убрать дублирующую запись при заполнении структуры из 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
 
using namespace std;
 
struct Data         
    {
        unsigned day;       
        unsigned month;     
        unsigned year;
    };
 
struct T_student 
{
        int id ;
        char fio[40];
        char facult[20];
        unsigned  kurs;
        Data d_birth;
}; 
 
struct List
{
    T_student student;
    List *next;
};
заполнение:
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
void M_File()
 
    {
            
FILE * f;
char buf[BUFSIZ];
/* открыть файл, проверить, что открылся... */
        
f = fopen ("C:/s.txt","r");
T_student a={0,"","",0,0,0,0};
 
//while ( fscanf(f, "%[^\n]%*c", buf) == 1 )
 while ( fgets(buf,BUFSIZ,f) )
  
{
  
fscanf(f,"%d%s%s%d%d.%d.%d", &a.id, &a.fio, &a.facult,&a.kurs, &a.d_birth.day, &a.d_birth.month, &a.d_birth.year);
List *node = new List;
node->student = a;
node->next = head;
head = node;
}
 
 
fclose(f);
 
    }
вот так выводится

101 PetrovN.I. MF 1 10.12.1992

101 PetrovN.I. MF 1 10.12.1992

102 IvanovI.I. FIST 3 1. 1.1994

103 SidorovN.I. MF 1 10.12.1992

104 AsetrovN.I. MF 1 10.12.1992

108 TabakovN.U. RF 2 2.12.1956
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2014, 08:15     При заполнении структуры из txt появляется одна дублирующая запись
Посмотрите здесь:

C++ Сообщение о ошибке при заполнении массива
Глюк при заполнении массива C++
Ошибка при заполнении C++
C++ SEHException при заполнении вектора
Ошибка при заполнении двусвязного списка C++
C++ ошибка при заполнении массива
Ошибка при заполнении массива C++
Ошибка при заполнении динамического массива C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,197
Завершенные тесты: 1
21.11.2014, 08:29     При заполнении структуры из txt появляется одна дублирующая запись #2
После fscanf вставьте
C++
1
2
if(feof(f))
    break;
Yandex
Объявления
21.11.2014, 08:29     При заполнении структуры из txt появляется одна дублирующая запись
Ответ Создать тему
Опции темы

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