Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2016, 17:12   #1
Asgrimmur
Новичок
Джуниор
 
Регистрация: 02.10.2016
Сообщений: 2
По умолчанию Отображение вывода структур (C++)

Здравствуйте, уважаемые форумчане !
Есть вопрос касательно структур.
Я объявил 3 структуры. Две из них вложены в третью.
Затем написал функции, которые создают структурные переменные.
И, наконец, написал функцию, которая выводит созданные структурные переменные на экран.
Созданное консольное приложение запускается, однако при выводе на экране появляются непонятные цифры и символы.
Что я сделал не так ) ?

Код:
#include <iostream>
using namespace std;

struct Wolf
{
	int age;
	char *teeth;
};

struct Fox
{
	int age;
	char *mech;
};

struct Zoo
{
	char *Location;
	Wolf *Wolf;
	Fox *Fox;
};

Wolf createwolf()
{
	Wolf Seriy;
	Seriy.age = 5;
	Seriy.teeth = new char[40];
	strcpy(Seriy.teeth, "Ostrie");
	return Seriy;
}

Fox createfox()
{
	Fox Lisica;
	Lisica.age = 4;
	Lisica.mech = new char[40];
	strcpy(Lisica.mech, "Rigiu");
	return Lisica;
}

Zoo createzoo()
{
	Zoo Big;
	Big.Location = new char[20];
	strcpy(Big.Location, "New York");
	Big.Wolf = &createwolf();
	Big.Fox = &createfox();
	return Big;
}

void display(Zoo a)
{
	cout << a.Location << endl;
	cout << a.Wolf->age << endl;
	cout << a.Wolf->teeth << endl;
	cout << a.Fox->age << endl;
	cout << a.Fox->mech << endl;
}

int main()
{
	Zoo a = createzoo();
	display(a);
	return 0;
}
https://drive.google.com/open?id=0B3...ERYRG1pLVV5elU
Asgrimmur вне форума Ответить с цитированием
Старый 03.10.2016, 17:24   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Где непонятные символы?

Если на Wolf и Fox, то вряд ли так можно делать. Либо создавайте их через new, либо храните не указатель.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.10.2016, 22:17   #3
Asgrimmur
Новичок
Джуниор
 
Регистрация: 02.10.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Если на Wolf и Fox ...
Да, я об этом.

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Либо создавайте их через new, либо храните не указатель.
Спасибо ! Оба варианта исправили ситуацию .
Asgrimmur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление структур из массива структур Infini Помощь студентам 2 02.03.2013 22:31
Массив структур в C++ 803 Помощь студентам 0 21.05.2012 19:12
Отображение вывода (Delphi) Vampirius Помощь студентам 4 26.09.2009 01:32
Отображение скрытых файлов и папок и отображение розширения всех файлов beegl Общие вопросы Delphi 10 14.12.2008 22:02