Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Реализация задания в консольном приложении
Декларацию шаблона структуры, декларации прототипов функций пользователя и их тексты смотрите в предыдущем примере, а основная функция может иметь следующий вид: void main() { int i, in, n, kod, kod1; char Str[2][10] = {" Begin ", " End " }; while(true){ cout < < " \n\tCreat - 1\n\tAdd - 2\n\tView - 3\n\tDel - 4\n\tEXIT - 0: "; cin > > kod; switch(kod) { case 1: if(begin! = NULL){ cout < < " Clear Memory! " < < endl; break; } cout < < " Begin Info = "; cin > > in; Create_Spis2(& begin, & end, in); cout < < " Creat Begin = " < < begin -> info < < endl; break; case 2: cout < < " Info = "; cin > > in; cout < < " Add Begin - 0, Add End - 1: "; cin > > kod1; Add_Spis2(kod1, & begin, & end, in); if(kod1 == 0) t = begin; else t = end; cout < < " Add to " < < Str[kod1] < < " " < < t -> info < < endl; break; case 3: if(! begin){ cout < < " Stack Pyst! " < < endl; break; } cout< < " View Begin-0, View End-1: "; cin > > kod1; if(kod1 == 0) { t = begin; cout < < " -- Begin --" < < endl; } else { t = end; cout < < " --- End --" < < endl; } View_Spis2(kod1, t); break; case 4: Del_All(& begin); cout < < " Memory Free! " < < endl; break; case 0: if(begin! = NULL) Del_All(& begin); return; } } }
Полученные результаты представлены на рисунке. Индивидуальные задания Написать программу по созданию, добавлению (в начало, в конец), просмотру (с начала, с конца) и решению поставленной в лаб.раб.3 задачи для двунаправленных линейных списков. Лабораторная работа №5. Обратная польская запись
Цель работы: изучить правила формирования постфиксной записи арифметических выражений с использованием стека.
|