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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2012, 15:18   #1
svkpro
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 52
По умолчанию проверка "количество эл в стеке" С++

всем доброго дня.
мне надо написать программу организации стека 20 эл получая данные из структуры. по началу я делал так:
Код:
struct kniga {
	char shifr;
	char avtor;
	char nazv;
	char izdat;
	char god;
};

kniga stack [20];
int top=0;

void push(kniga zap)
{
	if(top>=20){
		cout<<"стек полон"<<endl;
		return;
	}
	if(top<20){
		stack[top]=zap;
		top++;
		cout<<"элемент успешно добавлен в стек!"<<endl;
	}

}
потом нашел в книге хороший пример и переделал:
Код:
typedef struct kniga { 
char shifr[10]; 
char avtor[10]; 
char nazv[10];
char izdat[10];
char god[10];
struct kniga* next; 
 } Kniga;

Kniga* top = NULL;


void push(char* shifr, char* avtor, char* nazv, char* izdat, char* god)//добавление 
 {
	 Kniga* ptr = (Kniga *)malloc(sizeof(Kniga)); 
	 strcpy(ptr->shifr,shifr);
	 strcpy(ptr->avtor,avtor); 
	 strcpy(ptr->nazv,nazv);
	 strcpy(ptr->izdat,izdat);
	 strcpy(ptr->god,god);
	 ptr->next = top; 
	 cout<<"элемент успешно добавлен в стек!"<<endl<<endl;
	 top = ptr;
 }
и все работает но я не знаю как добавить ограничение на количество элементов которые можно добавить в стек. теперь к top if не прилепить, оно получается выделяет память под "Knigu" и просто ложит друг на дружку оттесняя первый элемент на дно стека или я что то не допонял? помогите пожалуйста.
svkpro вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Подсчитать количество букв "й", "ы" и "я", содержащихся в заданной строке. VoltZZZ Помощь студентам 2 01.03.2012 23:39
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. kvas91 Общие вопросы C/C++ 3 14.11.2010 16:51
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04