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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 00:17   #1
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию С++ разобраться с функцией

собственно само задание....

Определите структуру Pair – пара «имя = значение» и структуру Pairs – массив пар:
Код:
struct Pair
{
	char * name;	//имя
	int value;	//значение
};
#define MAX_PAIRS 100
struct Pairs
{
	Pair p[MAX_PAIRS];	//массив пар
	int count;		//количество пар в массиве
};
Определите следующие функции для работы с массивом:

int GetValue(Pairs* p, char* name, int* var); // получить значение для заданного имени (функция должна возвратить 0 если нет такого имени и 1 в случае успеха, а значение возвращать через второй параметр функции);

void SetValue(Pairs* p, char* name, int value); // установить значение для заданного имени (если такого имени в массиве нет, то добавить в массив новую пару);

void PrintPairs(Pairs* p); – вывод всех пар на экран.

Непонятия у меня с первой функцией... все остальные я написал...
Код:
#include <iostream>
#include <conio.h>
struct Pair
{
	char * name;	//имя
	int value;	//значение
};
#define MAX_PAIRS 100
struct Pairs
{
	Pair p[MAX_PAIRS];	//массив пар
	int count;		//количество пар в массиве
};
int GetValue(Pairs	*t, char *name, int *var)
{ // что здесь писать немного в заблуждении
}

void SetValue(Pairs* t, char* name, int value) 
{	bool flag=true; 	
	for (int i = 0; i < t->count; i++ )
		{if (t->p[i].name == name)
			{t->p[i].value = value;	
			flag = false; break;}
	if (flag == true)
	{
		t->p[t->count].name = name;
		t->p[t->count].value = value;
		t->count++;
	}
}
}
void PrintPairs(Pairs* p) 
{
	for (int i = 0; i < p->count; i++)
	{
		std::cout<< p->p[i].name;
		std::cout<< p->p[i].value<<"\n";
	}
}

int main (){
Pairs d,*a;
d.count=1;
d.p[0].name = "lolooo";
d.p[0].value = 25;
a=&d;
SetValue(a,"lol",40);
PrintPairs(a);
getch();
return 0;
}
эти строки
Код:
d.count=1;
d.p[0].name = "lolooo";
d.p[0].value = 25;
a=&d;
написал для проверки работы программы...
помогите разобраться с первой функцией... тобишь разъяснить что куда и после чего и сколько... как реализовать...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разобраться с функцией Parse cargo29 Общие вопросы Delphi 5 08.03.2011 10:31
Не могу разобраться с функцией ReadConsole Иллидан Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 10.10.2010 17:34
Подскажите, не могу разобраться с функцией INSERT KARUSHEV БД в Delphi 27 17.07.2009 17:54
Помогите разобраться с функцией ВПР qwertyk Microsoft Office Excel 12 15.07.2009 18:31
Помогите разобраться с собственной функцией MasterofCDM Общие вопросы Delphi 4 03.04.2009 12:15