|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.10.2011, 23:58 | #1 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
Что не так делаю?
Уже голову сломал, но реализовать в полной мере не получается.
И так, по условиям задачи мне необходимо: Создать программу в которой будет структура "car"(марка, год), а начинается данная программа с запроса сколько машин в котологе должно быть, далее при помощи оператора "new" создать динамический массив который соотвествует числу машин. Далее прога должна спросить марку и год. Под конец программа должна выдать список всех введенных машин. Подмагните, в чем проблема ? Код:
|
28.10.2011, 00:20 | #2 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
для начала ps[i].name и ps[i].year
без этого все, что вы вводите пишется в первый элемент массива на каждой итерации цикла. потому вам так же нужно в цикле вывести все, что вы навводили. Код:
Последний раз редактировалось Stilet; 28.10.2011 в 08:21. |
28.10.2011, 00:44 | #3 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
_Ч_, благодарю, видать уже устал, ибо очевидные вещи не видел %(
Только вот вопрос, в учебнике ж пишут мол когда с дим.структурами, то обращаться к конкретной строке через (*.) или -> ... А вы используете "просто так". |
28.10.2011, 00:58 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Не просто так, а через []. Этот оператор тоже осуществляет разыменовывание указателя.
Код:
|
28.10.2011, 00:58 | #5 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
// ссылаемся на 5-й элемент в массиве
car& c = ps[4]; c.name = "xxx"; c.year = 666; аналог: car* c = &(ps[4]); c->name = "xxx"; c->year = 666; еще аналог: car* c = ps + 4; c->name = "xxx"; c->year = 666; результат выражения ps[i] - это ссылка. если не знаете что это, то посмотрите в книжках. продолжаем аналогии: int x = 0; int* px = &x; int& rx1 = x; int& rx2 = *px; *px = 4; // x == 4 rx1 = 5; // x == 5 rx2 = 6; // x == 6 Последний раз редактировалось _Ч_; 28.10.2011 в 01:04. |
28.10.2011, 07:54 | #6 | |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Цитата:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что я делаю не так | rj-45 | Microsoft Office Excel | 7 | 22.11.2011 10:21 |
Установка Gecko - что делаю не так? | spamer | Работа с сетью в Delphi | 0 | 27.09.2010 23:49 |
Объсните что не так делаю | Crudelis | Общие вопросы C/C++ | 4 | 10.06.2010 00:26 |
не пойму что не так делаю | Crudelis | Общие вопросы C/C++ | 3 | 23.04.2010 11:09 |
Visual C++: Что не так делаю? | N!ckeL | Помощь студентам | 8 | 19.05.2008 11:28 |