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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2010, 21:20   #1
askerpro
Новичок
Джуниор
 
Регистрация: 17.09.2009
Сообщений: 45
По умолчанию ошибка при обработке функции класса "missing type specifier - int assumed"

Здравствуйте,
не могу скомпилить прогу, вот весь текст,
Код:
// laba 17-15.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;
class aeroflot
{
public:
	char arrive_place[20];
	int num_of_flight;
	char model_of_plane[10];
	int aer(aeroflot a);
	int info(){cout<<"Место назанчения: "<<arrive_place<<"номер рейса: "<<num_of_flight<<"модель самолета: "<<model_of_plane; return 0;};
};
aeroflot::aer(aeroflot a)
{
	cout<<"Введите Место назанчения, номер рейса и модель самолета через пробел"<<endl;
	cin>>a.arrive_place>>a.num_of_flight>>a.model_of_plane;
	
}

//aeroflot sort(aeroflot *mas)
//{int min=int(mas[0].model_of_plane[0]);
//aeroflot temp;
//int i,j;
//	for (i=0;i<6;i++)
//	{
//		for (j=i;j<6;j++)
//		{
//			if (int(mas[j].model_of_plane[0])<min)
//				min=mas[j].model_of_plane[0];
//		}
//		temp.arrive_place=mas[i].arrive_place;
//		temp.model_of_plane=mas[i].model_of_plane;
//		temp.num_of_flight=mas[i].num_of_flight;
//		mas[i].arrive_place=mas[j].arrive_place;
//		mas[i].model_of_plane=mas[j].model_of_plane;
//		mas[i].num_of_flight=mas[j].num_of_flight;
//		mas[j].arrive_place=temp.arrive_place;
//		mas[j].model_of_plane=temp.model_of_plane;
//		mas[j].num_of_flight=temp.num_of_flight;
//	}
//	return mas;
//}



int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL, "Russian");
	aeroflot mas[7];
char model[10];
for (int i=0; i<6; i++)
{
	mas[i].aer(*mas);
};
//sort(mas);

cout<<"Введите модель самолета, информацию по которой хотите найти"<<endl;
cin>>model;
for (int i=0;i<6;i++)
{
	if (!strcmp(mas[i].model_of_plane, model))
	mas[i].info();
}
system("PAUSE");


	return 0;
}
вот место где выдается ошибка
Цитата:
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Код:
aeroflot::aer(aeroflot a)
{
	cout<<"Введите Место назанчения, номер рейса и модель самолета через пробел"<<endl;
	cin>>a.arrive_place>>a.num_of_flight>>a.model_of_plane;
	
}
задание примерно такое
создать класс, описанный выше,
перегрузить функцию,
создать функцию для заполнения массива из 7 элементов типа aeroflot
отсортировать массив по алфавиту по местам назначения.
выдать информацию о элементе, по введенной с клавиатуры модели самолета

спасибо )
askerpro вне форума Ответить с цитированием
Старый 02.06.2010, 22:03   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
int aeroflot::aer(aeroflot a)
{
	cout<<"Введите Место назанчения, номер рейса и модель самолета через пробел"<<endl;
	cin>>a.arrive_place>>a.num_of_flight>>a.model_of_plane;
	
}
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 02.06.2010, 22:21   #3
askerpro
Новичок
Джуниор
 
Регистрация: 17.09.2009
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Код:
int aeroflot::aer(aeroflot a)
{
	cout<<"Введите Место назанчения, номер рейса и модель самолета через пробел"<<endl;
	cin>>a.arrive_place>>a.num_of_flight>>a.model_of_plane;
	
}
спасибо
как то даже не заметил
а сможешь сказать ошибку в функции сортировки?
которую я взял как комент пока
askerpro вне форума Ответить с цитированием
Старый 02.06.2010, 22:35   #4
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Код:
//aeroflot sort(aeroflot *mas)
//{
//aeroflot temp;
//int i,j;
//	for (i=0;i<6;i++)
//	{
//           int min=int(mas[i].model_of_plane[0]);
//		for (j=i;j<6;j++)
//		{
//			if (int(mas[j].model_of_plane[0])<min)
//				min=mas[j].model_of_plane[0];
//		}
//		temp.arrive_place=mas[i].arrive_place;
//		temp.model_of_plane=mas[i].model_of_plane;
//		temp.num_of_flight=mas[i].num_of_flight;
//		mas[i].arrive_place=mas[j].arrive_place;
//		mas[i].model_of_plane=mas[j].model_of_plane;
//		mas[i].num_of_flight=mas[j].num_of_flight;
//		mas[j].arrive_place=temp.arrive_place;
//		mas[j].model_of_plane=temp.model_of_plane;
//		mas[j].num_of_flight=temp.num_of_flight;
//	}
//	return mas;
}
так должна сортировка работать.
И для такого размера кода применяется другой тип комментариев

Код:
/*
bla
bla
bla
*/
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 02.06.2010, 22:55   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Как минимум присваивать си-строки с помощью оператора = нельзя. Имя массива - это тот же указатель на его первый элемент, так что вы пытаетесь просто присваивать указатели, что не есть хорошо. Для копирования строк используйте strcpy, или пользуйтесь стандартной строкой std::string, коль скоро используете C++.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 02.06.2010, 22:56   #6
askerpro
Новичок
Джуниор
 
Регистрация: 17.09.2009
Сообщений: 45
По умолчанию

так там не строки, а 1 буква из строки string[0]
askerpro вне форума Ответить с цитированием
Старый 02.06.2010, 23:03   #7
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

askerpro, Гром прав. Сравнение у тебя проходит нормально. Вот только там где меняешь два элемента местами надо правильно строки приравнивать одну к другой.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 02.06.2010, 23:04   #8
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
temp.arrive_place=mas[i].arrive_place;
А это что?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 02.06.2010, 23:09   #9
askerpro
Новичок
Джуниор
 
Регистрация: 17.09.2009
Сообщений: 45
По умолчанию

упс
щас через strcpy сделаю
спасибо еще раз, выручили
askerpro вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка " Record, object or class type required " (Запись, объектный или классический тип требовались) kta87 Помощь студентам 2 28.02.2010 10:04
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
HTML нет событий при передачи методо POST через <input type="image" Mixail HTML и CSS 12 07.06.2009 03:33
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
C++, препроцессор, как из "int" сделать "char"? Максай Помощь студентам 3 05.09.2008 08:16