cur=ni;
cur->n=NULL;
}
else
{
ni=cur->n;
pi=cur->p;
delete cur;
ni->p=pi;
pi->n=ni;
cur=ni;
};
};
};
// показать меню
void show_menu()
{
clrscr();
gotoxy(1,1);
textcolor(7);cprintf("-------------------------------------------------\r\n");
textcolor(14);if((cur==NULL)||(cur->p==NULL))textcolor(8);cprintf(" P");
textcolor(11);cprintf(" - на элемент назад\r\n");
textcolor(14);if((cur==NULL)||(cur->n==NULL))textcolor(8);cprintf(" N");
textcolor(11);cprintf(" - на элемент вперёд\r\n");
textcolor(14);if(cur==NULL)textcolor(8);cprintf(" E");
textcolor(11);cprintf(" - ввод данных в поля элемента списка\r\n");
textcolor(14);if(cur!=NULL)textcolor(8);cprintf(" C");
textcolor(11);cprintf(" - создать список (первый элемент)\r\n");
textcolor(14);if(cur==NULL)textcolor(8);cprintf(" I");
textcolor(11);cprintf(" - добавить элемент списка\r\n");
textcolor(14);if(cur==NULL)textcolor(8);cprintf(" D");
textcolor(11);cprintf(" - удалить текущий элемент списка\r\n");
textcolor(14);if(cur==NULL)textcolor(8);cprintf(" Z");
textcolor(11);cprintf(" - выполнить задание курсовой работы\r\n");
textcolor(14);if(cur==NULL)textcolor(8);cprintf(" V");
textcolor(11);cprintf(" - распечатать весь список\r\n");
textcolor(14);cprintf(" Q");
textcolor(11);cprintf(" - выйти из программы\r\n");
textcolor(7);cprintf("-------------------------------------------------\r\n");
};
// распечатать список
void print_list()
{
int i=0;
if(cur==NULL)
{
cprintf("There's no list created!!!\r\n");
return;
};
printf("\r\n-- распечатать список--\r\n");
while(cur->p!=NULL)go_b();
do
{
printf("--%i id=%i--\r\n",i,cur->id);
printf("год:%i ",cur->god);
printf("название:%s ",cur->naz);
printf("автор:%s \r\n",cur->avt);
if(cur->n==NULL)break;
go_f();
i++;
}
while(1);
}
// распечатать cur
void print_cur()
{
int i=0;
if(cur==NULL) return;
printf("\r\n");
printf("--id=%i--",cur->id);
printf("год :%i \r\n",cur->god);
printf("название:'%s' \r\n",cur->naz);
printf("автор :'%s' \r\n",cur->avt);
printf("\r\n");
}
// правка элемента под курсором
void edit_i()
{
char ich[30];
printf("--id=%i--",cur->id);
textcolor(15);cprintf("\r\n Введите наиманование книги: ");
textcolor(11);cscanf("%60s", cur->naz);
while(kbhit())getch();
textcolor(15);cprintf("\r\n Введите имя автора: ");
textcolor(11);cscanf("%60s", cur->avt);
while(kbhit())getch();
textcolor(15);cprintf("\r\n Введите год издания: ");
textcolor(11);cscanf("%20s",ich);
while(kbhit())getch();
cur->god=atoi(ich);
printf("-------------------------------------------------\r\n");
printf("Введённые данные:");
print_cur();
printf("-------------------------------------------------\r\n");
}
// правка списка по условию задания
void edit_z()
{
char ich[30];
textcolor(15);
cprintf("\r\n Задание: удалить из списка издания с годом, меньше заданного\r\nВведите год : ");
textcolor(11);cscanf("%20s",ich);
while(kbhit())getch();
int i=0,g;
g=atoi(ich);
printf("\r\n\r\nУдаляем записи с годом, меньшим %i\r\n",g);
while(cur->p!=NULL)go_b();
do
{
if(cur->god<g)
{
printf("Удаляем запись: id=%i--\r\n",i,cur->id);
printf("год:%i ",cur->god);
printf("название:%s ",cur->naz);
printf("автор:%s \r\n",cur->avt);
del_node();
}
else
{
if(cur->n==NULL)break;
go_f();
};
}while(1);
};
int main()
{
textmode(C4350); //установить режим 80*50
char ch;
show_menu();
while( 1 )
{
ch=getch();
//gotoxy(23,9);printf("ch='%c'=%i",ch,ch);
if( (ch=='q')||(ch=='Q') )break;
if( (ch=='c')||(ch=='C') )
{
init_list();
show_menu();
print_cur();
};
//когда существует список, разрешаем действия
if(cur!=NULL)
{
if( (ch=='i')||(ch=='I') )
{add_node();
show_menu();
print_cur();
};
if( (ch=='d')||(ch=='D') )
{
del_node();
show_menu();
print_cur();
};
if( (ch=='e')||(ch=='E') )
{
edit_i();
};
if( (ch=='p')||(ch=='P') )
{ go_b();
show_menu();
print_cur();
};
if( (ch=='n')||(ch=='N') )
{ go_f();
show_menu();
print_cur();
};
if( (ch=='z')||(ch=='Z') )
{
edit_z();
};
if( (ch=='v')||(ch=='V') )
{ print_list();
};
};
};
return 0;
};
Приложение2: копииэкрановпрограммы
Меню программы сразу после запуска
Ввод данных в запись
Просмотр данных
Выполнение задания курсового проекта
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.