Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 109
Завершенные тесты: 1
#1

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

21.05.2012, 10:38. Просмотров 326. Ответов 0
Метки нет (Все метки)

Ребят, подскажите пожалуйста, почему не считывается матрица. Файл называетсяся 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();                         //очищаем поток
все нормально считывается. В чем здесь проблема?
0
Миниатюры
Не считывается структура  
Вложения
Тип файла: txt info_student.txt (67 байт, 6 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2012, 10:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не считывается структура (C++):

Неправильно считывается структура из файла - C++
Записываю структуру А в файл, затем считываю в структуру В. Символы считываются нормально, а вот цвет фона+символа неправильно. ...

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

Не считывается файл - C++
Вот решил разобраться с пузырьковой сортировкой. Считываю числа из файла в массив. Вопрос:что сделал не так? Компилятор ошибок не находит,...

Структура «База», сущности «Универсам» и «Продукты», структура «Товар» - C++
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

Не считывается строка из строки - C++
недавно делал класс тут в соседней теме, сегодня случайно заметил ошибку, а уже хотел сдавать, помогите пожалуйста :( короче в строке 66...

Неправильно считывается массив - C++
Здравствуйте. Есть класс матриц, один из конструкторов позволяет создать матрицу, используя входные данные: количество строк, количество...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2012, 10:38
Привет! Вот еще темы с ответами:

Не считывается количество пробелов - C++
из файла считываю матрицу, в которой два столбца и много строк. для начала хочу считать количество пробелов в первой строчке. на выходе...

Не считывается строка из файла - C++
Есть динамический массив символов (поле класса). При считывании из файла выдаёт ошибку &quot;CXX0030: ошибка: невозможно вычислить выражение&quot;....

Неверно считывается условие - C++
Собственно программа, вычисляющая суммарную площадь множества четырёхугольников(заданных через 4 точки) внутри окружности с заданным...

Не считывается определённый символ - C++
Проблема с чтением символа. Этот символ содержатся в BMP файле в месте хранения компонентов цвета. Обычный блокнот показывает, что...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.