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

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

Войти
Регистрация
Восстановить пароль
 
Вир
0 / 0 / 0
Регистрация: 06.03.2014
Сообщений: 21
#1

Работа со структурами, исправить ошибки в коде - C++

23.04.2014, 17:03. Просмотров 184. Ответов 8
Метки нет (Все метки)

Задаю структуру.
C++
1
2
3
4
5
6
7
8
9
10
struct str_Discipl
{
    int Lektchii[Max_kol_vo_disciplin], Lab[Max_kol_vo_disciplin], Prakt[Max_kol_vo_disciplin];
    String Naimenovanie_distchipliny[Max_kol_vo_disciplin];
}Discipl;
struct str_Spetcialnosti
{
    str_Discipl;
    String Spetcialnost;
}Spetcialnosti[Max_kol_vo_spetcialnostei];
При присвоении ей значения
C++
1
 Spetcialnosti[x].Discipl.Naimenovanie_distchipliny[x]=Memo_Nazvanie->Text;
компилятор начинает ругаться.
Подскажите в чём проблема, что не так делаю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 17:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа со структурами, исправить ошибки в коде (C++):

Работа с матрицей - исправить ошибки в коде - C++
работать не хочет... вылетает после 35 строки.(компилит нормально) как быть друзья? #include <stdio.h> #include <stdlib.h> ...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include <iostream> using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

исправить ошибки в коде - C++
Помогите и исправьте ошибки в моём коде. Буду очень благодарен. Ссылка на условие задачи: ...

Исправить ошибки в коде - C++
#include <iostream> using namespace std; static const int N = 100;//Размер обычного массива можно определить константой int main()...

8
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,221
Записей в блоге: 27
23.04.2014, 17:09 #2
Ну, компилятор обычно не просто ругается, а указывает где, что и как. Напишите, что выдает компилятор.

Добавлено через 48 секунд
Какой здесь тип данных?
C++
1
str_Discipl;
Добавлено через 1 минуту
А, пардон. Не увидела.) Это ж первая структура.
0
Вир
0 / 0 / 0
Регистрация: 06.03.2014
Сообщений: 21
23.04.2014, 17:10  [ТС] #3
Ошибка - E2316 'Discipl' is not a member of 'str_Spetcialnosti'
str_Discipl - это структура
0
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,221
Записей в блоге: 27
23.04.2014, 17:12 #4
Ну так укажите структуру и тип данных.
C++
1
str_Discipl str_disc;
0
Вир
0 / 0 / 0
Регистрация: 06.03.2014
Сообщений: 21
23.04.2014, 17:16  [ТС] #5
А можете подсказать что за str_disc добавили?
0
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,221
Записей в блоге: 27
23.04.2014, 17:19 #6
Это имя. Какое хотите можете сделать.
str_Discipl - Ваша структура, то есть тип данных.
str_disc - имя переменной типа str_Discipl.
Это всё равно что Вы напишете просто int.
А так - int a;
Я не уверенна, что в этом проблема, но это то, что мне бросилось в глаза.
0
Вир
0 / 0 / 0
Регистрация: 06.03.2014
Сообщений: 21
23.04.2014, 17:22  [ТС] #7
Благодарю за помощь, но это не помогло.
0
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,221
Записей в блоге: 27
23.04.2014, 17:26 #8
Компилятор на то же ругается?

Добавлено через 46 секунд
Весь код скиньте.

Добавлено через 2 минуты
C++
1
Spetcialnosti[x].Discipl.Naimenovanie_distchipliny[x]=Memo_Nazvanie->Text;
А Вы здесь исправили?
0
Kuzia domovenok
2045 / 1890 / 172
Регистрация: 25.03.2012
Сообщений: 6,507
Записей в блоге: 1
23.04.2014, 17:29 #9
C++
1
2
3
4
5
struct str_Discipl
{
    int Lektchii[Max_kol_vo_disciplin], Lab[Max_kol_vo_disciplin], Prakt[Max_kol_vo_disciplin];
    String Naimenovanie_distchipliny[Max_kol_vo_disciplin];
}Discipl;
Что это такое? Почему все поля структуры - массивы?
Может тебе надо наоборот - МАССИВ СТРУКТУР, а не эту ерунду?
Например,
C++
1
2
3
4
5
struct str_Discipl
{
    int Lektchii, Lab, Prakt;
    String Naimenovanie_distchipliny;
}Discipl[Max_kol_vo_disciplin];
Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct str_Discipl
{
    int Lektchii, Lab, Prakt;
    String Naimenovanie_distchipliny;
};
struct str_Spetcialnosti
{
    str_Discipl Discipl[Max_kol_vo_disciplin];
    String Spetcialnost;
}Spetcialnosti[Max_kol_vo_spetcialnostei];
 
//...
Spetcialnosti[x].Discipl[y].Naimenovanie_distchipliny=Memo_Nazvanie->Text
0
23.04.2014, 17:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2014, 17:29
Привет! Вот еще темы с ответами:

Исправить ошибки в коде. - C++
Выдает ошибку, на скрине все есть

Исправить ошибки в коде - C++
#include <iostream> using namespace std; const int n=5; class dancer {public: char MenName; char WomenName;

Исправить ошибки в коде - C++
заранее огромное спасибо:) #include<iostream> #include<stdio.h> #include<conio.h> #include<string.h> #include<math.h> using...

Исправить ошибки в коде - C++
#include <iostream> #include <Windows.h> #include <conio.h> using namespace std; void MessageBo() { int MB_1 =...


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

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

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