Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390

Запись объектов в класс

03.12.2014, 23:16. Показов 2167. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прочел несколько тем, прогуглил, прочел несколько статей про эту тему, не смог найти подходящий вопрос.
Класс студентов. Как записать информацию об объектах в файл? Просто записать, ничего больше, уже 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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
//student.cpp
#include "stdafx.h"
#include "students.h"
#include <iostream>
#include <time.h>
using namespace std;
 
students::students(void)
{
}
 
 
students::~students(void)
{
}
 
void students::StudentRegister()
{
    srand(time(NULL));
    cout<<"Name: "; cin>>name;
    cout<<"Second name: "; cin>>sname;
    cout<<"Faculty: "; cin>>faculty;
    for(int i=0;i<20;i++)
        assessments[i]=rand()%4+2;
}
 
void students::StudentOut()
{
    cout<<"Name: "<<name<<endl
        <<"Second name: "<<sname<<endl
        <<"Faculty: "<<faculty<<endl;
    cout<<"Assessments of "<<sname<<": ";
    for(int i=0;i<20;i++)
        cout<<assessments[i]<<" ";
    cout<<endl<<endl;
}
 
int students :: av_rating()
{
    int result=0;
    for(int i=0;i<20;i++)
        result+=assessments[i];
    result/=20;
    return result;
}
 
void students::GetName()
{
    cout<<name;
}
 
void students::GetSecName()
{
    cout<<sname;
}
 
//proba.cpp
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <string.h>
#include <ctime>
#include "fstream"
#include "students.h"
using namespace std;
 
 
int main()
{
    int size;
    ifstream base;
    base.open("D:\\base.txt",ios::app);
    cout<<"Enter number of students: "; cin>>size;
    students* group=new students [size];
    for(int i=0;i<size;i++)
        {
            group[i].StudentRegister();
            cout<<endl;
    }
    system("cls");
    for(int i=0;i<size;i++)
        {
            group[i].StudentOut();
            base<<group[i].GetName(); //Вот здесь выдает ошибку.
 
        }
 
    int BestRating=group[0].av_rating(), index=0;
    for(int i=0;i<size;i++)
        if(group[i].av_rating()>BestRating)
            {
                BestRating=group[i].av_rating();
                index=i;
        }
 
        cout<<"The best student is "; group[index].GetName();
        cout<<" "; group[index].GetSecName();
        cout<<", whos average rating is "<<BestRating<<endl;
        for(int i=0;i<size;i++)
 
        system("pause");
    delete group;
    return 0;
}
 
//students.h
#pragma once
class students
{
private:
char name[15];
char sname[20];
char faculty[10];
 
int assessments[20];
public:
 
    void StudentRegister();
    void StudentOut();
    int av_rating();
    void GetName();
    void GetSecName();
    students(void);
    ~students(void);
 
    
 
 
};

Ошибка от компилятора
1>c:\users\asus\documents\visual studio 2012\projects\proba\proba\proba.cpp(27): error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "void" (или приемлемое преобразование отсутствует)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2014, 23:16
Ответы с готовыми решениями:

Иерархия геометрических объектов: клас точка->класс квадрат->класс прямоугольник
Иерархия геометрических объектов: класс точка-&gt;класс квадрат-&gt;класс прямоугольник. Построить эту иерархию наследованием.. Прошу помочь -...

Класс коллекций объектов
Задача стоит следующая: Создать класс, содержащий коллекцию объектов, методы для включения и удаления элементов, вывода содержимого...

Запись объектов в файл
Пишу сейчас 2д игру на С++, нужно сделать таблицу рекордов, думаю сделать какую нибудь структуру или же клас отсюда и вопрос как тот же...

22
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
05.12.2014, 23:33  [ТС]
Студворк — интернет-сервис помощи студентам
Tulosba, Спасибо, учту, но не подскажете что делать с проектом? скинул я вам проект весь(без новой переделки )

Добавлено через 3 минуты
скажите пожалуйста, я уже второй день не понимаю почему такие ошибки вылетают, просто невозможно представить такие ошибки, видимо температура у компилятора.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
05.12.2014, 23:39
Лучший ответ Сообщение было отмечено AnonymC как решение

Решение

Как минимум, исправить students.h на такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <string>
 
class students
{
private:
    std::string name;
    std::string sname;
    char faculty[10];
    int assessments[20];
public:
    void StudentRegister();
    void StudentOut();
    int av_rating();
    std::string GetName();
    std::string GetSecName();
    students(void);
    ~students(void);
};
А вообще, надо подходить к задаче с умом. Лично у меня сложилось впечатление, что код был написан совершенно без понимания того, что он делает и как должен выглядеть. Базовые вещи надо подтянуть, литературу почитать.
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
06.12.2014, 00:35  [ТС]
Tulosba, вы эксперт. Сработало, спасибо

Добавлено через 1 минуту
Цитата Сообщение от Tulosba Посмотреть сообщение
А вообще, надо подходить к задаче с умом. Лично у меня сложилось впечатление, что код был написан совершенно без понимания того, что он делает и как должен выглядеть
Я если честно максимально правильно пытался написать код. Я забыл тему Класс во время службы. Все что я написал, это ты научили в универе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2014, 00:35

Запись объектов в файл
Существует класс #include &lt;string&gt; #include &lt;iostream&gt; using namespace std; #pragma once class BD { private: string...

Запись объектов в файл
Могут ли возникнуть проблемы при считывании объекта (функцией read), если перед этим в файл были записаны объекты такого класса: class...

Запись объектов в файл
Как в с++ реализовать запись масива класов в файл?

Запись в файл массива объектов
уже 3 часа мучаюсь, не могу записать у файл массив обьектов. у меня есть Redactor *listFigures; int n; как записать и...

Бинарные чтение/запись объектов
Всем привет. Люди добрые - поможите пожалуйста :) Написал такой код: #include &lt;iostream&gt; #include &lt;fstream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru