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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2009, 04:34   #1
Geg[C/c++]
Пользователь
 
Аватар для Geg[C/c++]
 
Регистрация: 18.02.2009
Сообщений: 76
По умолчанию Структуры и указатели.

Доброго времени суток.

Помогите пожалуйста разобраться с ошибкой :
Код:
#include "human.h"
#include <malloc.h>  // Прототипы функции malloc и free
#include <iostream>  // Подключение заголовочных файлов...
using namespace std; // Использования стандартного пространства имен

int main()
{
	setlocale(0,"Rus"); // "Подключение русского языка"
	// Создание одиночной динамической структурной переменной
	struct human* pman =(struct human*) malloc(sizeof(struct human));
	human * pman1 = new human;
	pman->sex = MALE; // Обращение к полю структуры посредством указателя
	pman->age = 30;
	strcpy (pman->name, "Руслан");
	free (pman);
	delete pman1;
	int n = 5;
	struct human * people = (struct human*) malloc (n*sizeof (struct human));
	human * people1 = new human[n];
	int i;
	for(i=0; i<n; i++)
{
	cout<<people[i].name<<
	"age:"<<people[i].age<<endl;
	("sex:" <<(people[i].sex==MALE)? "male" : "female")<<endl;
}
free (people);
delete [] people1;
}
Вот код заголовочного файла :

Код:
enum SEX {MALE, FEMALE};
struct human {
	enum SEX sex;
	int age;
	char name[30];
};
Вот что говорит компилятор :
Цитата:
f:\project_c++\lab_1_ project\№3.cpp(14) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
g:\distrib\new folder (1)\vc\include\string.h(74) : see declaration of 'strcpy'
f:\project_c++\lab_1_ project\№3.cpp(25) : warning C4804: '<<' : unsafe use of type 'bool' in operation
f:\project_c++\lab_1_ project\№3.cpp(25) : error C2296: '<<' : illegal, left operand has type 'const char [5]'
Build log was saved at "file://f:\Project_C++\Lab_1_ Project\Debug\BuildLog.htm"
Lab_1_ Project - 1 error(s), 2 warning(s)
Все что не делается все к ... А какого черта? Делайте все что задумали и все что вам захочется.
Если конечно задуманное вами не попадает под статью.. © Geg[C/c++][поиск]

Последний раз редактировалось Geg[C/c++]; 30.09.2009 в 04:37.
Geg[C/c++] вне форума Ответить с цитированием
Старый 30.09.2009, 08:40   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Вот это
Код:
strcpy()
string.h вот тут храниться
Цитата:
f:\project_c++\lab_1_ project\№3.cpp(25) : warning C4804: '<<' : unsafe use of type 'bool' in operation
f:\project_c++\lab_1_ project\№3.cpp(25) : error C2296: '<<' : illegal, left operand has type 'const char [5]'
вот это ругается как я понимаю сюда(из-за не корректного использование типа bool):
Код:
 ("sex:" <<(people[i].sex==MALE)? "male" : "female")<<endl;
но это варнинг)) можно использовать одно битовый инт.

Последний раз редактировалось dampirik; 30.09.2009 в 08:45.
dampirik вне форума Ответить с цитированием
Старый 30.09.2009, 09:22   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
	cout<<people[i].name<<
	"age:"<<people[i].age<<endl;
	("sex:" <<(people[i].sex==MALE)? "male" : "female")<<endl;
Вместо точки с запятой может лучше << поставить?
И что за скобочка такая?
pu4koff вне форума Ответить с цитированием
Старый 30.09.2009, 12:13   #4
Geg[C/c++]
Пользователь
 
Аватар для Geg[C/c++]
 
Регистрация: 18.02.2009
Сообщений: 76
По умолчанию

Цитата:
Вместо точки с запятой может лучше << поставить?
И что за скобочка такая?
Это уже из-за невнимательности, запарился.

Код:
strcpy (pman->name, "Руслан");
На это он ругает потому, что нужно подключить такой файл <alloc.h> но компилятор говорит что такого у вас нет, и не может найти его. (<alloc.h>) лектор наш такое дает...
pu4koff, dampirik Спасибо вам за ваши отзывы. Структурку буду по другому делать, это был пробный заезд.

А не, нужна такая #include <string.h> что бы юзать strcpy
Все что не делается все к ... А какого черта? Делайте все что задумали и все что вам захочется.
Если конечно задуманное вами не попадает под статью.. © Geg[C/c++][поиск]

Последний раз редактировалось Geg[C/c++]; 30.09.2009 в 13:02.
Geg[C/c++] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры и указатели phpcreator Помощь студентам 1 09.09.2009 17:57
Указатели Paul_AG Общие вопросы C/C++ 5 03.07.2009 14:22
Указатели olli Общие вопросы C/C++ 3 20.05.2009 19:40
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39
указатели Armina Общие вопросы C/C++ 4 22.04.2009 20:05