![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 225
|
![]()
Здравствуйте господа.
Мне требуется некоторое разъяснение по теме структура. допустим у меня есть некая структура. struct Stud { char name[15],fname[15],sname[15]; long int group; long int srbal; int a[5]; }; объявляется она в последствии const int z=10; Stud C[z]; //ну или можно сразу объявить Stud C[10]. Мне,не понятно каким образом сделать объявлении динамическим способом. То есть,я хочу объявлять количество структур не программно,а чтобы пользователь сам выбирал это значение.В стиле : cout<<"Введите количество студентов: "<<endl; cin>>Z; Stud C[z]; но выдает ошибку,что z- должно быть const; Далее,я предпринимал попытки сделать это способом подобному динамическому объявлению массива.с помощью указателей,но по скольку я с указателями не очень хорошо обращаюсь,программа то висла,то зацикливалась то ещё что-то,приводить код не стану,а то не дай бог у кого-нибудь будет инфаркт от такого. есть у кого-нибудь идеи?буду очень благодарен.целый день структуры изучаю. И ещё вопрос,по скольку у меня количество структур задается константой,а все поля структуры всегда могут быть не использоваться,а циклы делаются под все структуры(ну,то есть заполнение по максимуму),то когда структуры не заполняются полностью то в циклах for(i=0;i<z;i++),где z-константа определяющая количество структур Stud C[z],и прочих компилятор проходит лишние итерации и делает не желательные операции из-за которых потом появляются всякие лишние кракозябры. а теперь вопрос:как делать проверку на наличие заполненной структуры типа for(i=0;i<z;i++) if(пример на основе структуры выше) break;
За помощь: Нажмите на весы слева от сообщения!
Последний раз редактировалось savva; 11.06.2010 в 01:22. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 14
|
![]()
а как вы делали с динамическим объявлением?
Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 225
|
![]()
эм,я делал таким образом
Код:
За помощь: Нажмите на весы слева от сообщения!
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 14
|
![]() Код:
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 225
|
![]()
все,разобрался с этим.благодарю.
теперь как я понимаю я должен обращаться через указатели то есть вместо C[i].name будет c->name; тогда код Код:
Код:
1-ый вариант у меня strcpy(C[i].name,C[j].name); 2-ой вариант какой будет?(с помощью указателей)
За помощь: Нажмите на весы слева от сообщения!
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 14
|
![]()
указатели и массивы в с++ это почти одно и то же.
доступ к элементам структуры будет таким: Код:
Хотя проще перегрузить оператор "=", тема перегрузки гдето на форуме обсуждалась. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 225
|
![]()
А вот и нельзя так делать. выдает ошибку
Pointer to structure required on left side of -> or ->*.
За помощь: Нажмите на весы слева от сообщения!
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 225
|
![]()
Вопрос остаётся открытым.
За помощь: Нажмите на весы слева от сообщения!
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 14
|
![]()
точно, просто через точку =)
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 225
|
![]()
эм?
ты подразумеваешь: strcpy(c.[i]->name,c.[j]->name); тогда вылезает такая ошибка: Structure required on left side of . or .* Блин,я пока с этой хернёй не разберусь,заснуть даже не смогу.сволочизм.
За помощь: Нажмите на весы слева от сообщения!
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Структуры | balalay12 | Общие вопросы C/C++ | 4 | 28.04.2010 08:57 |
Структуры в С++ | Shtripling | Помощь студентам | 7 | 27.11.2009 13:56 |
Структуры | Wertex | Помощь студентам | 3 | 30.10.2009 13:52 |
Структуры | Shadovv13 | Общие вопросы C/C++ | 18 | 15.10.2009 23:03 |