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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2014, 02:45   #1
KochI
 
Регистрация: 08.12.2012
Сообщений: 6
По умолчанию Заполнение структуры,запихнуть в функцию

Доброго времени суток, форумчане!
Имеется структура

Код:
struct Informer
    {
        char item[20];
        char Platform[20];
        char TimeBack[20];
};
И заполнение его, из файла

Код:
ifstream in;
	Informer mas[20];
	in.open("1.txt");
	int i = 1;
	int n = 0;
	while (!in.eof())
	{
		n++;
		if (n != 4)
			switch (n)
		{
			case 1: in >> mas[i].item;
				break;
			case 2: in >> mas[i].Platform;
				break;
			case 3: in >> mas[i].TimeBack;
		}
		else { n = 0; i++; }
	}
Как запихнуть это в функцию? Буду очень благодарен

Последний раз редактировалось KochI; 06.02.2014 в 02:48.
KochI вне форума Ответить с цитированием
Старый 06.02.2014, 02:55   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Передаем в функцию указатель на массив, функция отрабатывает и массив заполняется:
Код:
void load(Informer * mas)
{
        ifstream in;
	in.open("1.txt");
	int i = 1;
	int n = 0;
	while (!in.eof())
	{
		n++;
		if (n != 4)
			switch (n)
		{
			case 1: in >> mas[i].item;
				break;
			case 2: in >> mas[i].Platform;
				break;
			case 3: in >> mas[i].TimeBack;
		}
		else { n = 0; i++; }
	}
}
ps: добавьте проверку на невыход за границы массива.

Последний раз редактировалось Smogg; 06.02.2014 в 02:57.
Smogg вне форума Ответить с цитированием
Старый 06.02.2014, 03:08   #3
KochI
 
Регистрация: 08.12.2012
Сообщений: 6
По умолчанию

Что-то не вышло у меня :\
В чем проблема??
Код:
struct Informer
	{
		char item[20];
		char Platform[20];
		char TimeBack[20];
}; Informer mas[20];
-Структура
Непосредственно Ваша функция.
Ну и пару значений решил вывести, в результате пустой экран
Код:
int main()
{
	cout << endl << mas[1].item << endl << mas[1].Platform << endl << mas[1].TimeBack;
	cout << endl << mas[2].item << endl << mas[2].Platform << endl << mas[2].TimeBack;
}
Изображения
Тип файла: jpg Снимок.JPG (20.5 Кб, 109 просмотров)
KochI вне форума Ответить с цитированием
Старый 06.02.2014, 03:14   #4
KochI
 
Регистрация: 08.12.2012
Сообщений: 6
По умолчанию

Стоп-стоп. Прошу прощение, все исправил... Сам затупил. Благодарю за ответ!
KochI вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение структуры из двух листов tur91 Общие вопросы .NET 1 05.02.2013 16:16
Заполнение и просмотр структуры Bugrimov Общие вопросы C/C++ 7 01.11.2012 23:14
RTTI. Заполнение произвольной структуры. Delphi_ProGer Общие вопросы Delphi 4 05.08.2012 10:02
Заполнение массива из структуры через memcpy Master_Devel Visual C++ 0 14.06.2011 17:56
Как запихнуть код в функцию Rivass Помощь студентам 3 06.11.2010 17:20