Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 12
1

Error: invalid types 'int[int]' for array subscript

31.05.2018, 21:03. Показов 3666. Ответов 5
Метки нет (Все метки)

Написал программу список студентов через классы, но на вводе и выводе выдаёт ошибку, не могу найти решение
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
#include <stdio.h>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
class grup 
{
public:
int age;//возраст
char name;//имя
char last_name;//фамилия
int n;// количество объектов
//--------
void zap()//метод заполнения
{
    grup*student= new grup[n];//выделение памяти под массив
    cout << "введите количество студентов : "; 
    cin >> n;
    for(int i=0;i<n;i++)//заполнение
    {
        cout<<"Введите имя - ";
        cin>>name[n]>>endl;
        cout<<"Введите фамилию - ";
        cin>>last_name[n]>>endl;
        cout<<"Введите возраст - ";
        cin>>age[n]>>endl;
    }
}
//--------
void vivod()//метод вывода
{
    for(int i=0;i<n;i++)
    {
        cout<<"имя - "<<name[n];
        cout<<"фамилия - "<<last_name[n];
        cout<<"возраст - "<<age[n]<<endl;
    }
}
//--------
del()//метод удаления
{
    cout<<"Введите номер записи"<<endl;
    cin>>n;
    delete student[n];
}  
};
//--------------------------------
int main()
{
int k;//для свича
grup A;//определение объекта класса grup
 
//--------------------------------
cout << "1-ввод записи" <<endl;
cout << "2-удаление записи" <<endl;
cout << "3-показать записи" <<endl;
cout << "4-выход из программы" <<endl;
cin >> k;
switch ( k ) 
{
case 1://ввод записи
    {A.zap();
    break;}
case 2://удаление записи
    {A.del();
    break;}
case 3://показать записи
    {A.vivod();
    break;}
case 4://выход из программы
    {exit(0);
    break;}
default://ошибка ввода
    {cout << "ОШИБКА ВВОДА" <<endl;
    break;}
}
}
main.cpp: In member function 'void grup::zap()':
main.cpp:22:20: error: invalid types 'char[int]' for array subscript
cin>>name[n]>>endl;
^
main.cpp:24:25: error: invalid types 'char[int]' for array subscript
cin>>last_name[n]>>endl;
^
main.cpp:26:19: error: invalid types 'int[int]' for array subscript
cin>>age[n]>>endl;
^
main.cpp: In member function 'void grup::vivod()':
main.cpp:34:34: error: invalid types 'char[int]' for array subscript
cout<<"имя - "<<name[n];
^
main.cpp:35:47: error: invalid types 'char[int]' for array subscript
cout<<"фамилия - "<<last_name[n];
^
main.cpp:36:41: error: invalid types 'int[int]' for array subscript
cout<<"возраст - "<<age[n]<<endl;
^
main.cpp: In member function 'int grup::del()':
main.cpp:44:12: error: 'student' was not declared in this scope
delete student[n];
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2018, 21:03
Ответы с готовыми решениями:

Ошибка error: invalid types 'int[int]' for array subscript
Дана строка,содержащая английский текст.Найти количество слов,начинающихся с буквы b. Выдает...

Error: invalid types 'int[int]' for array subscript
#include &lt;iostream&gt; using namespace std; int main() { setlocale(0,&quot; &quot;); char ch; bool...

Ошибка компиляции invalid types ‘int[int]’ for array subscript
Вот сам код. Не понимаю в чем может быть ошибка. #include &lt;iostream&gt; using namespace std; ...

Работа с массивом - Invalid types 'int[int]' for array subscript
Добрый день. Данный код выдает ошибку invalid types 'int' for array subscript в функции в строке...

5
7019 / 6045 / 2748
Регистрация: 14.04.2014
Сообщений: 25,890
31.05.2018, 21:10 2
Ты книжку-то открывал хоть раз? Если grup - это группа, то в ней должен быть массив студентов, т. е. нужен ещё класс студент, и поля 9-11 должны быть там.
0
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 12
31.05.2018, 23:19  [ТС] 3
Не понял, для чего создавать класс студент и как его тогда реализовать?
0
132 / 52 / 43
Регистрация: 09.05.2015
Сообщений: 562
31.05.2018, 23:56 4
Лучший ответ Сообщение было отмечено pacman007 как решение

Решение

Цитата Сообщение от pacman007 Посмотреть сообщение
Не понял, для чего создавать класс студент и как его тогда реализовать?
В твоем коде все очень плохо, сразу видно что ты и вправду плохо понимаешь что пишешь. cin >> endl? Это что такое?
Ошибок море. Плюс и правда надо создавать класс, хотя мне кажется, что и структура будет лучшим вариантом. Вообщем, ошибок настолько много, что тебе лучше не знать. Открывай книжку, и начинай читать с первой главы, а не с 11.
1
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 12
01.06.2018, 11:43  [ТС] 5
я добавил новый клас и поправил косяк с endl) но у меня почему то не видит class student
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
#include <stdio.h>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
class grup 
{
public:
int n;// количество объектов
//--------
void masiv()
{
    grup*student= new grup[n];//выделение памяти под массив
    cout << "введите количество студентов : "; 
    cin >> n;
}
//--------
~grup()//метод удаления
{
    cout<<"Введите номер записи"<<endl;
    cin>>n;
    delete[] student;
}  
};
//--------
Class Student : public grup
{
public:
int age;//возраст
char name;//имя
char last_name;//фамилия
//--------
void zap(int i)//метод заполнения
{
cout<<"Введите имя - ";
cin>>grup[i].name;
cout<<"Введите фамилию - ";
cin>>grup[i].last_name;
cout<<"Введите возраст - ";
cin>>grup[i].age;
}
//--------
void vivod(int i)//метод вывода
{
cout<<"имя - "<<grup[i].name;
cout<<"фамилия - "<<grup[i].last_name;
cout<<"возраст - "<<grup[i].age<<endl;
}
friend class grup
}
//--------------------------------
int main()
{
int k;//для свича
grup A;//определение объекта класса grup
student B;
//--------------------------------
cout << "1-ввод записи" <<endl;
cout << "2-удаление записи" <<endl;
cout << "3-показать записи" <<endl;
cout << "4-выход из программы" <<endl;
cin >> k;
switch ( k ) 
{
case 1://ввод записи
    {A.masiv();
    for(int i=0;i<n;i++)
    {B.zap();}
    break;}
case 2://удаление записи
    {A.~grup();
    break;}
case 3://показать записи
    {for(int i=0;i<n;i++)
    {B.vivod();}
    break;}
case 4://выход из программы
    {exit(0);
    break;}
default://ошибка ввода
    {cout << "ОШИБКА ВВОДА" <<endl;
    break;}
}
}
Миниатюры
Error: invalid types 'int[int]' for array subscript  
0
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
01.06.2018, 12:19 6
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
#include <iostream>
#include <string>
 
class Group {
    struct Student {
        int age;
        std::string name;
        std::string lastName;
        void show() { std::cout << age << " " << name << " " << lastName << std::endl; }
    };
    int count;
    Student* array;
public:
    Group(int in_count) : count(in_count) {
        array = new Student[count];
    }
    ~Group() {
        delete [] array;
    }
    void fill() {
        for(int i = 0; i < count; i++ {
            std::cin >> array[i].age >> array[i].name >> array[i].lastName;
        }
    }
    void show() {
        for(int i = 0; i < count; i++)
            array[i].show();
    }
};
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2018, 12:19

Invalid types 'int[int]' for array subscript
Добрый день! Не компилится код. Выдается ошибка invalid types 'int' for array subscript в строке...

С++:invalid types 'int[int]' for array subscript
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного...

Invalid types `int[int]' for array subscript
Есть структура в которой есть данные. Хочу поменять значение void editz(char db) {readdb(db);...

Invalid types `float[int]' for array subscript
вот такой код, вроде всё написал правильно, но компилятор ругается на 19 строку, мол &quot;Invalid types...


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

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

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