Usuwanie


Projekt nr 3
autor: Dorota Kochanowska
Temat: Usuwanie elementu z listy dwukierunkowej
Program ten demonstruje zasady działania listy dwukierunkowej oraz usuwania z
niej elementów. Po uruchomieniu i wyświetleniu swojego nagłówka program
udostępnia kilka opcji: co to jest lista dwukierunkowa, jak usunąć jej
pierwszy, ostatni, znajdujący się wewnątrz element oraz wyjście z programu.
Jeśli wybierzemy którąś z opcji informacyjnych zostaną wyświetlone informacje
oraz rysunek na dany temat.
Listing
plik "dorota.c"
#include
#include "dorota.h"

main()

{
int a;
int b,tabw[4]={15,23,22,23};

printf("\n\n\tProjekt nr 3\n\tautor: Dorota Kochanowska\n\n");
printf("Program ilustruje sposob usuwania elementu z listy dwukierunkowej.\n");
do
{
printf("\n\tWybierz\n\n\t1. Co to jest lista dwukierunkowa.");
printf("\n\t2. Usuwanie pierwszego elementu z listy.");
printf("\n\t3. Usuwanie ostatniego elementu z listy.");
printf("\n\t4. Usuwanie elementu znajdujacego sie wewnatrz listy.");
printf("\n\t5. Wyjscie z programu.\n :");
fflush(stdin);
scanf("%d",&a);
if (a!=5)
{
for (b=0;b {
if (a==1) printf("%s\n",tab1[b]);
if (a==2) printf("%s\n",tab2[b]);
if (a==3) printf("%s\n",tab3[b]);
if (a==4) printf("%s\n",tab4[b]);
}
printf("Koniec - k, Menu - ENTER\n : ");
fflush(stdin);
a=getchar();
}
else
a='k';
}
while (a!='k');
}
plik "dorota.h"
char tab1[15][70]={" Lista dwukierunkowa (podwojna) ",
" ",
" Elementem listy dwukierunkowej jest struktura. Zawiera ona przy- ",
"najmniej trzy skladowe. Pierwsza z nich to np. skladowa typu 'char', ",
"w ktorej bedzie przechowywane nazwisko. Dwie pozostale skaldowe sa ",
"typu 'wskaznik'. Pierwszy wskaznik zawiera adres struktury, ktora ",
"kolejnym elementem listy, a drugi zawiera adres, ktory jest poprzed- ",
"nim elementem listy. ",
" .-----------. .-----------. .-----------. ",
" | nazwisko1 |<-. .->| nazwisko2 |<-. .->| nazwisko3 | ",
" |-----------| | | |-----------| | | |-----------| ",
" | nastepny |--|--' | nastepny |<-|--' | NULL | ",
" |-----------| | |-----------| | |-----------| ",
" | NULL | `-----| poprzedni | `-----| poprzedni | ",
" `-----------' `-----------' `-----------' "};
char tab2[23][70]={" Usuwanie pierwszego elementu listy ",
" ",
" Aby usunac pierwszy element z listy dwukierunkowej nalezy do ",
"skladowej 'poprzedni' drugiego elementu listy wstawic NULL.Nastep- ",
"nie nalezy zwolnic pamiec zajmowana przez pierwszy element listy. ",
"Jezeli uzywamy w programie wskaznik na pierwszy element listy to na- ",
"lezy go uaktualnic. ",
" ",
".--------. .-----------. .-----------. .-----------. ",
"|pierwszy|-->| nazwisko1 |<-. .->| nazwisko2 |<-. .->| nazwisko3 | ",
"`--------' |-----------| | | |-----------| | | |-----------| ",
" | nastepny |--|--' | nastepny |<-|--' | NULL | ",
" |-----------| | |-----------| | |-----------| ",
" | NULL | `-----| poprzedni | `-----| poprzedni | ",
" `-----------' `-----------' `-----------' ",
" .-------------------. ",
".--------. | .-----------. | .-----------. .-----------. ",
"|pierwszy|-' | | `->| nazwisko2 |<-. .->| nazwisko3 | ",
"`--------' |-----------| |-----------| | | |-----------| ",
" | | | nastepny |<-|--' | NULL | ",
" |-----------| |-----------| | |-----------| ",
" | | | NULL | `-----| poprzedni | ",
" `-----------' `-----------' `-----------' "};
char tab3[22][70]={" Usuwanie ostatniego elementu listy ",
" ",
" Aby usunac ostatni element z listy dwukierunkowej nalezy do ",
"skladowej 'nastepny' przedostatniego elementu listy wstawic NULL. ",
" Nastepnie nalezy zwolnic pamiec zajmowana przez ostatni element ",
"listy. ",
" ",
" .-----------. .-----------. .-----------. ",
" | nazwisko1 |<-. .->| nazwisko2 |<-. .->| nazwisko3 | ",
" |-----------| | | |-----------| | | |-----------| ",
" | nastepny |--|--' | nastepny |--|--' | NULL | ",
" |-----------| | |-----------| | |-----------| ",
" | NULL | `-----| poprzedni | `-----| poprzedni | ",
" `-----------' `-----------' `-----------' ",
" ",


" .-----------. .-----------. .-----------. ",
" | nazwisko1 |<-. .->| nazwisko2 | | | ",
" |-----------| | | |-----------| |-----------| ",
" | nastepny |--|--' | NULL | | | ",
" |-----------| | |-----------| |-----------| ",
" | NULL | `-----| poprzedni | | | ",
" `-----------' `-----------' `-----------' "};
char tab4[23][70]={" Usuwanie elementu znajdujacego sie wewnatrz listy. ",
" Aby usunac element znajdujacy sie wewnatrz listy dwukierunkowej ",
"nalezy do skladowej 'nastepny' elementu poprzedzajacego element kaso-",
"wany wstawic adres elementu nastepujacego po kasowanym. Poza tym w ",
"polu 'poprzedni' elementu nastepujacego po kasowanym nalezy wstawic ",
"adres elementu poprzedzajacego element kasowany. Potem nalezy ",
"zwolnic pamiec zajmowana przez element kasowany. ",
" .-----------. .-----------. .-----------. ",
" | nazwisko1 |<-. .->| nazwisko2 |<-. .->| nazwisko3 | ",
" |-----------| | | |-----------| | | |-----------| ",
" | nastepny |--|--' | nastepny |<-|--' | NULL | ",
" |-----------| | |-----------| | |-----------| ",
" | NULL | `-----| poprzedni | `-----| poprzedni | ",
" `-----------' `-----------' `-----------' ",
" .--------------------. ",
" .-----------. | .-----------. | .-----------. ",
" | nazwisko1 |<-. | | | `->| nazwisko3 | ",
" |-----------| | | |-----------| |-----------| ",
" | nastepny |--|--' | | | NULL | ",
" |-----------| | |-----------| |-----------| ",
" | NULL | | | | .----| poprzedni | ",
" `-----------' | `-----------' | `-----------' ",
" `---------------------' "};


Wyszukiwarka

Podobne podstrony:
skrypt hipnotyczny usuwanie fobii podwojna dysocjacja
Błędy lakiernicze ocena i usuwanie
006 usuwanie wokalu
kuta,Planowanie sieci radiokomunikacyjnych,sposoby lokalizacji i usuwania usterek w odbiornikach rad
i1 Usuwanie odpadów
Usuwanie obornika
Usuwanie śniegu i lodu z dachu propozycje zmian
czyszczenie systemu debian usuwanie plików konfiguracyjnych, starych plików i pakietów
76 w sprawie sposobów i warunków bezpiecznego użytkowania i usuwania wyrobów zawierających azbest
zabezpieczaniu i usuwaniu wyrobow zawierajacych azbest!624
Writer Dodawanie i usuwanie elementów
Usuwanie tła, czyli szparowanie

więcej podobnych podstron