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

Не считывается структура - C++

Восстановить пароль Регистрация
 
DPS
 Аватар для DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
21.05.2012, 10:38     Не считывается структура #1
Ребят, подскажите пожалуйста, почему не считывается матрица. Файл называетсяся info_student, такого вида:
Иванов 2 4 5 4
Сычев 2 1 5 5
Овсянникова 3 4 5 3
Жирков 3 2 3 3


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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<iostream>  
#include<fstream>           //потоки
using namespace std;
 
struct info_student
{
    char familia[20];       //фамилия студента
    int number_group;       //номер группы
    int oc_geometria;       //оценка геометрия
    int oc_algebra;         //оценка алгебра
    int oc_informatika;     //оценка информатика
};
 
 
int main()
{
    setlocale(LC_ALL,"Rus");    //русский язык
    
    char namefile[40];          //имя файла
 
    cout<<"Введите путь к файлу:  ";
    cin.getline(namefile,sizeof(namefile));
 
    ifstream in(namefile);      //поток ввода
 
    if(in)
        cout<<"Файл успешно открыт"<<endl;
    else
    {
        cout<<"Ошибка открытия файла"<<endl;
        exit(0);                //выходим, если не удалось открыть
    }
 
    cout<<"***********************************"<<endl;
 
    int i=0;
    char buffer[500];                            //хранение строки
 
 
    while(in)                                        //считываем и выводим на экран
    {
        in.getline(buffer,sizeof(buffer));
        cout<<buffer<<endl;
        i++;
    }
 
    cout<<"В файле: "<<--i<<"записи(ей)"<<endl;
 
    cout<<"***********************************"<<endl;
 
    in.clear();                         //очищаем поток
 
    info_student massiv[4];             //создаем массив структур на 4-ре записи
 
    int n;                              //переменная цикла
 
    for(n=0;n<4;n++)                    //считываем в массив данные и выводим на экран
    {
        in>>massiv[n].familia;              //фамилия студента
        cout<<massiv[n].familia<<" ";
 
        in>>massiv[n].number_group;         //номер группы
        cout<<massiv[n].number_group<<" ";  
 
        in>>massiv[n].oc_geometria;         //оценка геометрия
        cout<<massiv[n].oc_geometria<<" ";
 
        in>>massiv[n].oc_algebra;           //оценка алгебра
        cout<<massiv[n].oc_algebra<<" ";    
 
        in>>massiv[n].oc_informatika;       //оценка информатика
        cout<<massiv[n].oc_informatika<<" ";    
 
        cout<<endl;
    }
        
    cout<<"*******************************"<<endl;
 
    in.close();
 
    return 0;
}
Самое интересное, что когда я убираю кусок:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    int i=0;
    char buffer[500];
 
 
    while(in)
    {
        in.getline(buffer,sizeof(buffer));
        cout<<buffer<<endl;
        i++;
    }
 
    cout<<"В файле: "<<--i<<"записи(ей)"<<endl;
 
    cout<<"***********************************"<<endl;
 
    in.clear();                         //очищаем поток
все нормально считывается. В чем здесь проблема?
Миниатюры
Не считывается структура  
Вложения
Тип файла: txt info_student.txt (67 байт, 6 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2012, 10:38     Не считывается структура
Посмотрите здесь:

C++ Неправильно считывается структура из файла
C++ Не считывается символ конца строки
Не считывается файл C++
Структуры.не считывается из файла C++
C++ Долго считывается информация с файла
Не считывается строка из строки C++
Не считывается строка из файла C++
Неправильно считывается массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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