Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285

Ошибка при работе с классами

20.05.2015, 18:57. Показов 1439. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выдаёт ошибки:
1) expected primary-expression before "[" token; в строках (25, 27, 29, 32, 37, 38, 39, 50, 51). Скорее всего я неправильно вызываю объекты класса.
2) `cmp' undeclared (first use this function) и (Each undeclared identifier is reported only once for each function it appears in.) в 32 строке

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
#include <iostream>
#include <iomanip>
#include <stdlib.h>
 
using namespace std;
 
class aeroflot{
      char name [30];
      int number;
      char type [30];
      };
 
int main(){
    char type[30];
    int i = 0;
    int kol = 0;
    int n;
    setlocale(LC_ALL, "Russian");
        cout << "Сколько записей вы хотите ввести? (максимум 7) \n"; 
        cin >> n;
        
        //Ввод записей
        for (i=0; i<n; i++){
            cout << "Введите название пункта назначения рейса \n";
                 cin >> aeroflot[i].name ;
            cout << "Введите номер рейса \n";
                 cin >> aeroflot[i].number;
            cout << "Введите тип самолёта \n";
                 cin >> aeroflot[i].type ;
            }
            
        qsort (aeroflot, n, sizeof(aeroflot[0]), cmp);
        
        //Вывод записей
        cout << "Вывод записей на экран \n";
             for (i=0; i<n; i++){
                 cout << aeroflot[i].name <<
                  " " << aeroflot[i].number <<
                  " " << aeroflot[i].type << endl;
                 }    
        
        //Вывод записей определённого типа самолёта
        cout << "Введите тип самолёта \n";
             cin >> type;  
        
        cout << "Вывод номер рейсов и пунктов назначение, обслуживаемых типом"<<
                type<<"\n";
              
              for (i=0; i<n; i++){
                  if (strcmp(aeroflot[i].type, type)==0){
                    cout << aeroflot[i].name << setw(11) << aeroflot[i].number << endl;
                    kol++;
                  }
              }
              
              if (kol==0){
                 cout << "Таких записей нет \n";
                 }
        system ("pause");  
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2015, 18:57
Ответы с готовыми решениями:

Ошибка при работе с классами
Вот такой код: #include &lt;iostream&gt; using namespace std; class A { public: void ex(B b) { cout &lt;&lt;...

Ошибка "в вызове функции отсутствует список аргументов" при работе с классами
Учусь работать с классами С++ но часто встречаюсь с ошибкой: c:\program files (x86)\microsoft visual studio...

Ошибка в работе с классами
День добрый. Прошу помощи в решении такой проблеммы. Есть несколько классов и при компиляции возникает такое: Error 4 error C2784:...

4
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
20.05.2015, 19:44
Цитата Сообщение от Frip Посмотреть сообщение
cout << "Введите название пункта назначения рейса \n";
* * * * * * * * *cin >> aeroflot[i].name ;
* * * * * * cout << "Введите номер рейса \n";
* * * * * * * * *cin >> aeroflot[i].number;
* * * * * * cout << "Введите тип самолёта \n";
* * * * * * * * *cin >> aeroflot[i].type ;
* * * * * * }

Все поля класса защищены, а вы пытаетесь к ним вот так просто обратится.
1
0 / 0 / 3
Регистрация: 20.05.2015
Сообщений: 17
20.05.2015, 19:51
Лучший ответ Сообщение было отмечено Frip как решение

Решение

Цитата Сообщение от Frip Посмотреть сообщение
class aeroflot{
* * * char name [30];
* * * int number;
* * * char type [30];
* * * };
Вы не обьявили сколько именно у вас будет переменных класса aeroflot
Я думаю правильней будет написать вот так
C++
1
2
3
4
5
6
class aeroflot{
    public:
      char name [30];
      int number;
      char type [30];
      }A[10];
Добавлено через 1 минуту
Цитата Сообщение от Frip Посмотреть сообщение
cin >> aeroflot[i].name ;
И в строчках ввода уже указывать вот так
C++
1
cin >> A[i].name;
0
76 / 76 / 32
Регистрация: 14.04.2014
Сообщений: 408
20.05.2015, 19:52
Цитата Сообщение от Redfoo228 Посмотреть сообщение
будет написать вот так
тогда уж
C++
1
2
3
4
5
6
typedef class{
    public:
      char name [30];
      int number;
      char type [30];
      }Aeroflot[10];
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
20.05.2015, 21:43  [ТС]
Спасибо! Совсем забыл про приватные и публичные данные в классе.

Добавлено через 32 минуты
Возник еще один вопрос.
Возникает ошибка на сортировке в функции
C++
1
qsort (aeroflot, n, sizeof(aeroflot[0]), cmp);
А именно, в этой же строке:
1) expected primary-expression before ',' token
2) `compare' undeclared (first use this function)
3) (Each undeclared identifier is reported only once for each function it appears in.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2015, 21:43
Помогаю со студенческими работами здесь

Управление динамической памятью при работе с классами
Всем привет! Есть очень сложный класс, внутри которого есть куча указателей, в его конструкторе все эти указатели получают память при...

Необъявленный идентификатор при работе с классами (функция сравнивает значение свойств объектов)
На идентификаторы power top_speed acceleration weight по 4 раза на каждый матюкается компилятор. Как правильно сравнить их содержимое? ...

Ошибка в программе при работе с классами
Ребят есть задача Условие задачи Составить описание класса для определения одномерных массивов строк фиксированной длины....

Ошибки при работе с классами
Создать объекты класса &lt;имя класса&gt; (класс и его поля задаются в соответствии с выбранным вариантом в лабораторной работе 1), причем...

Ошибки при работе с классами на linux
Здравствуйте, нужна помощь по классам в си++. Я не так давно пишу на си++, поэтому не ругайте сильно.Надо было написать класс семафор и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru