Вы находитесь на странице: 1из 135

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

NDICE
PRLOGO DE LA PRCTICA____________________________ 2 1 DOCUMENTACIN EXTERNA_______________________ 1.1 MANUAL DEL USUARIO________________________ 1 1 1 Re!"erimientos de #a A$#icacin%%%%%%%%%%%%%% 1 1 & ' Insta#acin de #a A$#icacin%%%%%%%%%%%%%%%%%% 1 1 ( ) *"ncionamiento de #a A$#icacin%%%%%%%%%%%%%% 1 1 + ' ,ensajes de Error Limitaciones%%%%%%%%%%%%%% 1 1 - ' Ejem$#os de "so de# $rograma %%%%%%%%%%%%%%% 1.2 - MANUAL DEL PROGRAMADOR________________ 1 & 1 ' Introd"ccin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 & & ' .iseo ,od"#ar%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 & ( ' .iseo .escendente %%%%%%%%%%%%%%%%%%%%%%% 1 & + ' Estr"ct"ras de .atos "sados %%%%%%%%%%%%%%%%% 1.3 LISTADOS_____________________________________ 1 ( 1 ) Programa Princi$a#%%%%%%%%%%%%%%%%%%%%%%%%% 1 ( & ' Unidad Entorno%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 ( ( ) Unidad En#ace%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 ( + ' Unidad Tad%,en"%%%%%%%%%%%%%%%%%%%%%%%%% 1 ( - ' Unidad Tad%/$cion%%%%%%%%%%%%%%%%%%%%%%%% 1 ( 0 ' Unidad Tad%Uti#s%%%%%%%%%%%%%%%%%%%%%%%%%% 1 ( 1 ' Unidad Tad%Indi%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 ( 2 ' Unidad Tad%I%.i%%%%%%%%%%%%%%%%%%%%%%%%%% 1 ( 3 ' Unidad Tad%4#iente%%%%%%%%%%%%%%%%%%%%%%%% 1 ( 15' Unidad Tad%*%4#iente%%%%%%%%%%%%%%%%%%%%% 1 ( 11' Unidad Tad%6ote#%%%%%%%%%%%%%%%%%%%%%%%%115 1 ( 1&' Unidad Tad%*%6ote#%%%%%%%%%%%%%%%%%%%%%%11+ 1 ( 1(' Unidad L%4#iente%%%%%%%%%%%%%%%%%%%%%%%%%1&1 1 ( 1+' Undidad L%6ote#%%%%%%%%%%%%%%%%%%%%%%%%%1&2 1.4 DISCO 31/2 ENTREGADO. CONTENIDO.__________133 1.5- BIBLIOGRA A.________________________________133

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&

PRLOGO DE LA PRCTICA. La $r7ctica !"e se describe en est8 #ibro9 :a sido $ro$"esta $or #os $ro;esores de L!"#$!%#$&# I CURSO '(/'' )* +! E,-.*+! P#+&%/-0&-! )* C1-*$*,. La $r7ctica en si tiene tres objeti<os: 1) El Diseo de un entorno de trabajo. E# c"a# nos o;rece #a <isin de# ;"ncionamiento de m"c:as otras a$#icaciones !"e "ti#i=an "n entorno $arecido 2- El uso de rutinas de un TAD ya implementado. >os da #a o$ort"nidad de rea#i=ar a$#icaciones con r"tinas ?a im$#ementadas Uso m"? ;rec"ente en em$resas () Saber realizar aplicaciones de un modo Estructurado. La programacin estructurada resa#ta #a descom$osicin de #os $rogramas en $artes manejab#es ? e# ensamb#aje $osterior de esas $artes en "n $rograma con "n ;#"jo co:erente ? #gico /bjeti<o: !"e e# a#"mno desarro##e "nos b"enos :7bitos de $rogramacin La $r7ctica consiste en e# desarro##o de "na a$#icacin !"e gestione "na agencia de <iajes La a$#icacin :a sido rea#i=ada en seis $artes: P$1-%&-! 1) E# "so de TA. $ara #a im$#ementacin de "n entorno de trabajo P$1-%&-! 2- La im$#entacin de "na estr"ct"ra de datos est7tica !"e sir<a como ace#erador de "na s"$"esta estr"ct"ra sec"ndaria P$1-%&-! 3- E# "so de "na estr"ct"ra de registro $ara #os datos de c#ientes9 ? #a im$#ementacin de o$eraciones de ;ic:eros con ti$o de #a anterior estr"ct"ra Reg4#iente9 en #os c"a#es e# acceso es sec"encia# En #as o$eraciones con estos ;ic:eros existe "n ;"erte contro# de errores P$1-%&-! 4- E# "so de "na estr"ct"ra de registro $ara #os datos de :ote#es9 ? #a im$#ementacin de o$eraciones de ;ic:eros con ti$o de #a anterior estr"ct"ra Reg6ote#9 en #os c"a#es e# acceso es directo En #as o$eraciones con estos ;ic:eros existe "n ;"erte contro# de errores P$1-%&-! 5- Ig"a# ;in !"e #a $ractica & @o#o !"e en esta $ractica #o !"e se $retende es "na mejora de gestin de #a memoria de# ordenador en tiem$o de ejec"cin de# $rograma Para e##o se im$#ementa "n estr"ct"ra de datos Indice con todas #as o$eraciones !"e se rea#i=an sobre e##a9 ta# como en #a $r7ctica &9 $ero dinmica P$1-%&-! 2- 4onsiste en #a im$#ementacion de "na estr"ct"ra de datos .in7mica ? #as o$eraciones $ara rea#i=ar sobre e##as La estr"ct"ra es "na

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

Lista de Lista9 es decir9 "na Lista c"?os nodos !"e #a ;orman son :ote#esA esos mismo nodos de :ote#es $oseen "n cam$o !"e a$"nta a "na #ista de c#ientes !"e rea#i=aron #a reser<a en e# Las Pr7cticas de #a & a #a 09 se en#a=an con #a $rimera mediante "na .0&)!) )* *0+!-* Esta "nidad como s" $ro$io nombre dice sir<e $ara en#a=ar #as o$ciones de #os menBs descritas en e# entorno de trabajo con #as o$eraciones im$#ementadas en #as otras "nidades La Pr7ctica 0 eng#oba a todas #as dem7s9 $or tanto es #a $r7ctica com$#eta

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

- DOCUMENTACIN EXTERNA. 1.1 -MANUAL DE USUARIO. 1 1 1 'Re!"erimientos de #a a$#icacin Este $rograma necesita de: - ,@)./@ ( ( o ,icroso;t CindoDsT, ( 1 o s"$erior - Un IE, o "n P4 com$atib#e (20@X '009 con +,b de RA,9 o s"$erior - Panta##a 4FA o @VFA ) >o es necesario e# ratn 1 1 & ' Insta#acin de #a a$#icacin Pasos a seg"ir: - Insertar e# disco en #a U0&)!) A )* 31/2. - Tanto con CindoDs ( 1 o s"$erior abrir "na <entana en e# !"e a$are=ca e# $romt Gc:HIJ de ,@)./@ - Ir a #a "nidad A ? tec#ear e# nombre de# arc:i<o $or #otes instalar.bat. !345&0,%!+!$."!% 6INTRO7 E# e;ecto de #a ejec"cin de este arc:i<o $or #otes es crear "n directorio en e# directorio raK= de# dico d"ro: TUREX 4 UENTE4 E8ECUTABLE4 .onde *UE>TE contendr7 todos #os arc:i<os L PA@ con e# cdigo ;"ente de# $rogramaA ? EME4UTAELE contendr7 todos #os arc:i<os L TPU ? L EXE )Ejec"tar e# arc:i<o ,E>U EXE !"e se enc"entra dentro de EME4UTAELE 1 1 ( ' *"ncionamiento de #a a$#icacin E# $rograma c"enta con c"atro men"s: )DIARIO. -INDICE. -CLIENTE. -9OTEL. Los c"a#es9 tienen de;inidas "nas

determinadas

o$ciones

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

Veamos $rimero como ;"nciona e# entorno de trabajo:

4omo m"estra #a ;ig"ra9 e# entorno de trabajo tiene tres =onas c#aramente <isib#es: !nea de "en#s $en la parte superior%. !nea de &omando $en la parte in'erior%. (entana de edicin $resto de la pantalla%. E# entorno de trabajo tiene #a sig"ientes caracteristicas: En #a #Knea de menBs se <is"a#i=an todos #o menBs !"e o;rece #a a$#icacin 4"ando no :a? ningBn menB des$#egado9 en #a LKnea de 4omandos se m"estran a#g"nas tec#as de m8todo abre<iado o s)ortcuts En caso contrario9 es decir9 existe "n menB des$#egado9 #a LKnea de 4omandos m"estra en modo de A:.)! *0 L;0*! "na bre<e ex$#icacin de #a o$eracin !"e rea#i=a #a o$cin in<ertida de# menB des$#egado en ese momento Un menB se des$#iega de dos ;ormas: aJ P"#sando *159 se abrir7 e# B#timo menB des$#egado bJ P"#sando #a tec#a NALTI m7s #a inicia# de# menB !"e se !"iera des$#egar

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

4"ando se des$#iega "n menB9 #a o$cin !"e a$arece in<ertida es #a B#tima se#eccionada #a <e= anterior !"e se abri ese mismo menB Los c"rsores Gtec#as de direccinJ nos $ermiten abrir e# menB sig"iente ? anterior a# act"a# Gderec:o e i=!"ierdoJ ? #a o$cin in;erior GabajoJ o s"$erior GarribaJ siem$re !"e :a?a "n menB abierto9 ? de ;orma circ"#ar Para cerrar "n menB sin rea#i=ar ning"na se#eccin9 se $"#sa #a tec#a NE@4I Para <a#idar #a o$cin de "n menB des$#egado9 se rea#i=ar7 de dos ;ormas: aJ P"#sando #a tec#a NI>TR/I se ejec"tar7 #a o$cin se#eccionada bJ 4ada o$cin $osee "na #etra resa#tadaA de ta# ;orma !"e9 si se $"#sa es tec#a con e# menB des$#egado9 se ejec"tar7 esa o$cin A#g"nas o$ciones tienen tec#as de m8todo abre<iado9 !"e $ermiten s" ejec"cin sin necesidad de abrir e# menB en e# !"e sitBan L#, <*0=, )* +! !>+&-!-&?03 @i :a #eKdo e# texto anterior :abr7 com$robado9 si "sted :a manejado a#gBn $rograma moderno B#timamente9 !"e e# manejo de# entorno no tiene com$#icaciones Adem7s9 con e# "so ;rec"ente de# $rograma e# "s"ario se ;ami#iari=a r7$idamente con #os rec"rsos !"e o;rece #a a$#icacin

El men DIARIO E# menB D*A+*, contiene rdenes ? c"adros de di7#ogo $ara e# contro# de "na Lista de 6ote#es9 de #a c"a#9 cada 6ote# contenida en esa #ista $osee "na Lista de 4#ientes9 !"e se crea d"rante "na sesin de trabajo con e# $rograma Esa #ista se e#imina a# sa#ir de #a a$#icacin
M#,%$!$ C+&*0%* ,"estra $or $anta##a e# 4I* de# 6ote# donde "n determinado c#iente :i=o reser<a .ic:o c#iente ser7 introd"cido $or tec#ado M#,%$!$ 9#%*+ @ 3 5 ,"estra $or $anta##a #a #ista de c#ientes9 identi;icados $or s"s >I*9 de "n determinado :ote# introd"cido $re<iamente $or tec#ado 4on AAP1B ? R*P1B nos $odemos mo<er #ibremente dentro de #a #ista de c#ientes

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

M#,%$!$ T#)# ,"estra $or $anta##a cada "no de #os 6ote#es !"e existe en #a #ista :asta ese momento9 adem7s #as res$ecti<a #ista de c#ientes de cada "no de #os :ote#es 4on ESC a<an=amos en #a #ista ? mostramos e# sig"iente :ote# O con AAP1B ? R*P1B nos $odemos mo<er #ibremente dentro de #a #ista de c#ientes A$-C&A# *0 U,# @ 1 5 ,"estra mediante "n c"adro #os nombres de #os arc:i<os en "so GasignadosJ de c#ientes ? de :ote#es S!+&$ @ A+%-X 5 Permite terminar #a ejec"cin de# $rograma9 ? sa#ir a# sistema o$erati<o ,ediante "n c"adro de di7#ogo $reg"nta a# "s"ario si desea rea#mente dejar #a sesin de trabajo ? sa#ir de# $rograma

El men NDICE E# menB I>.I4E contiene rdenes ? c"adros de di7#ogo $ara e# contro# de "n Indice c"?os e#ementos contenidos en 8# son :ote#es9 es decir9 en e# Kndice se <"e#ca todos #os :ote#es contenidos en e# arc:i<o :ote#es en "so En e# Kndice se g"ardar7 #a 4#a<e o 4I* de# 6ote# ? #a $osicin !"e tiene dentro de# arc:i<o
L&<>&!$ Lim$ia e# Indice ? #o deja com$#etamente <aci AD!)&$ ,ediante "n c"adro de di7#ogo nos $ide #a 4#a<e Gno ma?or a 3 caracteres a#;an"m8ricosJ ? #a Posicion Gentre 5 ? 33J de# e#emento !"e !"eremos introd"cir en #a estr"ct"ra Indice B#$$!$ ,ediante "n c"adro de di7#ogo nos $ide #a 4#a<e de# e#emento !"e !"eremos borrar de# Pndice @i ese e#emento est7 en e# Kndice nos $reg"nta A tra<8s de otro c"adro de di7#ogo si estamos seg"ro de borrar#o

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

M#,%$!$ ,"estra $or $anta##a "n #istado de todos #os e#ementos G:ote#esJ !"e se enc"entran en e# Indice

4on AAP1B ? R*P1B nos $odemos mo<er #ibremente dentro de #a #ista de :ote#es de# Indice9 ? con ESC sa#imos de #a o$cin

El men CLIENTE E# menB 4LIE>TE trabaja con arc:i<os c"?o contenido son #os datos de c#ientes9 es decir9 trabaja con #a in;ormacin de todos #os c#ientes Las o$eraciones !"e se rea#ice con e# arc:i<o de c#ientes en "so d"rante #a ejec"cin de $rograma re$erc"te sobre #a estr"ct"ra !"e gestiona e# menB .IARI/
N.*A# A$-C&A# @ 4 5 Pide e# nombre de "n n"e<o arc:i<o de c#ientes9 #o crea ? #o $one en "so En e# c"adro de di7#ogo !"e a$arece en $anta##a9 si se $"#sa #a barra es$aciadora NESPACE5 #istamos #os arc:i<os de c#ientes !"e se enc"entran en e# directorio act"a# O $"#sando NENTER5 nos $ermite introd"cir e# nombre de# ;ic:ero c#iente !"e !"eremos crear9 so#o c"ando a$are=ca e# c"rsor de edicin en #a =ona reser<ada a# nombre de# arc:i<o La extensin de# ;ic:ero c#iente ser7 $or de;ecto siem$re 4LI

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

U,!$ A$-C&A# @ 5 5 A$arece e# mismo c"adro de di7#ogo !"e en #a o$cin anterior9 $or #o c"a# e# $roceso es e# mismo9 sa#<o !"e en <e= de crear "n arc:i<o c#iente $one en "so "n arc:i<o c#iente ?a existente

AD!)&$ C+&*0%* @ 2 5 Pedimos e# >I* de# 4#iente !"e !"eremos !"e ;orme $arte de n"estra base de datos E# $rograma $reg"ntar7 si !"eremos re##enar e# resto de cam$o @i #a res$"esta es a;irmati<a9 :abrKa !"e introd"cir $or tec#ado: 4I* : 4digo de Identi;icacin *isca# de# 6ote# donde e# c#iente !"iere rea#i=ar #a reser<a >ombre: de# 4#iente !"e !"iere rea#i=ar #a reser<a .ireccin: de# 4#iente !"e !"iere rea#i=ar #a rese<a

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

15

>Q 6abitaciones: tota# de :abitaciones !"e !"iere :acer reser<a

B#$$!$ C+&*0%* @ E 5 Pide e# >I* de "n c#iente ? si esta en e# arc:i<o c#iente #o borra C#0,.+%!$ C+&*0%* Pide e# >I* de# 4#iente !"e se !"iere cons"#tar 9 si est8 esta en e# arc:i<o se m"estra $or $anta##a todos #os datos !"e se tienen de 8# T#)#, +#, C+&*0%*, ,"estra en $anta##a todos #os datos de todos #os 4#iente Para $asar a# sig"iente c#iente se $"#sa c"a#!"ier tec#a

El men HOTEL E# menB 6/TEL trabaja con arc:i<os c"?o contenido son :ote#es Todas #as o$eraciones !"e se rea#icen con e# arc:i<o de :ote#es en "so9 re$erc"te sobre e# Kndice
N.*A# A$-C&A# @ ( 5 Pide e# nombre de "n n"e<o arc:i<o de :ote#es9 #o crea ? #o $one en "so En e# c"adro de di7#ogo !"e a$arece en $anta##a9 si se $"#sa #a barra es$aciadora NESPACE5 #istamos #os arc:i<os de :ote#es !"e se enc"entran en e# directorio act"a# O $"#sando NENTER5 nos $ermite introd"cir e# nombre de# ;ic:ero :ote# !"e !"eremos crear9 so#o c"ando a$are=ca e# c"rsor de edicin en #a =ona reser<ada a# nombre de# arc:i<o La extensin de# ;ic:ero c#iente ser7 $or de;ecto siem$re 6/T

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11

U,!$ A$-C&A# @ ' 5 A$arece e# mismo c"adro de di7#ogo !"e en #a o$cin anterior9 $or #o c"a# e# $roceso es e# mismo9 sa#<o !"e en <e= de crear "n arc:i<o :ote#es $one en "so "n arc:i<o c#iente ?a existente AD!)&$ 9#%*+ Pedimos e# 4I* de# :ote# !"e !"eremos !"e ;orme $arte de n"estra base de datos E# $rograma $reg"ntar7 si !"eremos re##enar e# resto de cam$o @i #a res$"esta es a;irmati<a9 :abrKa !"e introd"cir $or tec#ado: >ombre: de# 4#iente !"e !"iere rea#i=ar #a reser<a .ireccin: de# 4#iente !"e !"iere rea#i=ar #a rese<a >Q 6abitaciones: tota# de :abitaciones !"e !"iere :acer reser<a 4ategorKa: es #a categorKa de# :ote# GPrimera9@eg"nda o TerceraJ Precio $or 6abitacion: e# tota# en Pesetas ? en E"ros de# $recio de cada :abitacin de# :ote# 6abitaciones oc$"$adas: >o se introd"ce ?a !"e en e# :ote# inicia#mente no se :a :ec:o reser<as de :abitaciones

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&

B#$$!$ 9#%*+ Pide e# 4I* de# 6ote# !"e se !"iere e#iminar de# arc:i<o :ote#es en "so C#0,.+%!$ 9#%*+ Pide e# 4I* de# 6ote# !"e se !"iere cons"#tar9 ? si est7 se m"estra $or $anta##a todos s"s datos L&,%!$ T#)#, ,"estra $or $anta##a "no a "no todos #os :ote#es !"e contiene e# arc:i<o :ote#es Para cons"#tar e# :ote# sig"iente o e# anterior se consig"e con AAP1B ? R*P1B res$ecti<amente9 ? con N ESC 5 s"s$endemos e# #istado M#,%$!$ >#$ C!%*B#$;! Pide $or tec#ado #a 4ategorKa de a!"e##os :ote#es !"e se !"ieren !"e se #isten Para cons"#tar e# :ote# sig"iente o e# anterior se consig"e con AAP1B ? R*P1B res$ecti<amente9 ? con N ESC 5 s"s$endemos e# #istado

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1(

1 1 + ' ,ensajes de Error Limitaciones Los mensajes de error d"rante e# manejo de# $rograma son m"? <ariados9 desde errores: RE#emento no encontradoS :asta #os errores !"e $"eden $rod"cirse con e# "so de arc:i<os E# "s"ario9 "sted9 no tendr7 $rob#emas a #a :ora de act"ar c"ando se $resente "n mensaje de error Esto es debido a !"e #os errores !"e se $"eden $rod"cir son sim$#es 1 1 - ' Ejem$#os de "so de# $rograma .es$#eg"emos e# menB 6/TEL

Una <e= des$#egado9 se#eccionamos #a o$cin mostrar por categor!a e introd"cimos !"e #a #ista de :ote#es !"e !"eremos <er9 <a a ser de Segunda-

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1+

.e #a categorKa Segunda en e# arc:i<o :ote#es so#o :a? "n :ote#:

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1-

1.2- MANUAL DEL PROGRAMADOR 1 & 1) Introd"ccin La a$#icacin desarro##a consiste en #a gestin de #os c#ientes ? :ote#es !"e estan en contacto con "na agencia de <iajes: TUREX Agencia de <iajes ExtremeaT E# $rograma en si trabaja con di;erentes estr"ct"ras de datos9 como arra?s de registros9 ;ic:eros con ti$o de acceso sec"encia#9 ;ic:eros con ti$o de acceso directo9 #istas $ara "na mejora en #a o$timi=acin de #a memoria de# ordenador en tiem$o de ejec"cin E# $rograma #o !"e $retende !"e #a agencia de <iajes TUREX $"eda tener "n contro# mejor de ? $ara s"s c#ientes9 asK de "na gestin de #as reser<a de :abitaciones en #os :ote#es asociados

1 & & '.iseo ,od"#ar E# Programa Princi$a# "sa: ) Unidad Entorno La Unidad Entorno "sa: - 4RT - Tad%/$cion - Tad%,en" - Tad%Uti#s - Tad%I%.i G.in7micoJTad%Indi GEst7ticoJ - En#ace - L%6ote# La Unidad Tad%/$cion "sa: ) 4RT La Unidad Tad%,en" "sa: - 4RT - Tad%/$cion - Tad%Uti#s La Undiad Tad%Uti#s "sa: - 4RT - ./@ La Unidad En#ace "sa: - 4RT - Tad%,en" - Tad%Uti#s - Tad%I%.i G.in7micoJTad%Indi GEst7ticoJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

10

- Tad%4#iente - Tad%*%4#iente - Tad%6ote# - Tad%*%6ote# - L%6ote# La Unidad Tad%I%.i G.in7micoJTad%Indi GEst7ticoJ no re!"iere de otras "nidades La Unidad Tad%4#iente "sa: - 4RT - Tad%,en" - Tad%Uti#s La Unidad Tad%*%4#iente "sa: - Tad%Uti#s - Tad%4#iente La Unidad Tad%6ote# "sa: - 4RT - Tad%,en" - Tad%Uti#s9 - Tad%4#iente La Unidad Tad%*%6ote# "sa - Tad%6ote# - Tad%I%.i G.in7micoJTad%Indi GEst7ticoJ - Tad%Uti#s La Unidad L%4#ient "sa: - 4RT - Tad%,en" - Tad%Uti#s - Tad%4#iente La Unidad L%6ote# "sa: - 4RT - Tad%,en" - Tad%Uti#s - Tad%4#iente - L%4#ient 1 & ( ' .iseo .escendente E# diseo descendente de #a $r7ctc comien=a con e# $rograma $rinci$a#:

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11

I>I4I/ 1 InitEntorno & FestrosEntorno ( *inEntorno *I> AJPrimer ni<e# E# $rocedimiento *nitEntorno es e# encargado de inicia#i=ar tanto #a $anta##a como a!"e##as <ariab#es !"e tienen !"e ser inicia#i=adoas E# .estorEntorno es e# encargado de com$robar e# estado de# tec#ado ? com$robar #a tarea a e;ect"ar $ara cada tec#a $"#sada E# $rocedimiento de ;ina#i=acin borrara #a $anta##a de# entorno ? resta"rar7 #os atrib"tos de# sistema o$erati<o antes de ;ina#i=ar #a ejec"cin 1 PR/4E.I,IE>T/ */*TE/T,+/, I>I4I/ 1 1 /c"#tar4"rsor 1 & Init,en" 1 ( Pinta,en"Pra# 1 + Pinta,en"In; 1 - PintaVentanaTexto *I> E# $rocedimiento ,cultar&ursor sim$#emente oc"#ta e# c"rsor de edicin E# $rocedimiento *nit"enu inicia#i=a #a estr"ct"ra de datos !"e a#macena #os di;erentes menBs con s"s o$ciones Los otros tres sig"ientes $intan res$ecti<amente #a #Knea de menBs9 #a #Knea de comandos ? #a <entana de texto centra# E# $rocedimiento .estorEntorno tiene este $se"docdigo: & PR/4E.I,IE>T/ .EST,+E/T,+/, I>I4I/ R*>*!% Leer G4ar7cterJ IF Es Tec#a Es$ecia# TC*0 & 1 ProcTec#aEs$ecia# E+,* & & ProcTec#a>orma# IF ,en"/$en TC*0 Pinta,en"In;GLast,en"9 ,ULast,en"V Uact<J U0%&+ *inEjec"cin *I>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

12

@im$#emente9 <a #e?endo tec#as ? determinado si se trata de "na tec#a de ;"ncin Gcdigo inicia# AscII 5J o "na tec#a norma#9 ##amando a# $rocedimiento adec"ado9 :asta !"e ;ina#i=a #a ejec"cin Gcontro#ado $or "na <ariab#e boo#eana 0inEjecucinJ @i :a? "n menB des$#egado9 indicado $or #a <ariab#e boo#eana "enu,pen1 e# $rocedimiento 2inta"enu*n' $inta en #a #Knea de 4omandos #a AOU.A en LP>EA de #a o$cin de# menB act"a#mente des$#egado Por B#timo9 e# $se"docdigo de# $rocedimiento 0inEntorno es: ( PR/4E.I,IE>T/ 0*/E/T,+/, I>I4I/ Resta"rar co#ores Lim$iar $anta##a Liberar memoria *I> 4omo se $"ede obser<ar se resta"ran #os co#ores origina#es de #a $anta##a de# sistema o$erati<o 9 se #im$ia #a $anta##a ? se #ibera #a memoria "sada en #as estr"ct"ras din7micas de datos creadas d"rante #a ejec"cin de# $rograma EJ@eg"ndo ni<e#: E# $rocedimiento 2rocTeclaEspecial G& 1J es "na estr"ct"ra 4A@E) /* !"e $ara cada tec#a rea#i=a "na ;"ncin di;erente Tiene !"e rea#i=ar "na seg"nda #ect"ra $ara recoger e# <a#or de# seg"ndo cdigo de #a tec#a es$ecia# $"#sadaA #as de "so ob#igatorio son: E# c"rsor a #a derec:a GJ9 si :a? "n menB abierto #o cierra9 ? abre e# sig"iente E# c"rsor a #a i=!"ierda GJ9 si :a? menB abierto9 #o cierra ? abre e# anterior E# c"rsor arriba G J9 si :a? "n menB abierto9 se#ecciona #a o$cin anterior a #a act"a# E# c"rsor abajo G J9 si :a? menB abierto9 se#ecciona #a o$cin $osterior a #a act"a# La tec#a *15 ##ama a# $rocedimiento Abre"enu G ni<e# (J $ara !"e abra e# B#timo menB des$#egado La tec#a N A#t I m7s #a inicia# de# nombre de# menB9 ##ama a# $rocedimiento Abre"enu $ara !"e abra e# menB corres$ondiente9 si no :a? a#gBn menB des$#egado antes O #as dem7s: @on #as otras tec#as de ;"ncin: *19 *&9 *(9 *+9 *-9 *09 *19 *2 ? *3

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

13

!"e ##aman a# $rocedimiento Ejecutar G ni<e# +J9 donde cada "na de estas tec#as de ;"ncin est7 re#acionada con "na o$cin de "n determinado menB E# $rocedimiento 2rocTecla/ormal G & &J es simi#ar9 sa#<o !"e no se rea#i=a "na seg"nda #ect"ra de cdigo de #a tec#a $"#sada $"esto !"e no son tec#as es$ecia#es9 ? se tienen en c"enta s#o dos casos es$ecia#es: La tec#a N E@4 I @i :a? a#gBn menB abierto9 se ejec"ta e# $rocedimiento &ierra"enu9 !"e restab#ece #a <entana de texto La tec#a N Intro I @i :a? a#gBn menB abierto ##ama a# $rocedimientos Ejecutar Gni<e# (J indicando#e e# menB ? #a o$cin a ejec"tar Para c"a#!"ier otra tec#a se ##ama a# $rocedimiento 2oc etra Gni<e# (J9 !"e decidir79 si :a? menB abierto9 si #a tec#a $"#sada coincide con #a #etra es$ecia# de a#g"na de #as o$ciones anteriores de# menB9 ? en ese caso mandar7 ejec"tar dic:a o$cin 4JTercer ni<e# E# $rocedimiento 2roc etra9 ##amado desde 2rocTecla/ormal9 sim$#emente b"sca si :a? "n menB abierto9 #a #etra es$ecia# de "na o$cin !"e coincida con #a tec#a !"e e# "s"ario $"#s @i #a enc"entra9 manda ejec"tar dic:a o$cin PR/4E.I,IE>T/ 2roc etras GTec#aJ I>I4I/ I ,en"/$en T9EN BEGIN G9IT ,en" Abierto DO BEGIN E"scar tec#a entre #as o$ciones de# menB END I Encontrado T9EN BEGIN Poner o$cin se#eccionada como act"a# Ejec"tarG,en"9 /$cionJ Gni<e# +J END END *I> .J4"arto ni<e# En e# describimos a# $rocedimiento Ejecutar9 e# c"a# recibe e# menB ? #a o$cin a ejec"tar9 ? mediante "na dob#e estr"ct"ra 4A@E)/* ##ama a# $rocedimiento adec"ado Este es e# s$e"docdigo de# $rocedimiento EjecutarPR/4E.I,IE>T/ Ejecutar. INICIO 4ierra ,en" des$#egado

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&5

CASE >,en" O 1: GL.IARI/LJ CASE /$cion O 1: ,ostrar4#iente%L G- 1J &: ,ostrar6ote#%L G- &J (: ,ostrarTodo%LG- (J +: ,ostrarArc:i<oUsoG- +J -: @a#ir END &: GL I>.I4E LJ CASE /$cion O 1: Lim$iarIndiceG- -J &: InsertarIndiceG- 0J (: EorrarIndiceG- 1J +: ,ostrarIndiceG- 2JA END (: GL LIE>TE LJ CASE /$cion O 1: >"e<o%4# G- 3J &: Usar%4# G - 15J (: Anadir%4# G - 11J +: Eorrar%4# G - 1&J -: 4ons"#ta%4# G- 1(J 0: Todo%4# G- 1+J END +:GL6/TELLJ CASE /$cion O 1: >"e<o%6G- 1-J &: Usar%6G- 10J (: Anadir%6G- 11J +: Eorrar%6G- 12J -: Reser<ar%6G- 13J 0: 4ons"#tar%6G- &5J 1: List%Todo%6G- &1J 2: List%4ategoriaG- &&J END

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&1

END IN

EJW"into ni<e# A este ni<e# se enc"entran im$#entados todos #os $rocedimientos !"e se enc"entran de;indidos en #a "nidad En#ace Los $rocedimientos re#acionados con e# menB .IARI/ PR/4E.I,IE>T/ ,ostrar4#iente%L G- 1J I>I4I/ Lee4#ienteG>I*J I Esta T9EN ,ostrar en $anta##a e# :ote# donde :i=o reser<a *I> PR/4E.I,IE>T/ ,ostrar6ote#%L G- &J I>I4I/ Lee6ote#G4I*J I Esta T9EN ,ostrar en $anta##a e# #istado de s"s c#ientes *I> PR/4E.I,IE>T/ ,ostrarTodo%LG- (J I>I4I/ G9ILE no se acabe #a #ista DO BEGIN ,ostrar 6ote# ,ostrar #istado de s"s c#ientes END *I> PR/4E.I,IE>T/ ,ostrarArc:i<oUsoG- +J I>I4I/ I Arc:i<o 4#iente en "so T9EN ,ostrar s" nombre en $anta##a I Arc:i<o 6ote# en "so T9EN ,ostrar s" nombre en $anta##a *I> Los $rocedimientos re#acionados con e# menB I>.I4E PR/4E.I,IE>T/ Lim$iarIndiceG- -J I>I4I/ Lim$iar ? dejar <aci e# Indice *I>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&&

PR/4E.I,IE>T/ InsertarIndiceG- 0J I>I4I/ Lee4#a<eG4I*J LeePosicionGentre 5) 33J I no esta en e# Indice T9EN #o introd"cimos *I> PR/4E.I,IE>T/ EorrarIndiceG- 1J I>I4I/ Lee4#a<eG4I*J I esta en e# Indice T9EN #o e#iminamos *I> PR/4E.I,IE>T/ ,ostrarIndiceG- 2J I>I4I/ ,ostrar e# contenido de# Indice *I> Los $rocedimientos re#acionados con e# menB 4LIE>TE PR/4E.I,IE>T/ >"e<o%4# G- 3J I>I4I/ Lee>ombreArc:i<o4#ientesG2 caracteres X 4LIJ I >o existe T9EN Lo 4rea ELSE Lo borra ? crea "no n"e<o Lo $one en "so *I> PR/4E.I,IE>T/ Usar%4# G - 15J I>I4I/ Lee>ombreArc:i<o I Existe T9EN Lo $one en "so *I> PR/4E.I,IE>T/ Anadir%4# G - 11J I>I4I/ Lee4#ienteG>I*J I >o esta T9EN BEGIN

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&(

Pide e# resto de #os datos Lo introd"ce en e# arc:i<o de c#ientes Lo introd"ce en #a Lista de .iario END ELSE ,"estra todos s"s datos en $anta##a *I> PR/4E.I,IE>T/ Eorrar%4# G - 1&J I>I4I/ Lee4#ienteG>I*J I Esta T9EN BEGIN Lo borra de# arc:i<o c#ientes Lo borra de #a #ista .iario END *I> PR/4E.I,IE>T/ 4ons"#ta%4# G- 1(J I>I4I/ Lee4#ienteG>I*J I Esta T9EN ,"estra s"s datos en $anta##a *I> PR/4E.I,IE>T/ Todo%4# G- 1+J I>I4I/ G9ILE no se acabe #os c#ientes de# :ote# DO BEGIN ,ostrar datos 4#ientes END *I> Los $rocedimientos re#acionados con e# menB 6/TEL PR/4E.I,IE>T/ >"e<o%6G- 1-J I>I4I/ Lee>ombreArc:i<o6ote#esG2 caracteres X 6/TJ I >o existe T9EN Lo 4rea ELSE Lo borra ? crea "no n"e<o Lo $one en "so *I> PR/4E.I,IE>T/ Usar%6G- 10J I>I4I/ Lee>ombreArc:i<o I Existe T9EN BEGIN Lo $one en "so

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&+

V"e#ca todo e# contenido en e# Indice END *I>

PR/4E.I,IE>T/ Anadir%6G- 11J I>I4I/ Lee6ote#G4I*J I >o esta en e# Indice T9EN BEGIN Pide e# resto de #os datos Lo introd"ce en e# arc:i<o de 6ote#es Lo intrdo"ce en e# Indice END ELSE ,"estra todos s"s datos en $anta##a *I> PR/4E.I,IE>T/ Eorrar%6G- 12J I>I4I/ Lee6ote#G4I*J I Esta en e# Indice T9EN BEGIN Lo borramos de# arc:i<o 6ote#es Lo borramos de# Indice END *I> PR/4E.I,IE>T/ Reser<ar%6G- 13J I>I4I/ Lee6ote#G4I*J I 6a? :abitaciones #ibres T9EN 6acer e;ecti<a #a reser<a *I> PR/4E.I,IE>T/ 4ons"#tar%6G- &5J I>I4I/ Lee6ote#G4I*J I Esta en e# Indice T9EN BEGIN Leer 6ote# de# Arc:i<o ,ostrar Todos s"s datos END

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&-

*I> PR/4E.I,IE>T/ List%Todo%6G- &1J I>I4I/ G9ILE 6a?a :ote#es DO ,ostrar s"s datos en $anta##a *I> PR/4E.I,IE>T/ List%4ategoriaG- &&J I>I4I/ Pedir4ategoria I 6a? :ote#es de esa categorKa T9EN ,ostrar s" datos en $anta##a *I> 1 & + ' Estr"ct"ra de datos "sasdos E0 +! U0&)!) E0%#$0#
4/>@T Tec#aEs$ Y Z5A GL 4[digo de ins$ecci[n LJ Enter Y Z1(A Esc Y Z&1A A#t%. A#t%I A#t%4 A#t%6 A#t%X *1 *& *( *+ **0 *1 *2 *3 *15 Y Z(&A Y Z&(A Y Z+0A Y Z(-A Y Z+-A Y Z-3A Y Z05A Y Z01A Y Z0&A Y Z0(A Y Z0+A Y Z0-A Y Z00A Y Z01A Y Z02A

4%I=da Y Z1-A 4%.c:a Y Z11A 4%Abajo Y Z25A 4%Arriba Y Z1&A 4o#or*ondo*ina# Y E#ac\A GLAtrib"tos origina#es de# ,@)./@LJ 4o#orTexto*ina# Y Lig:tFra?A

E0 +! U0&)!) T!)_M*0.
4/>@T 4o#or*ondo,en"YLig:tFra?A 4o#orEorde,en"YE#ac\A 4o#orLetras,en"YE#ac\A 4o#orLetra,ainYRedA ]4o#or de ;ondo de "n men^_ ]4o#or de# borde de "n men^_ ]4o#or de #as #etras de# men^_ ]4o#or de #a #etra de se#ecci[n de# men^_

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&0

4o#or*ondoTextoY E#"eA 4o#orTextoY C:iteA 4o#orIn<>ame,en"YE#"eA 4o#or*ondoIn<,en"YFreenA ,ax,en"sY+A ,ax/$cionesY2A

]4o#or de# ;ondo de #a <entana centra#_ ]4o#or de# texto norma#_ ]4o#or de #as #etras de "n men^ in<ertido_ ]4o#or de# *on;o de# >ombre de# men" in<ertido_ ]>^mero m ximo de men^s en e# sistema_ ]>^mero m ximo de o$ciones en #os men^s_

TOPE Rec,en"YRE4/R. >ombr:@tringU&5VA ]>ombre de# men^_ 4ar:46ARA ]4aracter de a$ert"ra_ Pos:E?teA ]Posici[n inicia#_ 4o#9 ]4o#"mna de# nombre en $anta##a_ Anc:o9 ]Anc:o de# men^_ >/$s9 ]>^mero rea# de o$ciones_ Uact<:E?teA ]/$ci[n acti<a de# men^_ /$cs:ARRAO U1 ,ax/$cionesV /* Rec/$cA ]Lista de o$ciones de# men^_ E>.A ]Rec,en"_ Ti$o,en"sYARRAO U1 ,ax,en"sV /* Rec,en"A VAR Last,en" :E?teA ,en"/$en :Eoo#eanA ]8#timo men^ se#eccionado en e# sistema_ ]Variab#e !"e indica si :a? a#g"n men^ abierto o no_

E0 +! U0&)!) T!)_O>-&#0
4/>@T 4o#orText/$cionYE#ac\A ] 4o#or de# nombre de #a o$ci[n_ 4o#orEac\/$cionYLig:tgra?A ] 4o#or de# ;ondo de #a o$ci[n_ 4o#orEs$ecia#YRedA ] 4o#or de #a #etra es$ecia# de #a o$ci[n_ TOPE Rec/$cYRE4/R. >om:@TRI>FU&5VA 4ar:46ARA Pos:EOTEA E>.A

] >ombre de #a o$ci[n_ ] 4aracter es$ecia# o de se#ecci[n de #a o$ci[n_ ] Posici[n !"e oc"$a e# caracter es$ecia# en e# nombre_

E0 +! U0&)!) T!)_U%&+,
TOPE Ti$o4jnto Y @ET /* 46ARA Ti$o.ia#ogo Y GA<iso9ErrorJA Ti$oExtensionY @tringU(VA

E0 +! U0&)!) E0+!-*
VAR Indi: IndiceA ])))))))))))_ >ame*4#i :@tringA *4#i :*%4#ienteA ])))))))))))_ >ame*6ot :@tringA *6ot :*%6ote#A ])))))))))))_ Lista6:$6ote#A ])))))))))))_ GLVariab#e F#oba# re#acionada con e# ,en" IndiceLJ GLVariab#es F#oba#es re#acionadaes con e# ,en" 4#ienteLJ GLVariab#es F#oba#es re#acionadas con e# ,en" 6ote#LJ GLVariab#e F#oba# re#acionada con e# ,en" .iarioLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&1

E0 +! U0&)!) T!)_I0)&
4/>@T ,axE#tosY 155A ,axPos Y 33A TOPE T$%4#a<eY @tringU3VA PosicionY 5 ,axPosA PosIndiceY 5 ,axE#tosA GL Para !"e conc"erde con e# 4I* de #os 6ote#es LJ GL 6a? 155 Posiciones Uti#i=ar` e# 5 $ara indicar #a $osicion de# Primer e#emento de# ;ic:ero :ote# LJ GL 6a? 155 Posiciones Uti#i=ar` e# 1 $ara indicar #a $osicion de# Primer e#emento de# Indice O con e# 5 indicare !"e no :a? e#ementosLJ

RegIndiceY RE4/R. 4#<:T$%4#a<eA Pos:PosicionA E>.A Ti$oArra?Y ARRAO U1 ,axE#tosV /* RegIndiceA IndiceY RE4/R. E#to:Ti$oArra?A >"m:PosIndiceA E>.A

E0 +! U0&)!) T!)_I_D&
4/>@T ,axPosY33A ,axE#tosY155A TOPE T$%4#a<e Y @tringU3VA Posicion Y 5 ,axPosA

GL Para !"e conc"erde con e# 4I* de #os 6ote#es LJ GL 6a? 155 Posiciones Uti#i=ar` e# 5 $ara indicar #a $osicion de# Primer e#emento de# ;ic:ero :ote# LJ PosIndice Y 5 ,axE#tosA GL 6a? 155 Posiciones Uti#i=ar` e# 1 $ara indicar #a $osicion de# Primer e#emento de# Indice O con e# 5 indicare !"e no :a? e#ementos LJ Reg.atos Y RE4/R. 4#<: T$%4#a<eA Pos: PosicionA E>.A T$%IndiceYaRegIndiceA RegIndice Y RE4/R. .at : Reg.atosA s"ce: T$%IndiceA E>.A Indice Y RE4/R. >"m : PosIndiceA GL Va a contener e# nb de e#ementos de #a #ista LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea Primero: T$%IndiceA E>.A GL Va a $"ntar a# $rimer e#emento de #a #istaLJ

&2

E0 +! U0&)!) T!)_C+&*0%*
TOPE Ti$o>I* Y @tringU3VA Ti$o4I* Y @tringU3VA Reg4#iente Y RE4/R. >I* :Ti$o>I*A 4I* :Ti$o4I*A GL >^mero de Identi;icaci[n *isca# de# 4#iente LJ GL 4odigo de Identi;icaci[n *isca# de# 6ote# donde :ace #a reser<a LJ >ombre%4#i :@tringU-5VA GL >ombre de# 4#iente LJ .ireccion%4#i :@tringU05VA GL .irecci[n de# 4#iente LJ 6ab%Reser<adas:CordA GL >b de 6abitaciones !"e reserba LJ

E>.A

E0 +! U0&)!) T!)_ _C+&*0%*


TOPE GL.e;inimos "na estr"ct"ra sec"ndaria con ti$o: Reg4#ienteLJ *%4#iente Y *ILE /* Reg4#ienteA VAR GLVariab#e F#oba# de contro#LJ Asignado%*4:Eoo#eanA GL Toma "n <a#or TRUE si :a? "n ;ic:ero de ti$o c#iente asignado LJ

E0 +! U0&)!) T!)_9#%*+
TOPE GL de;inimos "n ti$o s"brango $ara #a categorca LJ GL 5:>ing"naA 1:PrimeraA &:@eg"ndaA (ATercera LJ Ti$o4ategoriaY 5 (A Reg6ote# Y RE4/R. 4I* : Ti$o4I*A >ombre%6 : @tringU-5VA .ireccion%6 : @tringU05VA 4ategor : Ti$o4ategoriaA >%6ab9 6ab%/c"$adas9 Precio%6ab : CordA END;

GL 4idigo de Identi;icacin *Ksca# de# 6ote#LJ GL >ombre de# 6ote# LJ GL .ireccin de# 6ote#LJ GL 4ategorKa de# 6ote#LJ GL >Q de 6abitaciones !"e $osee e# 6ote# LJ GL >Q de 6abitaciones !"e tiene oc$"dadas e# 6ote#LJ GL Precio $or :abitacin de# 6ote# LJ

E0 +! U0&)!) T!)_ _9#%*+


TOPE GL.e;inimos "na estr"ct"ra sec"ndaria con ti$o: Reg6ote#LJ *%6ote#Y*ILE /* Reg6ote#A VAR GLVariab#es internas de contro#LJ Asignado%*6:Eoo#eanA GL Toma "n <a#or TRUE si :a? "n ;ic:ero de ti$o :ote# asignado LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

&3

E0 +! U0&)!) L_C+&*0%
TOPE $4#ienteYa>odo4#ienteA >odo4#ienteYRE4/R. >I*:Ti$o>I*A s"ce:$4#ienteA E>.A

E0 +! U0&)!) L_9#%*+
TOPE $6ote# Ya>odo6ote#A >odo6ote# Y RE4/R. s"ce : $6ote#A 4I* : Ti$o4I*A Lista4#ientes: $4#ienteA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(5

1.3 LISTADOS 1 ( 1) Programa Princi$a#


] Pr ctica de LAE/RAT/RI/ .E PR/FRA,A4Id> I 4"rso 1332e33 A#"mno: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ AULA 4 ( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n: &&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ PR/FRA, ,E>UA U@E@ E>T/R>/A EEFI> InitEntornoA FestorEntornoA *inEntornoA E>.

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(1

1 ( &' Unidad Entorno


] U>I.A. E>T/R>/: Es #a !"e contiene todos #as r"tinas de contro# de# entorno de trabajo

Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT E>T/R>/A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ 4RT9 TA.%/P4I/>9 TA.%,E>U9 TA.%UTIL@9 L%6/TEL9 TA.%I%.I9 E>LA4EA PR/4E.URE InitEntornoA PR/4E.URE FestorEntornoA PR/4E.URE *inEntornoA VAR , : Ti$o,en"sAGL Va a contener #os datos de# men"LJ *inEjec"cion: Eoo#eanA GL Va a contro#ar #a ejec"ci[n de# $rograma9es decir9 indica en cada momento si se sig"e ejec"tando e# entorno de trabajo o se termina #a ejec"ci[n de# $rograma LJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ 4/>@T Tec#aEs$ Y Z5A GL 4[digo de ins$ecci[n LJ Enter Y Z1(A Esc Y Z&1A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(&

A#t%. A#t%I A#t%4 A#t%6 A#t%X *1 *& *( *+ **0 *1 *2 *3 *15

Y Z(&A Y Z&(A Y Z+0A Y Z(-A Y Z+-A Y Z-3A Y Z05A Y Z01A Y Z0&A Y Z0(A Y Z0+A Y Z0-A Y Z00A Y Z01A Y Z02A

4%I=da Y Z1-A 4%.c:a Y Z11A 4%Abajo Y Z25A 4%Arriba Y Z1&A 4o#or*ondo*ina# Y E#ac\A GLAtrib"tos origina#es de# ,@)./@LJ 4o#orTexto*ina# Y Lig:tFra?A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE PresentacionA ] ,"estra en $anta##a e# TITUL/ .E LA PRg4TI4A _ EEFI> CI>./CG1919259&-JA TEXTEA4hFR/U>.GELA4hJA 4LR@4RA Pinta4"adroG0919119&&9 4o#orEorde,en"9 4o#or*ondo,en"9 TRUE9*AL@EJA PintaTexto4entradoG09119294o#orTexto94o#or*ondo,en"9 iPRA4TI4A 0: LAE/RAT/RI/ .E PR/FR,A4I/> I 4UR@/ 32e33iJA Pinta4"adroG29391-9&594o#orEorde,en"94?an 9TRUE9TRUEJA PintaTexto4entradoG-91-9119E#"e94?an9i AFE>4IA .E VIAME@ EXTRE,EjAiJA PintaTexto4entradoG-91-91&9E#"e94?an9i kkkkkkkkkk kkkkkk kkkkk kk kk iJA PintaTexto4entradoG-91-91(9E#"e94?an9i llllllllllm llllllm lllllm llm llmiJA PintaTexto4entradoG-91-91+9E#"e94?an9i llmmmmm l l llm nllm lmmmmm llm llm iJA PintaTexto4entradoG-91-91-9E#"e94?an9i llm lm lm llllllmm lllm lllmm iJA PintaTexto4entradoG-91-9109E#"e94?an9i llm lm lm llm llm lmm llm llm iJA PintaTexto4entradoG-91-9119E#"e94?an9i llm lllllll llm llm lllllm llm llmiJA PintaTexto4entradoG-91-9129E#"e94?an9i mm mmmmmmm mm mm mmmmm mm mmiJA Es$era G291-9129Oe##oD94o#or*ondo,en"9 TRUEJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

((

E>.A

PR/4E.URE 4reditosA ] ,"etra en $anta##a #os 4R.IT/@ .E LA PRg4TI4A _ EEFI> Pinta4"adroG&59090591294o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA Pinta4"adroG&1929-291-94o#orEorde,en"94?an9TRUE9TRUEJA PintaTexto4entradoG&590593 9E#"e94?an9i LAE/RAT/RI/ .E PR/FRA,A4Id> I iJA PintaTexto4entradoG&59059159E#"e94?an9i A"tor: Mos` Antonio 4ordero iJA PintaTexto4entradoG&59059119E#"e94?an9i FRUP/ 1 eI T I @I@TE,A@ 4 ( iJA PintaTexto4entradoG&590591(9E#"e94?an9i PR/*E@/R PRA4TI4A@: iJA PintaTexto4entradoG&590591+9E#"e94?an9i *ernando @ nc:e= *ig"eroaiJA Es$era G&59059109Oe##oD9 4o#or*ondo,en"9 *AL@EJA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE InitEntornoA ] Procedimiento se encarga de Inicia#i=ar todo a!"e##o re;erente a# men": Panta##a ? <ariab#es asociadas _ EEFI> /c"#ta4"rsorA PresentacionA Init,en"G,JA Pinta,en"Pra#G,JA Pinta,en"In;G595JA PintaVentanaTextoA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Ejec"tar G>,en"9 /$cion: E?teJA ] Procedimiento !"e <a a ##amar #a o$ci[n9 /$cion9 de# men" 9 ,en"9 $ara s" ejec"ci[n Par metros de: LEntrada ,en"9 /$cion: E?teA _ VAR c: 4:arA GLVa a recoger #a contestaci[n >egati<a o Positi<a de# Us"ario a "na $reg"nta rea#i=ada en #a o$ci[n @a#ir de# ,en" .IARI/ LJ A"xEoo#ean:boo#eanA GL@o#o sir<e $ara !"e a# ##amar Usar4# de# men" 4#iente no de $rob#emasLJ EEFI> 4ierra,en"G,JA 4A@E >,en" /* 1: GL.IARI/LJ 4A@E /$cion /* 1: ,ostrar4#iente%LGLista6JA &: ,ostrar6ote#%LGLista6JA (: ,ostrarTodo%LGLista6JA +: ,ostrarArc:i<oUsoA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(+

-: EEFI> GL/$cion @a#irLJ Pinta4"adroG291&91191094o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA GL ,"estra en $anta##a "n c"adro de di #ogo LJ PintaTexto4entradoG291191+9E#"e94o#or*ondo,en"9 ioW"iere "sted @a#ir rea#mentep G@e>JiJA c:YLee4:arGUisi9i@i9i>i9iniVJA GL@i #a res$"esta es si *inEjec"ion toma "n <a#or VER.A.ER/9 con #o c"a# se termina #a ejec"ci[n de# $rograma LJ I* GcYisiJ /R GcYi@iJ T6E> *inEjec"cion :Y TRUEA PintaVentanaTextoA E>.A E>.A &: GL I>.I4E LJ 4A@E /$cion /* 1: Lim$iarIndiceGIndiJA &: InsertarIndiceGIndiJA (: EorrarIndiceGIndiJA +: ,ostrarIndiceGIndiJA E>.A (: GL LIE>TE LJ 4A@E /$cion /* 1: >"e<o%4# G *4#iJA &: Usar%4# G *4#i9AUXboo#eanJA (: Anadir%4# G *4#iJA +: Eorrar%4# G *4#iJA -: 4ons"#ta%4# G*4#iJA 0: Todo%4# G*4#iJA E>.A +:GL6/TELLJ 4A@E /$cion /* 1: >"e<o%6G*6otJA &: Usar%6G*6ot9AUXboo#eanJA (: Anadir%6G*6otJA +: Eorrar%6G*6otJA -: Reser<ar%6G*6otJA 0: 4ons"#tar%6G*6otJA 1: List%Todo%6G*6otJA 2: List%4ategoriaG*6otJA E>.A E>.A E>.A

PR/4E.URE ProcTec#aEs$A ] E<a#^a !"e tec#a es$ecia# se :a $"#adado9 ? com$r"eba si es "na de #as tec#as !"e se :an "ti#i=ado $ara identi;icar a "na o$ci[n de "no de #os

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(-

men"s de q,en"q O rea#i=a #a o$eraci[n con #a !"e est n em$arentados en este $rograma _ VAR 4 : 4:arA GLVa a contener e# seg"ndo c[digo de #a tec#a es$ecia# $"#sada LJ >,en": E?teA EEFI> 4 :Y Readhe?A GL Una <e= com$robado en e# $rocedimiento FestorEntorno !"e se a $"#sado tec#a es$ecia#9 recogemos e# otro c[dido de #a tec#a es$ecia# $"#sada LJ 4A@E 4 /* *1: Ejec"tar G19+JA *&: Ejec"tar G19(JA *(: Ejec"tar G19&JA *+: Ejec"tar G(91JA *-: Ejec"tar G(9&JA *0: Ejec"tar G(9(JA *1: Ejec"tar G(9+JA *2 : Ejec"tarG+91JA *3 : Ejec"tarG+9&JA *15: I* >ot ,en"/$en T6E> Abre,en"G Last,en"9 ,JA 4%.c:a: I* ,en"/$en T6E> EEFI> >,en" :Y Last,en" X 1A I* >,en" I ,ax,en"s T6E> >,en" :Y 1A Abre,en" G >,en"9 ,JA E>.A 4%I=da: I* ,en"/$en T6E> EEFI> >,en" :Y Last,en" ) 1A I* >,en" N 1 T6E> >,en" :Y ,ax,en"sA Abre,en" G >,en"9 ,JA E>.A 4%Arriba: I* ,en"/$en T6E> /$cionAnteriorG,JA 4%Abajo: I* ,en"/$en T6E> /$cionPosteriorG,JA

A#t%.: I* G>/T ,en"/$enJ /R GLast,en"NI1J T6E> Abre,en"G19,JA A#t%6: I* G>/T ,en"/$enJ /R GLast,en" NI+J T6E> Abre,en"G+9,JA A#t%I: I* G>/T ,en"/$enJ /R GLast,en" NI&J T6E> Abre,en"G&9,JA A#t%4: I* G>/T ,en"/$enJ /R GLast,en" NI(JT6E> Abre,en"G(9,JA A#t%X: Ejec"tarG19-JA E>.A E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(0

PR/4E.URE ProcLetras G 4: 4:arJA ] Este Procedimiento9 des$"`s de #as distintas discrimininaciones !"e :a s";rido #a tec#a $"#sada )contenida en #a <ariab#e 4)9 <a :a rea#i=ar "na ^#tima discriminaci[n Va e<a#"ar si :a? "n men" abierto9 ? si #o :a?9 com$robar si #a tec#a $"#sada es "na de #as #etras )caracteres) es$ecia#es de "na de #as o$ciones de# ,en" des$#egado en ese j"sto momento Esta com$robaci[n est contro#ada $or "n <ariab#e boo#eana iEnci En e# caso de !"e ;"era "na #etra es$ecia#9 ##amarca a# $rocedimiento Ejec"tar indicando#e #a o$ci[n de# men" a ejec"tar Par metros de: LEntrada 4: 4:arA YYI 4ontiene e# caracter $"#sadoA !"e $"ede ser "na #etra es$ecia# de "no de #os men"s des$#egado en ese momento _ VAR >/$c : E?teA GL Va a tomar e# <a#or de #a o$ci[n identi;icado $or #a #etra es$ecia# de# men" act"a#mente des$egado LJ Enc : E//LEA>A GL Toma "n <a#or VE.A.ER/ si q4q es #etra es$ecia# de# men" act"a#mente des$#egado LJ 4arac : 46ARA GLVa a contener e# <a#or de #a #etra es$ecia# de cada o$ci[n de# men" act"a#mente des$#egado9 $ara rea#i=ar #a com$araci[n con 4 e# caracter $"#sado LJ EEFI> I* ,en"/$en T6E> EEFI> CIT6 ,ULast,en"V ./ EEFI> Enc :Y *AL@EA >/$c:Y 1A REPEAT 4arac :Y U$caseG/$csU>/$cV 4arJA ] *"nci[n de;inida en #a "nidad 4RT de T"rbo Pasca# !"e ace$ta "n caracter a#;ab`tico en min^sc"#a ? !"e de<"e#<e s" ma?^c"#a e!"i<a#ente @i e# caracter no es "na #etra min^sc"#a9 U$4ase de<"e#<e e# car cter sin modi;icar U$case se "ti#i=a $ara rea#i=ar #a com$araci[n de #as #etras $"#sadas en ma?^sc"#as _ I* 4arac Y U$caseG4J T6E> Enc :Y TRUE EL@E IncG>/$cJA U>TIL Enc /R G>/$c I >/$sJA E>.A I* Enc T6E> EEFI> GL 4on<ierte #a o$ci[n se#eccionada en #a o$cion act"a# LJ I* >/$c NI ,ULast,en"V Uact< T6E> ,ULast,en"V Uact< :Y >/$cA Ejec"tarG Last,en"9 ,ULast,en"V Uact<JA E>.A E>.A E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(1

PR/4E.URE ProcTec#a>orma#G 4: 4:arJA ] E<a#^a si #a tec#a norma# $"#sada es #a tec#a NE@4I o NI>TR/I @i es "na de estas dos9 ##amar a# $rocedimiento a# est`n #igadosA si no es e# caso de ning"na de estas dos tec#as ##amar a# $rocedimiento iProcLetrasi Par metros de: LEntrada 4:4:arA _ EEFI> 4A@E 4 /* Esc : I* ,en"/$en T6E> 4ierra,en"G,JA Enter: I* ,en"/$en T6E> Ejec"tarG Last,en"9 ,ULast,en"V Uact<JA EL@E ProcLetras G4JA E>.A E>.A

PR/4E.URE FestorEntornoA ] .etermina si #a tec#a $"#sada $or tec#ado es "na tec#a de ;"nci[n G4[digo inicia# A@4II 5J o "na tec#a norma#9 seg^n e# res"#tado de #a e<a#"aci[n de #a tec#a ##amar a# $rocedimiento !"e sea m s adec"ado E# $roceso ;ina#i=ar c"ando e# <a#or de #a <ariab#e boo#eana de contro# *inEjec"cion sea Tr"e _ VAR 4: 4:arAGLVa a contener e# <a#or de #a tec#a $"#sada ? recogida $or Readhe? LJ EEFI> GL Inicia#i=amos <ariab#e de contro# de Ejec"cion de# $rograma LJ *inEjec"cion :Y *AL@EA REPEAT 4 :Y Readhe?A I* 4 Y Tec#aEs$ T6E> ProcTec#aEs$ EL@E ProcTec#a>orma#G4JA GLPintamos e# comentario de# #a o$eracion !"e re#ai=a #a o$cion in<ertida de# men" a#ct"a#mente des$#egadoLJ I* ,en"/$en T6E> Pinta,en"In;GLast,en"9,ULast,en"V Uact<J U>TIL *inEjec"cionA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ

PR/4E.URE *inEntornoA ] Reestab#ece #as caracteristicas de #a $anta##a de# sistema o$erati<o: 4"rsor de Edici[n9 tamaro $anta##a9 co#or de# ;ondo ? #etras O adem s #ibera #a memoria !"e se estaba "ti#i=ando $ara #a estr"ct"ras din micas

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(2

_ EEFI> 4reditosA .estr"irLista6ote#GLista6JA GL Libera memoria "ti#i=ada en #a #ista :ote#es LJ Lim$iarGIndiJA GL Libera memoria "ti#i=ada en e# indice din mico LJ ,"estra4"rsorA CindoD G1919259&-JA TextEac\Fro"nd G4o#or*ondo*ina#JA Text4o#or G4o#orTexto*ina#JA 4#r@crA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ E>. ].E LA U>I.A._

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

(3

1 ( () Unidad En#ace
] U>I.A. E>LA4E: Esta "nidad sir<e $ara en#a=ar #as o$ciones !"e corres$onde a# ,en" Indice de# Festor de ,en"s con #as o$eraciones $ro$iamente dic:as !"e rea#i=an a# ser se#eccionadas $or dic:o gestor Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ U>IT E>LA4EA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ 4RT9 TA.%,E>U9 TA.%UTIL@9 TA.%I%.I9 GLLYYYII TA.%I>.I $ara trabajar con e# `staticoLJ TA.%4LIE>TE9 TA.%*%4LIE>TE9 TA.%6/TEL9 TA.%*%6/TEL9 L%6/TELA VAR Indi: IndiceA GLVariab#e F#oba# re#acionada con e# ,en" IndiceLJ ])))))))))))_ >ame*4#i :@tringAGLVariab#es F#oba#es re#acionadaes con e# ,en" 4#ienteLJ *4#i :*%4#ienteA ])))))))))))_ >ame*6ot :@tringAGLVariab#es F#oba#es re#acionadas con e# ,en" 6ote#LJ *6ot :*%6ote#A ])))))))))))_ Lista6:$6ote#AGLVariab#e F#oba# re#acionada con e# ,en" .iarioLJ ])))))))))))_ GLLL RUTI>A@ .EL ,E>U .IARI/ LLLJ PR/4E.URE ,ostrarArc:i<oUsoA PR/4E.URE ,ostrar4#iente%LGL6ote#:$6ote#JA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+5

PR/4E.URE ,ostrar6ote#%LGL6ote#:$6ote#JA PR/4E.URE ,ostrarTodo%LGL6ote#:P6ote#JA GLLL RUTI>A@ .EL ,E>U I>.I4E LLLJ PR/4E.URE Lim$iarIndiceGVAR I:IndiceJA PR/4E.URE InsertarIndiceGVAR I:IndiceJA PR/4E.URE EorrarIndiceGVAR I:IndiceJA PR/4E.URE ,ostrarIndiceGI:IndiceJA GLLL RUTI>A@ .EL ,E>U 4#IE>TE LLLJ PR/4E.URE >"e<o%4#GVAR *:*%4#ienteJA PR/4E.URE Usar%4#GVAR *:*%4#ienteAVAR Abortado: Eoo#eanJA PR/4E.URE Anadir%4#GVAR *:*%4#ienteJA PR/4E.URE Eorrar%4#GVAR *:*%4#ienteJA PR/4E.URE 4ons"#ta%4#GVAR *:*%4#ienteJA PR/4E.URE Todo%4#GVAR *:*%4#ienteJA GLLLRUTI>A@ .EL ,E>U 6/TEL LLLJ PR/4E.URE >"e<o%6GVAR 6:*%6ote#JA PR/4E.URE Usar%6GVAR 6:*%6ote#AVAR Abortado:Eoo#eanJA PR/4E.URE Anadir%6GVAR 6:*%6ote#JA PR/4E.URE Eorrar%6GVAR 6:*%6ote#JA PR/4E.URE 4ons"#tar%6GVAR 6:*%6ote#JA PR/4E.URE Reser<ar%6GVAR 6:*%6ote#JA PR/4E.URE List%Todo%6GVAR 6:*%6ote#JA PR/4E.URE List%4ategoriaGVAR 6:*%6ote#JA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLL RUTI>A@ .EL ,E>U AR46IV/ LLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrarArc:i<oUsoA EEFI> Pinta4"adroG291&9119&594o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG291191(9E#"e94o#or*ondo,en"9iAR46IV/@ E> U@/:iJA PintaTexto4entradoG1(9(591-94o#orLetras,en"94o#or*ondo,en"9iArc:i<o 4#ientes:iJA PintaTexto4entradoG1(9(591194o#orLetras,en"94o#or*ondo,en"9iArc:i<o 6ote#es :iJA GL @i :a? "n ;ic:ero c#ientes asignado im$rime en $anta##a s" nombre LJ I* Asignado%*4 T6E> PintaTexto4entradoG(19+(91-9E#"e94o#or*ondo,en"9>ame*4#iJ EL@E PintaTexto4entradoG(19+(91-9E#"e94o#or*ondo,en"9iLLLLLLLLLLLLiJA GL @i :a? "n ;ic:ero :ote# asignado im$rime en $anta##a s" nombre LJ I* Asignado%*6 T6E> Pintatexto4entradoG(19+(9119E#"e94o#or*ondo,en"9>ame*6otJ EL@E PintaTexto4entradoG(19+(9119E#"e94o#or*ondo,en"9iLLLLLLLLLLLLiJA Es$eraG29119139Oe##oD94o#or*ondo,en"9*AL@EJA GL Reestab#ece #a Ventana de Texto de# entorno de trabajo LJ PintaVentanaTextoA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+1

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLL RUTI>A@ .EL ,E>U I>.I4E LLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Lim$iarIndiceA ] Procedimiento !"e e#imina todos #os e#ementos de# cndice ? #o deja <acco9 $re$arado $ara ser reconstr"ido $or com$#eto Par metros de: LEntrada I:IndiceA _ EEFI> GL 4om$r"eba si e# Indice est <acco LJ I* 4"antosGIJY5 T6E> ,ostrar.ia#ogoGError90J EL@E EEFI> GL ,"estra $or $anta##a "n c"adro de di #ogo LJ Pintac"adroG1(91590-91+94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&19-291&9E#ac\9Lig:tFra?9 ioEsta seg"ro de !"e !"iere #im$iar e# sndicep G@e>JiJA I* GLee4:arGUisi9i@i9i>i9iniVJI> Ui@i9isiVJ T6E> EEFI> Lim$iarGIJA PintaVentanaTextoA ,ostrar.ia#ogoGA<iso91J E>. EL@E EEFI> PintaVentanaTextoA ,ostrar.ia#ogoGA<iso9&J E>.A E>.A E>.A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE InsertarIndiceA ] Procedimiento !"e inserta "n n"e<o e#emento en e# cndice Pide $or tec#ado #a c#a<e ? #a $osici[n en e# arc:i<o de# e#emento a insertar ,ostrar "n mensaje de error si a# !"erer insertar "n n"e<o e#emento en e# cndice9 `ste ?a est com$#eto Par meros de: LEntrada I: IndiceA _ VAR 4ad: @tringA GL 4adena !"e "ti#i=aremos $ara Lee@tring9 $ara #"ego tr"ncar#a en 4#< Esto se rea#i=a $ara e<itar incom$atibi#idad de ti$os LJ 4#<: T$%4#a<eAGL Va acontener #a c#a<e de# e#emento a insertar LJ Pos: PosicionAGL F"radar #a $osici[n !"e de<"e#<e NE"scarI de# TA.%Indi o TA.%I%.I LJ Enc: Eoo#eanA GL Indica en #a b^s!"eda si #a c#a<e a :a sido encontrada o no LJ >"m: CordA GL F"ardar #a $osici[n introd"cida $or tec#ado de# e#emento LJ Abortado:Eoo#eanA GLTomar "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$cion LJ EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+&

GL 4om$robamos si e# indice I est ##eno o no LJ I* 4"antosGIJ Y ,axE#tos T6E> ,ostrar.ia#ogoGError91J EL@E EEFI> Pinta*ic:aG1JA GL Leemos #a c#a<e desde tec#ado9c#< toma e# <a#or de #a c#a<e LJ Lee@tringG4ad9Abortado9C:ite9&191&939*AL@EJA 4#<:Y4adA I* >/T Abortado T6E> EEFI> E"scarGI94#<9Pos9EncJAGLE"scamos e# e#emento en e# cndice ILJ I* Enc T6E> EEFI> GL @i dic:a c#a<e :a sido encontrada9 mostramos "n mensaje de error $ara e<itar re$etir#aLJ PintaVentanaTextoA ,ostrar.ia#ogoGError9&JA E>. EL@E EEFI> GL @i #a c#a<e no :a sido encontrada LJ GL Pedimos #a $osici[n de# e#emento con Lee>"m LJ Lee>"mG>"m9Abortado9C:ite9(591+9(919155JA GL >"m es #a $osici[n donde se <a a aradir LJ I* >/T Abortado T6E> Anadir/rdenGI94#<9>"mJ E>.A E>.A E>.A PintaVentanaTextoAGLReinsta"ramos #a <entana de textoLJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE EorrarIndiceA ] Procedimiento !"e borra "n e#emento de# cndice dada s" c#a<e desde e# tec#ado Par metros de: LEntrada I:IndiceA _ VAR 4ad: @tringA GL 4adena !"e "ti#i=aremos $ara Lee@tring9 $ara #"ego tr"ncar#a en 4#< Esto se rea#i=a $ara e<itar incom$atibi#idad de ti$os LJ 4#<: T$%4#a<eA GL Va acontener #a c#a<e de# e#emento a insertar LJ Pos: PosicionA GL F"radara #a $osicion !"e de<"e#<e NE"scarI de# TA.%Indi LJ Enc: Eoo#eanA GL Indica en #a b^s!"eda si #a c#a<e a :a sido encontrada o no LJ Abortado:Eoo#eanA GL Tomar "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$cion LJ EEFI> GL@i e# cndice esta <acco ,ostramos "n mensaje de errorLJ I* 4"antosGIJY5 T6E> ,ostrar.ia#ogoGError9+J EL@E EEFI> Pinta*ic:aG&JA GL Pintamos otra de #as ;ic:as LJ GLPedimos #a c#a<e de# e#emento !"e !"eremos borrarLJ GLLeemos #a c#a<e desde tec#ado94#< toma e# <a#or de #a c#a<eLJ Lee@tringG4ad9Abortado9C:ite9&191&939*AL@EJA 4#<:Y4adA I* >/T Abortado T6E> EEFI> E"scarGI94#<9Pos9EncJA GLE"scamos #a c#a<e introd"cida en e# IndiceLJ I* >/T Enc T6E> ,ostrar.ia#ogoGError9(J

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+(

EL@E EEFI> GL ,ostramos $or $anta##a "n c"adro de dia#ogo LJ Pintac"adroG1&91590091+94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&19-29119Oe##oD94o#or*ondo,en"9 4#<JA PintaTexto4entradoG&19-291&9E#ac\94o#or*ondo,en"9 ioEsta seg"ro de !"e !"iere E/RRARL/ de# sndicep G@e>JiJA GL@i #a res$"esta es sc9 isi [ i@i9 borra e# e#emento de# cndiceLJ I* GLee4:arGUisi9i@i9i>i9iniVJI> Ui@i9isiVJ T6E> EorrarGI94#<JA E>.A E>.A PintaVentanaTexto GLReestab#ece #a Ventana de Texto de# entorno de trabajo LJ E>.A E>.A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE PintaPaginaGI:IndiceAE#emento96astaE#emento9Paginas9PagAct"a#:PosicionJA ] iPaginasi se re#aciona con iPagAct"a#i Paginas YYI Va a marcar e# n^mero tota# de $ ginas GPaginas Tota#esJ PagAct"a#YYI Va a marcar en cada momento #a $ gina !"e se m"estra en ese momento GPagina Act"a# en cada momentoJ iE#ementoi se re#aciona con i6astaE#ementoi E#ementoYYI Va a sera#ar !"e e#emento tiene !"e im$rimirse en $anta##a G@iem$re <a de 15 en 15 !"e es e# n^mero tota# de #ineas de "na "na $ gina !"e $"ede mostrarse cada <e=J 6astaE#ementoYYI Va a sera#ar :asta !"e e#emento se im$rime en $anta##a en "n determinado momentoG@iem$re <a de 15 en 15 ?a !"e 15 es e# n^mero tota# de #ineas de "na $ gina !"e $"ede mostrarse cada <e=J _ VAR Linea: 1 15A GLYYI Para sera#ar #a #inea de #a $ gina donde <a a im$rimirse e#emento GLinea act"a# donde se <a a escribirJ LJ 4ontador: PosIndiceAGL Tomar #os <a#ores com$rendidos entre E#emento ? 6astaE#emento ? dir en cada momento e# e#emento !"e se <a a mostrar LJ 4#a<e : T$%4#a<eA GL F"ardar #a 4#a<e de# e#emento !"e se <a a mostrar en $anta##a LJ Pos : PosicionA GL F"ardar #a Posicion de# e#emento !"e se <a a mostrar en $anta##a LJ @t19@t&:@tringU(VA GL @t1 se "ti#i=ar $ara g"ardar en "na cadena #a $agina act"a#9 ? @t& $ar g"ardar en n^mero tota# de $ ginasLJ >ota :@tringU1VA GL 4adena !"e se im$rimira en $anta##a !"e indicar #a $ gina act"a# en #a !"e nos encontramos de tantas !"e :a?an LJ @t>"m :@tringU(VA GL F"ardaremos en e##a #a cadena n"m`rica !"e corres$oda9 a# #a con<ersion con @TR de #a $osici[n !"e es "n <a#or n"m`ricoLJ EEFI> Pinta*ic:aG(JA Linea :Y 1A */R 4ontador:YE#emento T/ 6astaE#emento ./ EEFI> I* 4ontador NY 4"antosGIJ T6E> EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

++

4"a#PosGI94ontador94#a<e9PosJA GLPintamos #a 4#a<e de# e#emento de# Indice !"e indica e# 4ontador LJ PintaTexto4entradoG&59&-91XLinea9E#"e94o#or*ondo,en"94#a<eJA GLPintamos #a Posicion de e#emento de# Indice !"e indica e# 4ontadorLJ @TRGPos:(9@t>"mJA PintaTexto4entradoG-&9-191XLinea9E#"e94o#or*ondo,en"9@t>"mJA I>4GLineaJA E>.A E>.A @TRGPaginas:&9@t1JA @TRGPagAct"a#:&9@t&JA >ota:Yi iX@t&XieiX@t1Xi iA PintaTexto4entradoG0(91&9&59E#"e94?an9>otaJA E>.A ]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))_ PR/4E.URE ,ostrarIndiceA ] Procedimiento !"e m"etra $or $anta##a e# #istado de todos #os e#ementos de# cndice9 mostrando #a c#a<e ? #a $osici[n dentro de# arc:i<o de cada "no de e##os Par metros de: LEntrada I:IndiceA _ 4/>@T RePag Y Z1(A A<Pag Y Z21A E@4 Y Z&1A VAR 4 : 4:arA GL Recogera e# <a#or de #a tec#a $"#sada $or tec#adoLJ *in : Eoo#eanA GL 4"ando toma "n <a#or VER.A.ER/ se deja de mostrar #a #ista de e#ementos !"e contiene e# indice LJ E#emento96astaE#emento9Paginas9PagAct"a#:PosIndiceAGLVer es$#icaci[n de $ar metros de PintaPaginaLJ EEFI> GL4om$r"eba si e# Indice est <acco o noLJ I* 4"antosGIJY5 T6E> ,ostrar.ia#ogoGError9-J EL@E EEFI> GL@i e# n^mero de e#ementos no es m"#ti$#o exacto de 15 :abr !"e tener en c"enta !"e :a? !"e s"mar siem$re "no a# res"#tado de #a di<ision entera de# n^mero de e#emetos de# indice entre e# n"mero de #ineas !"e es 159 $or!"e a# menos :a? "na $agina m s en #a !"e tiene !"e im$rimirse e# resto de e#ementos !"e !"edan $or mostrarse Ejem$#os: &5 mod 15Y 5 entonces &5 di< 15 Y & $aginas &+ mod 15Y + entonces G&5 di< 15J X1 Y & X1 Y ( $aginas LJ I* G4"antosGIJ mod 15 J Y 5 T6E> Paginas:YG4"antosGIJ di< 15J EL@E Paginas:YG4"antosGIJ di< 15JX1A GLinicia#i=amos #as <ariab#esLJ PagAct"a# :Y1A E#emento :Y1A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+-

6astaE#emento:Y15A *in:Y*AL@EA REPEAT PintaPaginaGI9E#emento96astaE#emento9Paginas9PagAct"a#JA 4:Y Lee4:arGUZ59E@4VJA GL@i e# tec#a es$ecia#LJ I* 4 Y Z5 T6E> EEFI> GLRea#i=amos "na seg"nda #ect"raLJ 4 :Y Lee4:arGURePag9A<PagVJA 4A@E 4 /* RePag:EEFI> GLPAFI>A A>TERI/RLJ GL@i #a $agina Act"a# no es #a $rimeraLJ I* PagAct"a# I 1 T6E> EEFI> GLAct"a#i=amos #as <ariab#esL Para !"e PintaPagina $inte #a Pagina anteriorLJ E#emento :Y E#emento)15A 6astaE#emento:Y 6astaE#emento)15A PagAct"a# :Y PagAct"a#)1A E>. EL@E @onidoErrorA E>.A A<Pag:EEFI> GLPAFI>A @IFUIE>TELJ GL@i #a $agina Act"a# no es #a ^#timaLJ I* PagAct"a# N Paginas T6E> EEFI> GLAct"a#i=amos #as <ariab#esL Para !"e PintaPagina $inten #a Pagina @ig"ienteLJ E#emento :Y E#ementoX15A 6astaE#emento:Y 6astaE#ementoX15A PagAct"a# :Y PagAct"a#X1A E>. EL@E @onidoErrorA E>.A E>.A E>. EL@E I* 4 Y E@4 T6E> *in:YTRUEA U>TIL *inA PintaVentanaTextoAGLReestab#ecemos #a Ventana de Texto de# entorno de trabajo LJ E>.A E>.A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLL RUTI>A@ .EL ,E>U 4LIE>TE LLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE >"e<o%4#GVAR *:*%4#ienteJA ] Pide e# nombre de "n ;ic:ero de registros de ti$o c#iente9 #o crea ?

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+0

#o $one en "so Par metros de: L@a#ida *:*%4#iente _ VAR Abortado:Eoo#eanAGL Tomar "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$cion LJ EEFI> Usar%4#G*9AbortadoJA GL@I >/ @E A@IF>A >/ @E REALItA LA /PERA4I/> .E 4REAR U> >UEV/ AR46IV/LJ I* G>/T AbortadoJ T6E> EEFI> GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e ?a existeLJ I* AbrirR%*4G*J T6E> EEFI> GL Ademas si contiene in;ormacion $odemos mac:acar#oLJ I* *i#e@i=eG*JNI5 T6E> EEFI> GLPintamos "n c"adro de dia#ogoLJ Pinta4"adroG&91&91191-94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&91291(9E#"e94o#or*ondo,en"9 i@i contin"a9 e# contenido de# arc:i<o ser borrado o.esea 4ontin"arpG@e>JiJA I* GLee4:arGUi@i9isi9ini9i>iVJ I> Uisi9i@iVJ T6E> EEFI> PintaVentanaTextoA ,ostrar.ia#ogoGA<iso9+JA GL4erramos LJ I* >/T 4errar%*4G*J T6E> ,ostrar.ia#ogoGError91-JA GLO abrimos $ara ecrit"raLJ I* >/T AbrirC%*4G*J T6E> ,ostrar.ia#ogoGError912J E>. EL@E EEFI> PintaVentanaTextoA ,ostrar.ia#ogoGA<iso9-JA E>.A E>.A GL4erramos si no !"eremos :acer nadaLJ I* >/T 4errar%*4G*J T6E> ,ostrar.ia#ogoGError91-JA E>. EL@E EEFI> GL@i no :a $odido Abrir $ara Lect"ra no existeLJ GLEntonces #o :abrimos $ara escrit"ra ? #o creamosLJ I* >/T AbrirC%*4G*J T6E> ,ostrar.ia#ogoGError912JA I* >/T 4errar%*4G*J T6E> ,ostrar.ia#ogoGError91-JA E>.A E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Usar%4#GVAR *:*%4#ienteA VAR Abortado: Eoo#eanJA ] Pide e# nombre de "n ;ic:ero de registrso de ti$o c#iente9 ? #o asigna $ara $oder trabajar con e# Par metros de: L@a#ida *:*%4#ienteA LAbortado:Eoo#eanA de<"e#<e "n <a#or *AL@E si no se :a abortado #a o$eracion _ VAR Va#ido : Eoo#eanAGLIndica si e# nombre de ;ic:ero !"e se :a introd"cido $or tec#ado e# < #ido o no LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+1

EEFI> REPEAT GL,ostramos en $anta##a #a #ista de arc:i<os de ti$o 4#iente !"e :a? en e# directorio act"a# LJ ,ostrarListaArc:i<oGi4LIi9AbortadoJA I* >/T Abortado T6E> EEFI> TextEac\Fro"ndGE#ac\JA Lee@tringG>ame*4#i9Abortado9C:ite9(3912929*a#seJA I* >/T Abortado T6E> EEFI> Va#ido:YEs%>ame%Va#idoG>ame*4#iJA I* Va#ido T6E> EEFI> GLPongo $or de;ecto "na extension a# arc:i<o c#ientesLJ >ame*4#i :Y >ame*4#i Xi 4LIiA E>. EL@E EEFI> @onidoErrorA ,ostrar.ia#ogoGA<iso9(JA E>.A E>.A E>.A U>TIL GVa#ido /R AbortadoJA I* >/T Abortado T6E> I* Asignar%*4G*9>ame*4#iJ T6E> GLIndicamos !"e :a? en "so "n ;ic:ero 4#ienteLJ Asignado%*4:YTRUE EL@E EEFI> PintaVentanaTextoAGLReestab#ecemo #a <entana de texto de# entorno de trabajo LJ GLAsignar * a >ame*4#iLJ ,ostrar.ia#ogoGError91JA E>.A PintaVentanaTextoA GLReestab#ecemos #a <entana de texto de# entorno de trabajo LJ E>.A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Anadir%4#GVAR *:*%4#ienteJA ] Inserta "n c#iente en e# ;ic:ero en "so9 caso de no existir otro c#iente con e# mismo >I* en e# ;ic:ero E# ;ic:ero debe mantenerse ordenado $or e# >I* de# c#iente Par metros de: L@a#ida *:*%4#iente _ VAR Pos :LongintA Err9 GLToma <a#or TRUE si se $rod"cido error en #a b^s!"eda dentro de# ;ic:ero de 4#ientes LJ Enc9 GLToma <a#or TRUE si se :a encontrado en e# ;ic:ero de 4#ientes e# 4#iente !"e se !"iere introd"cir LJ Abortado:Eoo#eanA GL Tomar "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$cion LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+2

RA"x

:Reg4#ienteAGL Registro A"xi#iar de ti$o Registro 4#ientes $ara g"ardar #os datos de# c#iente !"e se este $rocesando antes de introd"cir#o en e# ;ic:ero de 4#ientes LJ

EEFI> GLPedimos e# >I*9 #o b"scamos9 ? si esta mostramos #os datos de# c#iente9 sino $edimos #os datosLJ GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*4 T6E> EEFI> GLInicia#i=amos #a estr"ct"ra de Ra"x9 $ara e#iminar bas"raLJ Inic%4#ienteGRa"xJA Leer%>I*GRA"x >I*9AbortadoJA GL@i no se :a abortado #a o$reacion anterior se b"sca e# c#ienteLJ I* >/T Abortado T6E> EEFI> Enc:YE"scar%*4G*9RA"x9Pos9ErrJA GL@i #o encontrado ? no se :a $rod"cido error #o m"estraLJ I* >/T Err T6E> I* Enc T6E> ,ostrar%4#ienteGRA"xJ EL@E EEFI> Pintac"adroG1(91590-91+94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG1+90-91&9E#"e94o#or*ondo,en"9 ioW"iere re##enar e# resto de #os cam$ospG@e>JiJA I* GLee4:arGUisi9i@i9i>i9iniVJI> Ui@i9isiVJ T6E> Leer%4#ienteGRA"x9AbortadoJA GL@i no se :a abortado #a o$reacion anterior se inserta e# c#iente en *LJ I* >/T Abortado T6E> EEFI> Insertar%4#ienteGRA"x9*9>ame*4#iJA GLPara so#"cionar e# $rob#ema si no se re##enan #os cam$os9 en es$ecia# e# de# 4I* de# :ote#9 ?a !"e si no se introd"ce e# 4I* de# :ote# no se $"ede rea#i=ar #a reser<a LJ I* RA"x 4I*NIii T6E> Introd"cir4#ienteGLista69RA"x >I*9RA"x 4I*J E>.A PintaVentanaTextoA GLReestab#ecemos #a <entana de texto de# entorno de trabajo LJ E>.A E>.A E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Eorrar%4#GVAR *:*%4#ienteJA ] Pide $or tec#ado e# >I* de "n c#iente9 caso de existir en e# ;ic:ero9 #o borra Par metros de: L@a#ida *:*%4#iente _ VAR RA"x :Reg4#ienteAGL Registro A"xi#iar de ti$o Registro 4#ientes $ara g"ardar #os datos de# c#iente !"e se este $rocesando antes de borrar#o de# ;ic:ero de 4#ientes LJ Pos :LongintA Err9 GLToma <a#or TRUE si se $rod"cido error en #a b^s!"eda dentro de# ;ic:ero de 4#ientes LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

+3

Enc9 GLToma <a#or TRUE si se :a encontrado en e# ;ic:ero de 4#ientes e# 4#iente !"e se !"iere introd"cir LJ Abortado:Eoo#eanA GL Tomar "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$cion LJ EEFI> GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*4 T6E> EEFI> GLPedimos e# >I* !"e !"eremos borrar ? #o b"scamosA si esta9 #o borramos9sino mostramos "n mensajeLJ GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e existeLJ I* AbrirR%*4G*J T6E> EEFI> GL @i no contiene in;ormaci[n est <acioLJ I* *i#e@i=eG*JY5 T6E> ,ostrar.ia#ogoGA<iso92J EL@E EEFI> GLPedimos e# >I*LJ Leer%>I*GRA"x >I*9AbortadoJA GL@i no se :a abortado b"scamos e# registro !"e !"eremos borrarLJ I* >/T Abortado T6E> EEFI> GLAntes de b"scar :a? !"e cerrar e# ;ic:eroLJ I* 4errar%*4G*J T6E> EEFI> Enc:YE"scar%*4G*9RA"x9Pos9ErrJA I* >/T Err T6E> GL@i no se a $rod"cido error ? se :a encontrado9 borramos e# c#iente de# ;ic:ero * ? de #a estr"ct"ra diaria LJ I* Enc T6E> EEFI> EorrarReg%*4GRA"x9*9>ame*4#iJA E#iminar4#ienteGLista69Ra"x >I*JA ,ostrar.ia#ogoGA<iso91J E>. EL@E ,ostrar.ia#ogoGA<iso90JA E>. EL@E ,ostrar.ia#ogoGError91-J E>.A GL@i se a bortado Leer%>I* :a? !"e cerrar e# ;ic:ero $ara !"e no !"ede abierto LJ I* Abortado T6E> I* >/T 4errar%*4G*J T6E> ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E ,ostrar.ia#ogoGError911JA E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE 4ons"#ta%4#GVAR *:*%4#ienteJA ] Pide $or tec#ado e# >I* de "n c#iente 4aso de existir en e# ;ic:ero9 m"estra en #a $anta##a toda #a in;ormaci[n g"ardada $ara este c#iente Par metros de: L@a#ida *:*%4#ienteA _ VAR 4#iente :Reg4#ienteA GL Registro A"xi#iar de ti$o Registro 4#ientes $ara

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-5

g"ardar #os datos de# c#iente !"e se este $rocesando antes de borrar#o de# ;ic:ero de 4#ientes LJ Pos :LongintA Err9 GLToma <a#or TRUE si se $rod"cido error en #a b^s!"eda dentro de# ;ic:ero de 4#ientes LJ Enc9 GLToma <a#or TRUE si se :a encontrado en e# ;ic:ero de 4#ientes e# 4#iente !"e se !"iere introd"cir LJ Abortado:Eoo#eanA GL Tomar "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$cion LJ EEFI> GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*4 T6E> EEFI> GLPedimos e# >I* de "n c#iente ? #o b"scamosA si esta mostramos todos s"s datos sino9 mostramos "n mensaje de a<isoLJ GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e existe ? !"e esta bienLJ I* AbrirR%*4G*J T6E> EEFI> GL @i no contiene in;ormacion est <acioLJ I* *i#e@i=eG*JY5 T6E> ,ostrar.ia#ogoGA<iso92J EL@E EEFI> GLPedimos e# >I*LJ Leer%>I*G4#iente >I*9AbortadoJA GL@i no se :a abortado b"scamos e# registro !"e !"eremos borrarLJ I* >/T Abortado T6E> EEFI> GLAntes de b"scar :a? !"e cerrar e# ;ic:eroLJ I* 4errar%*4G*J T6E> EEFI> Enc:YE"scar%*4G*94#iente9Pos9ErrJA I* >/T Err T6E> GL@i no se a $rod"cido error ? se :a encontrado mostramos e# c#iente LJ I* Enc T6E> ,ostrar%4#ienteG4#ienteJ EL@E ,ostrar.ia#ogoGA<iso90JA E>. EL@E ,ostrar.ia#ogoGError91-JA E>.A GL@i se :a abortado Leer%>I* :a? !"e cerrar e# ;ic:ero $ara !"e no !"ede abierto LJ I* Abortado T6E> I* >/T 4errar%*4G*J T6E> ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E ,ostrar.ia#ogoGError911JAA E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Todo%4#GVAR *:*%4#ienteJA ] ,"esta $or $anta##a todo e# contenido de# ;ic:ero de c#ientes en "so Par metros de: L@a#ida *:*%4#iente _ VAR Err : Eoo#eanA RA"x: Reg4#ienteA EEFI> GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*4 T6E> EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-1

GL,ostramos "no a "no todos #os c#iente de# ;ic:eroLJ I* AbrirR%*4G*J T6E> EEFI> Err:Y*AL@EA GL4om$r"eba si e# ;ic:ero esta <acco9 ? si es asc m"estra "n mensaje de a<isoLJ I* *i#e@i=eG*JY5 T6E> ,ostrar.ia#ogoGA<iso92JA C6ILE G>/T E/*G*JJ A>. G>/T ErrJ ./ I* Leer%*4G*9RA"xJ T6E> ,ostrar%4#ienteGRA"xJ EL@E EEFI> Err:YTRUEA ,ostrar.ia#ogoGError911JA E>.A I* >/T 4errar%*4G*J T6E> ,ostrar.ia#ogoGError91-JA E>. EL@E ,ostrar.ia#ogoGError911JA E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLL RUTI>A@ .EL ,E>U 6/TEL LLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE >"e<o%6GVAR 6:*%6ote#JA ] 4rea "n ;ic:ero <acio 6 ? "n cndice <acco Par metros: L@a#ida 6:*%6ote#A _ VAR Abortado:Eoo#eanA EEFI> Usar%6G69AbortadoJA GL@I >/ @E A@IF>A >/ @E REALItA LA /PERA4I/> .E 4REAR U> >UEV/ AR46IV/LJ I* >/T Abortado T6E> EEFI> GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e ?a existeLJ I* AbrirR%*6G6J T6E> EEFI> GL Ademas si contiene in;ormacion $odemos mac:acar#oLJ I* TamanoG6JNI5 T6E> EEFI> GLPintamos "n c"adro de dia#ogoLJ Pinta4"adroG&91&91191-94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&91291(9E#"e94o#or*ondo,en"9 i@i contin"a9 e# contenido de# arc:i<o ser borrado o.esea 4ontin"arpG@e>JiJA I* GLee4:arGUi@i9isi9ini9i>iVJ I> Uisi9i@iVJ T6E> EEFI> PintaVentanaTextoA ,ostrar.ia#ogoGA<iso9+JA GL4erramos LJ I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA GLO abrimos $ara ecrit"raLJ I* >/T AbrirC%*6G6J T6E> ,ostrar.ia#ogoGError912J E>. EL@E EEFI> PintaVentanaTextoA ,ostrar.ia#ogoGA<iso9-JA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-&

E>.A GL4erramos si no !"eremos :acer nadaLJ I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>. EL@E EEFI> GL@i no :a $odido Abrir $ara Lect"ra no existeLJ GLEntonces #o :abrimos $ara escrit"ra ? #o creamosLJ I* >/T AbrirC%*6G6J T6E> ,ostrar.ia#ogoGError912JA I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>.A E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Vo#car%*6GVAR 6:*%6ote#JA ] V"e#ca en #a estr"ct"ra de# indice #a 4#a<e ? #a $osicion de cada registro de# ;ic:ero 6 La 4#a<e de# indice se corres$onde con e# 4I* de cada :ote# ? #a Posicion de# indice con #a $osicion !"e oc"$an dentro de# ;ic:ero 6 dic:os 6ote#es Par metros de: L6:*%6ote#A *ic:ero !"e se <"e#ca a #a estr"ct"ra de# indice _ VAR 4#a<e:T$%4#a<eAGL4ontendr e# 4I* de# :ote#LJ Pos:PosicionA GL.onde g"ardamos #a $osicionLJ 6ote#:Reg6ote#AGL.onde g"ardamos e# :ote# c"ando #eemos de# ;ic:eroLJ EEFI> GLAntes de <o#car creamos "n indice n"e<o ? <acio LJ >"e<oGIndiJA GLAbrimo e# ;ic:ero $ara #ect"raLJ I* AbrirR%*6G6J T6E> EEFI> GLRecorremos e# ;ic:ero :asta e# ;ina# ? <ocamos s" contenido en e# indice La o$eracion de <o#cado se rea#i=ar siem$re !"e se c"m$#an #as dos condiciones: 6asta !"e no sea ;ina# de ;ic:eroA ? e# n"mero de registros a <o#car no $"ede s"$erar e# n"mero maximo de e#emento !"e $"ede contener e# IndiceN,axE#tosILJ C6ILE G>/T E/*G6JJ A>. G4"antosGIndiJNY,axE#tosJ ./ EEFI> GLPosicion act"a# de# ;ic:eroLJ Pos:YPosiG6JA GLLeemos e# 6ote# de# ;ic:ero ? #o insertamos en orden "ti#i=ando #a c#a<eG6ote# 4I*J en e# indice Gg"ardamos #a $osicion !"e oc"$a dentro de# ;ic:eroJLJ I* Leer%*6G696ote#J T6E> EEFI> 4#a<e:Y 6ote# 4I*AGL $ara e<itar incom$atibi#idadLJ Anadir/rdenGIndi94#a<e9PosJ E>. EL@E ,ostrar.ia#ogoGError911JA E>.A I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>. A GL@i :a? error a# abrir $ara #ect"ra signi;ica !"e no existe ? !"e se :a ##amado desde >"e<o%*69 $or #o !"e no se <"e#ca s" contenidoLJ E>.A

]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))_

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-(

PR/4E.URE Usar%6GVAR 6:*%6ote#AVAR Abortado:Eoo#eanJA ] Pide e# nombre de "n ;ic:ero de registro de ti$o *%6ote#9 ? #o asigna $ara $oder trabajar con e# Ademas de crea s" indice estatico o dinamico G?a !"e de$ende si en #os U@E@ de esta "nidad se est "ti#i=ando e# TA.%I>I.Ntrabaja con "n indice est ticoI9 o bien9 con TA.%I%.INtrabaja con "n indice din micoIJ Par metros de: L@a#ida *:*%4#ienteA LAbortado:Eoo#eanA de<"e#<e "n <a#or *AL@E si se :a abortado #a o$eracion _ VAR Va#ido : Eoo#eanAGLToma "n <a#or TRUE si e# nombre de# ;ic:ero !"e se :a introd"cido $or tec#ado es correscto LJ EEFI> REPEAT GL,ostramos en $anta##a #a #ista de ;ic:eros de :ote#se !"e se :a?an en e# directorio act"a# LJ ,ostrarListaArc:i<oGi6/Ti9AbortadoJA GL@i no se :a abortado con E@4 $edimo e# nombre de# ;ic:eroLJ I* >/T Abortado T6E> EEFI> TextEac\Fro"ndGE#ac\JA Lee@tringG>ame*6ot9Abortado9C:ite9(3912929*a#seJA I* >/T Abortado T6E> EEFI> Va#ido:YEs%>ame%Va#idoG>ame*6otJA I* Va#ido T6E> EEFI> GLPongo $or de;ecto "na extension a# arc:i<o 6ote#esLJ >ame*6ot :Y >ame*6ot Xi 6/TiA E>. EL@E EEFI> @onidoErrorA ,ostrar.ia#ogoGA<iso9(JA E>.A E>.A E>.A U>TIL GVa#ido /R AbortadoJA I* >/T Abortado T6E> EEFI> I* Asignar%*6G69>ame*6otJ T6E> EEFI> GLIndicamos !"e :a? en "so "n ;ic:ero :ote#LJ Asignado%*6 :Y TRUEA GL4reamos "n indice n"e<o ? <accoLJ >"e<oGIndiJA Vo#car%*6G6JA E>. EL@E EEFI> PintaVentanaTextoA GLAsignar 6 a >ame*6otLJ ,ostrar.ia#ogoGError91JA E>.A E>.A PintaVentanaTextoA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-+

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Anadir%6GVAR 6:*%6ote#JA ] Arade "n n"e<o :ote# en e# ;ic:ero ? en e# cndice 4om$r"eba !"e e# :ote# a insertar no exite en e# ;ic:ero Adem s no ser necesario a$ortar "n $ara "n :ote# toda #a in;ormacion si no se !"iere E# cam$o !"e es ob#igatorio $edir es s" 4I* Par metros de: L@a#ida 6:*%6ote#A _ VAR 4#a<e :T$%4#a<eA GLF"ardar e# 4I* de# :ote#LJ Pos :PosicionA GL.onde g"ardamos #a $osicion de# :ote# !"e nos de<"e#<e E"scarLJ Enc9 GLToma "n <a#or TRUE si e# :ote# se enc"entra en e# indiceLJ Abortado:Eoo#eanA GL Tomar "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$cion LJ 6ote# :Reg6ote#A GL.onde g"ardamos e# :ote# c"ando #eemos de# ;ic:ero LJ EEFI> GL4om$robamos si :a? "n ;ic:ero :ote# asignadoLJ I* Asignado%*6 T6E> EEFI> GL4om$robamos !"e se $"eden introd"cir m s registros en e# IndiceA ?a !"e si no admite introd"cir m s :ote#es signi;ica !"e est ##eno9 $or tanto no $odemos introd"cir m s e#ementos en e# ;ic:ero :ote# $ara !"e conc"erde e# n"mero de e#ementos de# Indice con e# n"mero de e#ementos G:ote#esJ de# ;ic:ero :ote#LJ I* 4"antosGIndiJY,axE#tos T6E> ,ostrar.ia#ogoGA<iso91-J EL@E EEFI> Inic%6ote#G6ote#JA GLPedimos e# 4I* de# :ote#LJ Leer%4I*G6ote# 4I*9AbortadoJA I* >/T Abortado T6E> EEFI> GL#o b"scamos en e# indiceLJ 4#a<e:Y 6ote# 4I*AGL $ara e<itar incom$atibi#idadLJ E"scarGIndi94#a<e9Pos9EncJA GL@i est en e# indice signi;ica !"e existe en ;ic:ero $or tanto accedemos directamente a registro de# :ote# dentro de# ;ic:ero 6 gracias a PosLJ I* Enc T6E> EEFI> I* AbrirR%*6G6J T6E> EEFI> I* PosicionarG69PosJ T6E> EEFI> GLLee e# :ote# ? #"ego #o m"estraLJ I* Leer%*6G696ote#J T6E> ,ostrar%6ote#G6ote#9*AL@EJ EL@E ,ostrar.ia#ogoGError911JA E>. EL@E ,ostrar.ia#ogoGError9&&JA I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>. EL@E ,ostrar.ia#ogoGError911JA E>. EL@E EEFI> Pintac"adroG1(91590-91+94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG1+90-91&9E#"e94o#or*ondo,en"9 ioW"iere re##enar e# resto de #os cam$ospG@e>JiJA I* GLee4:arGUisi9i@i9i>i9iniVJ I> Ui@i9isiVJ T6E> Leer%6ote#G6ote#9AbortadoJA PintaVentanaTextoA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

--

GLEste contro# <iene $or si se dije !"e si !"eria introd"cir e# resto de cam$os ? #"ego #o aborteLJ I* >/T Abortado T6E> EEFI> GLInsertamos e# :ote# en e# ;ic:eroLJ Insertar%6ote#%6G6ote#969PosJA GLAradimos e# :ote# en e# cndice de manera ordenadaLJ 4#a<e:Y 6ote# 4I*AGLPara e<itar incom$atibi#idades de ti$oLJ Anadir/rdenGIndi94#a<e9PosJ E>.A E>.A E>.A E>.A E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Eorrar%6GVAR 6:*%6ote#JA ] E#imina "n :ote# de# ;ic:ero e cndice Par metros de: L@a#ida 6:*%6ote#A _ VAR 4#a<e :T$%4#a<eA GLF"ardamos e# 4I* de# :ote# LJ 6ote# :Reg6ote#A GL.onde g"ardamos e# :ote# c"ando #eemos de# ;ic:eroLJ Pos :PosicionA GL.onde g"ardamos #a $osicion de# :ote# !"e nos de<"e#<e E"scarLJ Abortado9 GLToma "n <a#or TRUE si se :a abortado #a ejec"ci[n de #a o$ci[n LJ Enc :Eoo#eanA GLToma "n <a#or TRUE si e# :ote# se :a encontrado LJ EEFI> I* Asignado%*6 T6E> EEFI> GL@i se abre $ara #ect"ra e# arc:i<o exiteLJ I* AbrirR%*6G6J T6E> EEFI> GL4om$robamos si esta <acio o no e# ;ic:eroLJ I* GTamanoG6JNI5J T6E> EEFI> Leer%4I*G6ote# 4I*9AbortadoJA GL@i se aborta no se re#i=a #a b"s!"eda ni #a e#iminacion de ;ic:eroLJ I* >/T Abortado T6E> EEFI> 4#a<e:Y6ote# 4I*AGLPara e<itar incom$atibi#idades de ti$oLJ E"scarGIndi94#a<e9Pos9EncJA I* Enc T6E> EEFI> GLAntes de ##amar a# $rodecimiento !"e nos borra e# :ote# :a? !"e cerrar e# ;ic:er antes abiertoLJ I* 4errar%*6G6J T6E> EEFI> Pintac"adroG1(91590-91+94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG1+90-91&9E#"e94o#or*ondo,en"9 ioEsta seg"ro de borrar e# 6ote#:iX6ote# 4I*XipG@e>JiJA I* GLee4:arGUisi9i@i9i>i9iniVJI> Ui@i9isiVJ T6E> EEFI> GLEorramos de ;ic:eroLJ EorrarReg%*6G6ote#969>ame*6otJA GLEorramos de# cndiceLJ 4#a<e:Y6ote# 4I*AGLPara e<itar incom$atibi#idades de ti$oLJ EorrarGIndi94#a<eJA GLEorramos de #a estr"ct"ra din mica de .iarioLJ Eorrar6ote#GLista694#a<eJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-0

,ostrar.ia#ogoGA<iso91&J E>. EL@E PintaVentanaTextoA E>. EL@E ,ostrar.ia#ogoGError911JA E>. EL@E ,ostrar.ia#ogoGA<iso911J E>.A GL@i se :a abortado :abr !"e cerrar e# ;ic:ero $ara !"e no se !"ede abiertoLJ I* Abortado T6E> I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>. EL@E ,ostrar.ia#ogoGError93J E>. EL@E ,ostrar.ia#ogoGError911J E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE 4ons"#tar%6GVAR 6:*%6ote#JA ] .ado e# 4I* de "n :ote# $or tec#ado9 m"estra $or $anta##a todos #os datos de dic:o :ote# Par metros de: L@a#ida 6:*%6ote#A _ VAR 4#a<e :T$%4#a<eA 6ote# :Reg6ote#A Pos :PosicionA Err9 Enc9 Abortado:Eoo#eanA EEFI> GLPedimos e# 4I* de "n :ote#9 #o b"scamos9 si esta mostramos todos s"s datos sino9 mostramos "n mensaje de a<isoLJ GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*6 T6E> EEFI> GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e existe ? !"e esta bienLJ I* AbrirR%*6G6J T6E> EEFI> GL @i no contiene in;ormacion est <acioLJ I* TamanoG6JY5 T6E> ,ostrar.ia#ogoGA<iso92J EL@E EEFI> GLPedimos e# >I*LJ Leer%4I*G6ote# 4I*9AbortadoJA GL@i no se :a abortado b"scamos e# registro de# :ote# !"e !"eremos borrarLJ I* >/T Abortado T6E> EEFI> GLE"scamos en e# Indice e# :ote# @i est nos de<"e#<e #a $osicion dentro de# ;ic:ero LJ 4#a<e:Y6ote# 4I*AGLPara e<itar incom$atibi#idades de ti$oLJ E"scarGIndi94#a<e9Pos9EncJA I* Enc T6E> EEFI> GLAccedemos a #a $osicionLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-1

I* PosicionarG69PosJ T6E> GL@i #eemos e# :ote# #o mostramosLJ I* Leer%*6G696ote#J T6E> ,ostrar%6ote#G6ote#9*AL@EJ EL@E ,ostrar.ia#ogoGError911J EL@E ,ostrar.ia#ogoGError9&&JA E>. EL@E ,ostrar.ia#ogoGA<iso90JA E>.A GL6a? !"e cerrar e# ;ic:ero $ara !"e no !"ede abierto LJ I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E ,ostrar.ia#ogoGError911JAA E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Pedir%>6abGVAR >6ab:CordA6ote#:Reg6ote#AVAR Abortado:Eoo#eanJA ] 4on este $rocedimiento $intamos "na ;ic:a $ara $edir e# nb de :abitaciones !"e !"eremos reser<ar Parametros de: L@a#ida >6ab:CordA Es en donde <amos a g"ardar e# nb de :abitaciones a reser<ar Abortado:Eoo#eanA .e<"e#<e "n <a#or TRUE si se :a abortado #a o$eracion de Lee>"m LEntrada 6ote#:Reg6ote#A En e# nos <an a mandar e# nombre de# :ote# donde <amos a rea#i=ar #a reser<a_ EEFI> Pinta*ic:aG3JA PintaTexto4entradoG&-9--91-9Red94o#or*ondo,en"96ote# >ombre%6JA Lee>"mG>6ab9Abortado9C:ite9(291+9(959333JA PintaVentanaTextoA GLReestab#ecemos #a <entana de texto de# entorno de trabajo LJ E>.A ])))))))))))))))))))))))))))))))))))))_ PR/4E.URE Reser<ar%6GVAR 6:*%6ote#JA ] Rea#i=a "n reser<a de :abitaciones $ara "n determinado :ote#9 si :a? sitio Par metros de: L@a#ida 6:*%6ote#A _ VAR 4#a<e:T$%4#a<eA GLF"arda e# 4I* de# :ote# LJ @t:@tringU(VA GL.onde $asamos "n <a#or n"m`rico a tra<es de @TRLJ 6ote#:Reg6ote#A GL.onde g"ardamos e# :ote# c"ando #eemos de# ;ic:eroLJ Pos:PosicionA GL.onde g"ardamos #a $osicion de# :ote# !"e nos de<"e#<e E"scarLJ Abortado9 GLIndica si se :a abortado #as o$eracionesLJ Enc:Eoo#eanA GLToma "n <a#orTRUE si se :a encontrado e# :ote#LJ >6ab:CordA GL.onde g"ardamos e# n^mero de :abitaciones a reser<arLJ 6ab%Libres:CordA GL.onde g"ardamos e# n^mero de :abitaciones #ibresLJ EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-2

GLPedimo e# 4I* de# :ote# donde !"eremos rea#i=ar #a reser<a de :abitaciones ? com$robaremos si en e# ;ic:ero est dic:o :ote# L"ego se com$robara si #a reser<a $"ede ser e;ect"adaLJ GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*6 T6E> EEFI> GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e existe ? !"e esta bienLJ I* AbrirR%*6G6J T6E> EEFI> GL @i no contiene in;ormacion est <acioLJ I* TamanoG6JY5 T6E> ,ostrar.ia#ogoGA<iso92J EL@E EEFI> GLPedimos e# >I*LJ Leer%4I*G6ote# 4I*9AbortadoJA GL@i no se :a abortado b"scamos e# registro !"e !"eremos borrarLJ I* >/T Abortado T6E> EEFI> GLE"scamos en e# Indice e# :ote# @i est nos de<"e#<e #a $osicion dentro de# ;ic:ero LJ 4#a<e:Y6ote# 4I*AGLPara e<itar incom$atibi#idades de ti$oLJ E"scarGIndi94#a<e9Pos9EncJA I* Enc T6E> EEFI> GLAccedemos a #a $osicionLJ I* PosicionarG69PosJ T6E> EEFI> GL@i #eemos e# :ote# #o mostramosLJ I* Leer%*6G696ote#J T6E> EEFI> GL4om$robamos si !"edan :abitaciones #ibresLJ I* 4om$robar%Reser<aG6ote#J T6E> EEFI> REPEAT GLPedimos e# n"mero de :abitaciones !"e !"eremos reser<arLJ Pedir%>6ab G>6ab96ote#9AbortadoJA GL4om$robamos !"e e# n"emero de :abitaciones !"e se !"ieren reser<ar no sobre$asan e# n^mero de :abitaciones #ibresLJ I* 6ote# 6ab%/c"$adasX>6ab I 6ote# >%6ab T6E> EEFI> 6ab%Libres:Y6ote# >%6ab)6ote# 6ab%/c"$adasA @TRG6ab%Libres:(9@tJA Pinta4"adroG-91&91-91-94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG091-91(94o#orLetras,en"94o#or*ondo,en"9 iIm$osib#e rea#i=ar #a reser<a9 so#o !"edaen iX @t X i :abitacionees #ibreesiJA Es$eraG-91-91+9E#"e94o#or*ondo,en"9TRUEJA PintaVentanaTextoA E>.A GLRe$etimos este b"c#e :asta !"e no se sobre$ase e# n^mero de :abitaciones de# :ote# c"ando !"eremos reser<ar "n determinado n^mero de :abitacionesA o :asta !"e se aborte #a o$eracionLJ U>TIL GG6ote# 6ab%/c"$adasX>6abJNY6ote# >%6abJ /R AbortadoA GLsi no se abortado e;ect"amos #a reser<a #a reser<aLJ I* >/T Abortado T6E> EEFI> GLRe#i=amos #a reser<aLJ Reser<arG6ote#9>6abJA I* PosicionarG69PosJ T6E> EEFI> GLE# 6ote# es modi;icado con #a reser<a ? es escrito

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

-3

en e# registroLJ I* >/T Escribir%*6G696ote#J T6E> ,ostrar.ia#ogoGError93J E>. EL@E ,ostrar.ia#ogoGError9&&J E>.A E>. EL@E ,ostrar.ia#ogoGA<iso91(JA E>. EL@E ,ostrar.ia#ogoGError911J E>. EL@E ,ostrar.ia#ogoGError9&&JA E>. EL@E ,ostrar.ia#ogoGA<iso90JA E>.A GL6a? !"e cerrar e# ;ic:ero $ara !"e no !"ede abierto LJ I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E ,ostrar.ia#ogoGError911JAA E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE List%Todo%6GVAR 6:*%6ote#JA ] Lista $or $anta##a todos #os :ote#es de# ;ic:ero9 ordenados $or e# 4I* Par metros de: L@a#ida 6:*%6ote#A _ 4/>@T RePag Y Z1(A A<Pag Y Z21A E@4 Y Z&1A VAR @T : @tringU+VA GLF"arda como cadena #a con<ersion de# <a#or n"m`rico de# n"mero tota# de :ote#es !"e contiene e# arc:i<o LJ 4 : 4:arA GLRecoge e# <a#or de #as tec#as de contro# de esta o$cionLJ *in : Eoo#eanA GL4"ando toma "n <a#or TRUE termina de mostrar #os :ote#esLJ 4#a<e: T$%4#a<eA GLF"arda e# 4I* de# :ote#LJ Pos : PosicionA GLIndica #a $osicion de# :ote# dentro de# ;ic:ero :ote#LJ E#emento:PosIndiceAGLIndica e# 6ote# !"e se m"estra en $anta##a en "n determinado momentoLJ 6ote#:Reg6ote#A GLF"arda #os datos de# :ote# !"e se m"estra en $anta##aLJ EEFI> GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*6 T6E> EEFI> GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e existe ? !"e esta bienLJ I* AbrirR%*6G6J T6E> EEFI> GL @i no contiene in;ormacion est <acioLJ I* TamanoG6JY5 T6E> ,ostrar.ia#ogoGA<iso92J EL@E EEFI> GLIndicamos e# $rimer e#ementoLJ E#emento:Y1A *in:Y *AL@EA REPEAT GL4on 4"a#Pos obtengo #a c#a<e ? #a $osicion dentro de# ;ic:ero de# e#emento iE#ementoi de# IndiceLJ 4"a#PosGIndi9E#emento94#a<e9PosJA I* PosicionarG69PosJ T6E> EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

05

I* Leer%*6G696ote#J T6E> EEFI> ,ostrar%6ote#G6ote#9TRUEJA @TRGE#emento:(9@TJA PintaTexto4entradoG&9(1939E#"e94o#or*ondo,en"9i6/TEL :iX@TJA @TRG4"antosGIndiJ:(9@TJA PintaTexto4entradoG-5915939E#"e94o#or*ondo,en"9i .EiX@TJA 4:Y Lee4:arGUZ59E@4VJA GL@i e# tec#a es$ecia#LJ I* 4 Y Z5 T6E> EEFI> GLRea#i=amos #a seg"nda #ect"raLJ c:YLee4:arGURePag9A<PagVJA 4A@E c /* RePag:GLIndica 6ote# AnteriorLJ I* E#emento I 1 T6E> .E4GE#ementoJA A<Pag:GLIndica 6ote# @ig"ienteLJ I* E#emento N 4"antosGIndiJ T6E> I>4GE#ementoJA E>.A E>. EL@E I* 4YE@4 T6E> EEFI> *in:YTRUEA PintaVentanaTexto E>.A E>. EL@E EEFI> ,ostrar.ia#ogoGError911JA *in:YTRUE E>.A E>. EL@E EEFI> ,ostrar.ia#ogoGError9&&JA *in:YTRUE E>.A U>TIL *inA I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E ,ostrar.ia#ogoGError911JAA E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE List%4ategoriaGVAR 6:*%6ote#JA ] ,"estra $or $anta##a todos #os :ote#es de# ;ic:ero de "na determinada categorca Par metros de: L@a#ida 6:*%6ote#A _ 4/>@T RePag Y Z1(A A<Pag Y Z21A E@4 Y Z&1A VAR 4atg : DordA GL<a a g"ardar #a categoria !"e !"eremosLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

01

@T : @tringU+VA GLF"arda como cadena #a con<ersion de# <a#or n"m`rico de# n"mero tota# de :ote#es !"e contiene e# arc:i<o de esa determinada categoria LJ 4 : 4:arA GLRecoge e# <a#or de #as tec#as de contro# de esta o$cionLJ 6a?9 GLIndica si :a? :ote#es de esa categoria o noLJ Abortado9 GLIndica si se :a abortado #a ejec"ci[n de #a o$cion LJ *in : Eoo#eanA GL4"ando toma "n <a#or TRUE termina de mostrar #os :ote#esLJ 4#a<e: T$%4#a<eA GLF"arda e# 4I* de :ote# !"e se este mostrandoLJ Pos : PosicionA GLF"arda #a $osicion de# :ote# dentro de# arc:i<oLJ E#emento:PosIndiceAGLIndica e# :ote# !"e se est mostrando en $anta##aLJ 6ote#:Reg6ote#A GLF"arda #os datos de# :ote# !"e se m"estra $or $anta##a LJ Ia"x:IndiceA GLEste indice #o "ti#i=o $ara <o#car todo #os registros de de "na determinada categoriaLJ EEFI> GL4om$robamos si :a? "n ;ic:ero de c#ientes en "soLJ I* Asignado%*6 T6E> EEFI> GL@i e# *ic:ero se abre $ara #ect"ra signi;ica !"e existe ? !"e esta bienLJ I* AbrirR%*6G6J T6E> EEFI> GL @i no contiene in;ormacion est <acioLJ I* TamanoG6JY5 T6E> ,ostrar.ia#ogoGA<iso92J EL@E EEFI> Pinta*ic:aG15JA Lee>"mG4atg9Abortado9C:ite9+091-91959(JA I* >/T Abortado T6E> EEFI> GLInicia#i=o #a estr"ct"ra donde <amos a <o#carLJ >"e<oGIa"xJA GLRecorro todo e# ;ic:ero ? introd"=co en Ia"x todos a!"e##os registros !"e son de "n determinada categorca i4atgiLJ 6a?:Y*AL@EA C6ILE G>/T E/*G6JJ A>. G4"antosGIa"xJNY,axE#tosJ ./ EEFI> GLPosicion act"a# de# ;ic:eroLJ Pos:YPosiG6JA GLLeemos 6ote# de# dic:ero ? #o insertamos en orden "ti#i=ando #a c#a<eG6ote# 4I*J en e# indice Gg"ardamos #a $osicion !"e oc"$a dentro de# ;ic:eroJ @I E@ .E LA 4ATEF/RIA i4atg LJ I* Leer%*6G696ote#J T6E> EEFI> I* 6ote# 4ategorY 4atg T6E> EEFI> 4#a<e:Y6ote# 4I*AGLPara e<itar incom$atibi#idades de ti$oLJ Anadir/rdenGIa"x94#a<e9PosJA 6a?:YTRUEA E>. E>. EL@E ,ostrar.ia#ogoGError911JA E>.A ]C:i#e_ I* >/T 6a? T6E> ,ostrar.ia#ogoGA<iso91+J EL@E EEFI> GLIndicamos e# $rimer e#ementoLJ E#emento:Y1A *in:Y *AL@EA REPEAT GL4on c"a# $os obtengo #a c#a<e ? #a $osicion dentro de# ;ic:ero de# e#emento iE#ementoi de# Indice LJ 4"a#PosGIa"x9E#emento94#a<e9PosJA I* PosicionarG69PosJ T6E> EEFI> I* Leer%*6G696ote#J T6E> EEFI> ,ostrar%6ote#G6ote#9TRUEJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

0&

@TRGE#emento:(9@TJA PintaTexto4entradoG&9(1939E#"e94o#or*ondo,en"9i6/TEL :iX@TJA @TRG4"antosGIa"xJ:(9@TJA PintaTexto4entradoG-5915939E#"e94o#or*ondo,en"9i .EiX@TJA 4:Y Lee4:arGUZ59E@4VJA GL@i e# tec#a es$ecia#LJ I* 4 Y Z5 T6E> EEFI> GLRea#i=amos #a seg"nda #ect"raLJ c:YLee4:arGURePag9A<PagVJA 4A@E c /* RePag:GLIndica 6ote# AnteriorLJ I* E#emento I 1 T6E> .E4GE#ementoJA A<Pag:GLIndica 6ote# @ig"ienteLJ I* E#emento N 4"antosGIa"xJ T6E> I>4GE#ementoJA E>.A E>. EL@E I* cYE@4 T6E> EEFI> *in:YTRUEA PintaVentanaTexto E>.A E>. EL@E EEFI> ,ostrar.ia#ogoGError911JA *in:YTRUE E>.A E>. EL@E EEFI> ,ostrar.ia#ogoGError9&&JA *in:YTRUE E>.A U>TIL *inA E>.A E>.A I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-J E>.A E>. EL@E ,ostrar.ia#ogoGError911JA E>. EL@E ,ostrar.ia#ogoGError9&+JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLL RUTI>A@ .EL ,E>U .IARI/ LLLLLLLLLLLLLLLLLLLLLLLJ GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrar4#iente%LGL6ote#:$6ote#JA ] >os m"estra e# 4I* de# :ote# donde se enc"entra e# c#iente c"?o >I* :emos introd"cido $re<iamente Par metros de: LEntrada L6ote#:$6ote#A $"ntero !"e a$"nta a# $rinci$io de #a #ista de :ote#es9 de #a c"a# cada nodo tiene "n cam$o !"e a$"nta a "na #ista de c#ientes _

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

0(

VAR >:Ti$o>I*A GL.onde g"ardamos e# >I* de# c#iente de# !"e !"eremos saber e# >I* de# :ote# donde esta a#ojadoLJ Abortado:Eoo#eanA EEFI> I* L6ote#Y>IL T6E> ,ostrar.ia#ogoGA<iso910J EL@E EEFI> Leer%>I*G>9AbortadoJA GLPedimos e# >I* de# c#ienteLJ I* >/T Abortado T6E> ,ostrar4#ienteGL6ote#9>JA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrar6ote#%LGL6ote#:P6ote#JA ] >os :ace "n #istado de #os >I* de #os c#ientes de# :ote# c"?o 4I* :emos introd"cido $re<iamente Par metros de: LEntrada L6ote#:$6ote#A $"ntero !"e a$"nta a# $rinci$io de #a #ista de :ote#es9 de #a c"a# cada nodo tiene "n cam$o !"e a$"nta a "na #ista de c#ientes _ VAR >:Ti$o4I*A GL.onde g"ardamos e# 4I* de# :ote# de# !"e !"eremos saber #os >I* de todos #os c#ientes !"e a#bergaLJ Abortado:Eoo#eanA EEFI> I* L6ote#Y>IL T6E> ,ostrar.ia#ogoGA<iso910J EL@E EEFI> Leer%4I*G>9AbortadoJA GLPedimos e# 4I* de# :ote#LJ I* >/T Abortado T6E> ,ostrar6ote#GL6ote#9>JA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrarTodo%LGL6ote#:P6ote#JA ] >os <a mostrando #os >I* de #os c#iente de todos #os :ote#es !"e :an entrado en #a estr"ct"ra din mica Par metros de: LEntrada L6ote#:$6ote#A $"ntero !"e a$"nta a# $rinci$io de #a #ista de :ote#es9 de #a c"a# cada nodo tiene "n cam$o !"e a$"nta a "na #ista de c#ientes _ EEFI> I* L6ote#Y>IL T6E> ,ostrar.ia#ogoGA<iso910J EL@E ,ostrarTodoGL6ote#JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ GLI>I4IALItA,/@ LA E@TRU4TURA .I>g,I4A 4REA.A PARA @ER UTILItA.A .E@.E .IARI/LJ EEFI> 4rear6ote#GLista6JA E>.

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

0+

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ E>. ].E LA U>I.A._

1 ( +' Unidad Tad%,en"


] U>I.A. TA.%,E>U: Es #a !"e contiene todos #as r"tinas de contro# de# ,en^ Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%,E>UA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ 4RT9 TA.%/P4I/>9 TA.%UTIL@A 4/>@T 4o#or*ondo,en"YLig:tFra?A ]4o#or de ;ondo de "n men^_ 4o#orEorde,en"YE#ac\A ]4o#or de# borde de "n men^_ 4o#orLetras,en"YE#ac\A ]4o#or de #as #etras de# men^_ 4o#orLetra,ainYRedA ]4o#or de #a #etra de se#ecci[n de# men^_ 4o#or*ondoTextoY E#"eA ]4o#or de# ;ondo de #a <entana centra#_ 4o#orTextoY C:iteA ]4o#or de# texto norma#_ 4o#orIn<>ame,en"YE#"eA ]4o#or de #as #etras de "n men^ in<ertido_ 4o#or*ondoIn<,en"YFreenA ]4o#or de# *on;o de# >ombre de# men" in<ertido_ ,ax,en"sY+A ,ax/$cionesY2A ]>^mero m ximo de men^s en e# sistema_ ]>^mero m ximo de o$ciones en #os men^s_

TOPE Rec,en"YRE4/R. >ombr:@tringU&5VA ]>ombre de# men^_ 4ar:46ARA ]4aracter de a$ert"ra_ Pos:E?teA ]Posici[n inicia#_ 4o#9 ]4o#"mna de# nombre en $anta##a_ Anc:o9 ]Anc:o de# men^_

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

0-

>/$s9 ]>^mero rea# de o$ciones_ Uact<:E?teA ]/$ci[n acti<a de# men^_ /$cs:ARRAO U1 ,ax/$cionesV /* Rec/$cA ]Lista de o$ciones de# men^_ E>.A ]Rec,en"_ Ti$o,en"sYARRAO U1 ,ax,en"sV /* Rec,en"A VAR Last,en" :E?teA ]8#timo men^ se#eccionado en e# sistema_ ,en"/$en :Eoo#eanA ]Variab#e !"e indica si :a? a#g"n men^ abierto o no_ PR/4E.URE Init,en" GVAR ,en":Ti$o,en"sJA PR/4E.URE Pinta,en"Pra# GVAR ,en":Ti$o,en"sJA PR/4E.URE Pinta,en"In; G,en"9/$cion:E?teJA PR/4E.URE PintaVentanaTextoA PR/4E.URE Abre,en" G,:E?teAVAR ,en":Ti$o,en"sJA PR/4E.URE 4ierra,en"G,en":Ti$o,en"sJA PR/4E.URE /$cionAnteriorGVAR ,en":Ti$o,en"sJA PR/4E.URE /$cionPosteriorGVAR ,en":Ti$o,en"sJA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Init,en" GVAR ,en": Ti$o,en"sJ A ] Inicia#i=a #os <a#ores de #os men^s de# $rograma Par metros de: LEntrada ,en":Ti$o,en"sA _ EEFI> CIT6 ,en"U1V ./ EEFI> >ombr:Yi.IARI/iA 4ar:Yi.iA Pos:Y1A 4o#:Y-A Anc:o:Y10A >/$s:Y-A Uact<:Y1A CIT6 /$csU1V ./ EEFI> >om:Yi,ostrar 4#iente iA 4ar:Yi4iA Pos:Y3A E>.A CIT6 /$csU&V ./ EEFI> >om:Yi,ostrar 6ote# *(iA 4ar:Yi6iA Pos:Y3A E>.A CIT6 /$csU(V ./ EEFI> >om:Yi,ostrar Todo *&iA 4ar:YiTiA Pos:Y3A E>.A CIT6 /$csU+V ./ EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

00

>om:YiArc: en U@/ *1iA 4ar:YiUiA Pos:Y15A E>.A CIT6 /$csU-V ./ EEFI> >om:Yi@a#ir A#t)XiA 4ar:Yi@iA Pos:Y1A E>.A E>.A ],en"U1V_ CIT6 ,en"U&V ./ EEFI> >ombr:YisndiceiA 4ar:YisiA Pos:Y1A 4o#:Y&-A Anc:o:Y1A >/$s:Y+A Uact<:Y1A CIT6 /$csU1V ./ EEFI> >om:YiLim$iariA 4ar:YiLiA Pos:Y1A E>.A CIT6 /$csU&V ./ EEFI> >om:YiAradir iA car:YiAiA $os:Y1A E>.A CIT6 /$csU(V ./ EEFI> >om:YiEorrar iA 4ar:YiEiA Pos:Y1A E>.A CIT6 o$csU+V ./ EEFI> >om:Yi,ostrariA 4ar:Yi,iA Pos:Y1A E>.A E>.A],en"U&V_ CIT6 ,en"U(V ./ EEFI> >ombr:Yi4#ienteiA 4ar:Yi4iA Pos:Y1A 4o#:Y+5A Anc:o:Y12A >/$s:Y0A Uact<:Y1A CIT6 /$csU1V ./ EEFI> >om:Yi>"e<o Arc:i<o *+iA 4ar:Yi>iA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

01

Pos:Y1A E>.A CIT6 /$csU&V ./ EEFI> >om:YiUsar Arc:i<o *-iA 4ar:YiUiA Pos:Y1A E>.A CIT6 /$csU(V ./ EEFI> >om:YiAradir 4#iente *0iA 4ar:YiAiA Pos:Y1A E>.A CIT6 /$csU+V ./ EEFI> >om:YiEorrar 4#iente *1iA 4ar:YiEiA Pos:Y1A E>.A CIT6 /$csU-V ./ EEFI> >om:Yi4ons"#tar 4#iente iA 4ar:YioiA Pos:Y&A E>.A CIT6 /$csU0V ./ EEFI> >om:YiTodos #os 4#ientesiA 4ar:YiTiA Pos:Y1A E>.A E>.A ],en"U(V_ CIT6 ,en"U+V ./ EEFI> >ombr:Yi6ote#iA 4ar:Yi6iA Pos:Y1A 4o#:Y05A Anc:o:Y13A >/$s:Y2A Uact<:Y1A CIT6 /$csU1V ./ EEFI> >om:Yi>"e<o Arc:i<o *2iA 4ar:Yi>iA Pos:Y1A E>.A CIT6 /$csU&V ./ EEFI> >om:YiUsar Arc:i<o *3iA 4ar:YiUiA Pos:Y1A E>.A CIT6 /$csU(V ./ EEFI> >om:YiAradir 6ote# iA 4ar:YiAiA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

02

Pos:Y1A E>.A CIT6 /$csU+V ./ EEFI> >om:YiEorrar 6ote# iA 4ar:YiEiA Pos:Y1A E>.A CIT6 /$csU-V ./ EEFI> >om:YiReser<ar 6ote# iA 4ar:YiRiA Pos:Y1A E>.A CIT6 /$csU0V ./ EEFI> >om:Yi4ons"#tar 6ote# iA 4ar:Yi4iA Pos:Y1A E>. A CIT6 /$csU1V ./ EEFI> >om:YiListar Todos iA 4ar:YiLiA Pos:Y1A E>.A CIT6 /$csU2V ./ EEFI> >om:Yi,ost $or 4ategoriaiA 4ar:Yi,iA Pos:Y1A E>.A E>.A],en"U+V_ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Pinta,en"Pra# GVAR ,en":Ti$o,en"sJA ] Pinta en #a #cnea s"$erior de #a $anta##a #os nombres de #os men^s Par metros de: LEntrada ,en":Ti$o,en"sA _ VAR i:E?teA EEFI> CindoDG19192591JA ] Limitamos #a $anta##a a #a #cnea s"$erior_ TextEac\Fro"ndG4o#or*ondo,en"JA 4#r@crA */R i:Y1 T/ ,ax,en"s ./ CIT6 ,en"UiV ./ EEFI> Fotox?G4o#91JA Text4o#orG4o#orLetras,en"JA CriteG>ombrJA Fotox?G4o#XPos)191JA ] Escribimos _ Text4o#orG4o#orLetra,ainJA] e# car cter es$ecia# _ CriteG4arJA ] de cada nombre de men^_ E>.A CindoDG1919259&-JA] Resta"ramos e# tamaro origina# de #a $anta##a_ E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

03

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Pinta,en"In; G,en"9/$cion:E?teJA ] Pinta en #a #cnea in;erior de comandos adiciona#es a #os men^s 4"ando :a? "n men" des$#egado U G,en"9/$cionJNIG595J V9 con #o c"a# se im$rime #a AOU.A E> LI>EA de #a o$cion acti<a de# men" act"a#emnte des$#egado indicado res$ecti<amente $or #os $ar metros /$cion ? ,en" Par metros de: LEntrada ,en" :E?teA Indica e# men" /$cion:E?teA Indica #a o$cion de# men" _ VAR A?"daEnLinea:Eoo#eanA ]Variab#e boo#eana !"e contro#a !"e no se im$riman en #a =ona de #a $anta##a reser<ada $ara e# men" in;erior #os comentarios de #a iA?"da en Lineai_ 4omentario:@tringA EEFI> CindoDG19&-9259&-JA] Limitamos #a $anta##a a #a #cnea in;erior_ TextEac\Fro"ndG4o#or*ondo,en"JA 4#r@crA A?"daEnLinea:YTRUEA 4A@E ,en" /* 5:EEFI> A?"daEnLinea :Y *AL@EA Text4o#orG4o#orLetras,en"JA CriteGi A#tXX)@a#ir *1)A U@/ *()Abrir *+)>"e<o *-)Usar *0)Aradir *1)EorrariJA Text4o#orG4o#orLetra,ainJA FotoXOG(91J A CriteGiA#tXX)iJA FotoXOG1091JA CriteGi*1)iJA FotoXOG&091JA CriteGi*()iJA FotoXOG(091JA CriteGi*+)iJA FotoXOG+091JA CriteGi*-)iJA FotoXOG--91JA CriteGi*0)iJA FotoXOG0091JA CriteGi*1)iJA E>.A 1:GL.IARI/LJ 4A@E /$cion /* 1: 4omentario:Yi,"estra e# 4I* de# :ote# donde :i=o reser<a "n c#iente dado s" >I*iA &: 4omentario:Yi.ado e# 4I* de "n :ote# m"estra e# >I* de todos s" c#ientes iA (: 4omentario:Yi,"estra #a #ista de :ote#es con s" #ista de c#ientesiA +: 4omentario:Yi,"estra e# nombre de# Arc:i<o 4#iente ? 6ote# en UsoiA -: 4omentario:Yi@a#e de #a ejec"ci[n de# $rogramaiA E>.A &:GLI>.I4ELJ 4A@E /$cion /* 1:4omentario:Yi.eja <acco e# Indicei A &:4omentario:YiPide 4#a<e ? Posicion9 ? #o arade a# Indice iA (:4omentario:YiPide 4#a<e e#emento9 ? #o borra de# Indice iA +:4omentario:Yi,"estra 4#a<e ? Posicion de todos #os e#ementos iA E>.A (:GL4LIE>TELJ 4A@E /$cion /* 1:4omentario:YiPide nombre *ic:ero 4#ientes n"e<o Lo crea ? #o $one en "so i A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

15

&:4omentario:YiPide nombre *ic:ero 4#ientes9 ? #o $one en "so i A (:4omentario:YiInserta "n n"e<o 4#iente en e# *ic:ero 4#ientes seg^n s" >I* i A +:4omentario:YiEorra "n 4#iente de# *ic:ero 4#ientes seg^n s" >I*i A -:4omentario:YiPide >I* 4#iente !"e se !"iere cons"#tar i A 0:4omentario:Yi,"estra todos #os 4#ientes de# *ic:ero 4#ientes en "so iA E>.A +:GL6/TELLJ 4A@E /$cion /* 1:4omentario:YiPide nombre *ic:ero 6ote#es n"e<o Lo crea ? #o $one en "so i A &:4omentario:YiPide nombre *ic:ero 6ote#es9 ? #o $one en "so i A (:4omentario:YiInserta "n n"e<o 6ote# en e# *ic:ero 6ote#es seg^n s" 4I* i A +:4omentario:YiEorra "n 6ote# de# *ic:ero 6ot#es seg^n s" 4I*i A -:4omentario:YiRea#i=a "n reser<a de :abitaciones en "n 6ote#9 si :a? sitioiA 0:4omentario:YiPide 4I* 6ote# !"e se !"iere cons"#tar i A 1:4omentario:YiLista $or $anta##a todos #os :ote#es de# ;ic:ero en "soiA 2:4omentario:Yi,"estra todos #os :ote#es de "na determinada 4ategorcaiA E>.A E>.A]4A@E_ I* A?"daEnLinea T6E> EEFI> Text4o#orG4o#orLetra,ainJ A FotoXOG091J A CriteGiAOU.A uiJA Text4o#orG4o#orLetras,en"JA FotoXOG1+91JA CriteG4omentarioJA E>.A CindoDG1919259&-J] Resta"ramos e# tamaro origina# de #a $anta##a_ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE PintaVentanaTextoA ] Inicia#i=a #a =ona centra# de #a $anta##a con e# co#or adec"ado _ VAR 4o#9*i# : E?teA EEFI> TextEac\Fro"ndG4o#or*ondoTextoJA Text4o#orG4o#orTextoJA */R 4o#:Y1 T/ 25 ./ */R *i#:Y& T/ &+ ./ EEFI> F/T/XOG4o#9 *i#JA CRITEGimiJA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Abre,en" G,:E?teAVAR ,en":Ti$o,en"sJA ] Abre e# men^ con n^mero , @i :a? "n men^ act"a#mente abierto9 #o cierra $re<iamente Para abrir e# men^9 se $inta e# c"adro ? todas s"s o$ciones9 in<irtiendo #a ^#tima se#eccionada _ VAR i:E?teA EEFI> I* ,en"/$en T6E> 4ierra,en"G,en"JA ] Act"a#i=amos #as <arib#es de contro# de men^s_

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11

,en"/$en:YTRUEA Last,en":Y,A CIT6 ,en"ULast,en"V ./ EEFI> Pinta4"adro G4o#)&9&94o#XAnc:o)19>/$sX(94o#orEorde,en"9 4o#or*ondo,en"9TRUE9TRUEJA ]Pinta e# c"adro ? e# borde_ Text4o#orG4o#orIn<>ame,en"JA ] Pinta e# _ TextEac\Fro"ndG4o#or*ondoIn<,en"JA ] nombre _ Fotox?G4o#91JA ] de# men^ _ CriteG>ombrJA ] in<irtiendo#o _ Text4o#orG4o#orLetra,ainJA Fotox?G4o#XPos)191JA CriteG4arJA */R i:Y1 T/ >/$s ./ Pinta/$cionG4o#)19i9/$csUiVJA In<ierte/$cionG4o#)19Uact<9/$csUUact<VJA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE 4ierra,en"G,en":Ti$o,en"sJA ] 4ierra e# men^ act"a#mente acti<o9 si :a? _ EEFI> PintaVentanaTextoAGLReestab#ece #a Ventana de texto ? borra e# c"adro de# men" !"e est"<iera abierto en ese momentoLJ ,en"/$en:Y*AL@EA GLIndica !"e no :a? act"a#mente "n men" abiertoLJ CIT6 ,en"ULast,en"V ./ EEFI> GL.esin<ierte e# co#or de# nombre de# men" !"e se cierraLJ Text4o#orG4o#orLetras,en"JA TextEac\Fro"ndG4o#or*ondo,en"JA Fotox?G4o#91JA CriteG>ombrJA Text4o#orG4o#orLetra,ainJA Fotox?G4o#XPos)191JA CriteG4arJA E>.A Pinta,en"In;G595JAGLReestab#ece e# men" in;erior inicia#LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE /$cionAnteriorA ] @e#ecciona #a o$ci[n anterior a #a act"a# _ EEFI> CIT6 ,en"ULast,en"V ./ EEFI> Pinta/$cionG4o#)19Uact<9/$csUUact<VJA .E4GUact<JA I* Uact< N 1 T6E> Uact<:Y>/$sA In<ierte/$cionG4o#)19Uact<9/$csUUact<VJA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&

E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE /$cionPosteriorA ] @e#ecciona #a o$ci[n $osterior a #a act"a# _ EEFI> CIT6 ,en"ULast,en"V ./ EEFI> Pinta/$cionG4o#)19Uact<9/$csUUact<VJA I>4GUact<JA I* Uact< I >/$s T6E> Uact< :Y 1A In<ierte/$cion G4o#)19Uact<9/$csUUact<VJA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ EEFI> ] Inicia#i=amos <ariab#es de contro# de# men^ _ Last,en" :Y 1A ,en"/$en :Y *AL@EA E>.

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1(

1 ( -' Unidad Tad%/$cion


] U>I.A. TA.%/P4I/>: Es #a !"e contiene #as r"tinas !"e act"an sobre #as o$ciones de #os ,en^ Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%/P4I/>A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ 4RTA 4/>@T 4o#orText/$cionYE#ac\A ] 4o#or de# nombre de #a o$ci[n_ 4o#orEac\/$cionYLig:tgra?A ] 4o#or de# ;ondo de #a o$ci[n_ 4o#orEs$ecia#YRedA ] 4o#or de #a #etra es$ecia# de #a o$ci[n_ TOPE Rec/$cYRE4/R. >om:@TRI>FU&5VA ] >ombre de #a o$ci[n_ 4ar:46ARA ] 4aracter es$ecia# o de se#ecci[n de #a o$ci[n_ Pos:EOTEA ] Posici[n !"e oc"$a e# caracter es$ecia# en e# nombre_ E>.A

PR/4E.URE Pinta/$cion G4o#9>"mber:EOTEA/$cion:Rec/$cJA PR/4E.URE In<ierte/$cion G4o#9>"mber:EOTEA/$cion:Rec/$cJA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Pinta/$cionA ] Pinta #a o$ci[n en #a $anta##a La #etra de se#ecci[n se $intar en "n co#or9 ? e# resto de# nombre de #a o$ci[n en otro Par metro de : L Entrada:

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1+

4o#: 4o#"mna en #a !"e se $intar e# nombre de #a o$ci[n >"mber: >^mero de #a o$ci[n dentro de# men^ La ;i#a en #a $anta##a corres$onde a &Xn"mber /$cion: Registro con #os datos de #a o$ci[n a $intar _ EEFI> FotoXO G4o#9>"mberX&JA TextEac\Fro"ndG4o#orEac\/$cionJA Text4o#orG4o#orText/$cionJA CriteG/$cion >omJA Text4o#orG4o#orEs$ecia#JA Fotox?G4o#X/$cion Pos)19>"mberX&JA CriteG/$cion 4arJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE In<ierte/$cionA ] Pinta #a o$ci[n en #a $anta##a con co#ores in<ertidos Par mentros de: L Entrada: 4o#: 4o#"man en #a !"e se $intar e# nombre de #a o$ci[n >"mber: >^mero de #a o$ci[n dentro de# men^ La ;i#a en #a $anta##a corres$onde a &Xn"mber /$cion: Registro con #os datos de #a o$ci[n a $intar _ EEFI> Fotox? G4o#9>"mberX&JA TextEac\Fro"nd G4o#orText/$cionJA Text4o#or G4o#orEac\/$cionJA Crite G/$cion >omJA Text4o#or G4o#orEs$ecia#JA Fotox?G4o#X/$cion Pos)19>"mberX&JA CriteG/$cion 4arJ E>.A E>. GL.E LA U>I.A.LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1-

1 ( 0' Unidad Tad%Uti#s


] U>I.A. TA.%UTIL: Esta "nidada contiene di<ersas r"tinas $ara di;erentes o$eraciones !"e se <an a rea#i=ar a #o #argo de todas #as $racticas $ro$"estas Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%UTIL@A ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ I>TER*A4E ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ U@E@ 4RT9 ./@A TOPE Ti$o4jnto Y @ET /* 46ARA Ti$o.ia#ogo Y GA<iso9ErrorJA Ti$oExtensionY @tringU(VA PR/4E.URE Pinta4"adro GX19O19X&9O&:EOTEA4o#or9*ondo:EOTEAEorde9@ombra:E//LEA>JA PR/4E.URE /c"#ta4"rsorA PR/4E.URE ,"estra4"rsorA PR/4E.URE PintaTexto4entrado GX19X&9O94o#or9*ondo:EOTEA@t:@TRI>FJA *U>4TI/> Lee4:ar G4jto:Ti$o4jntoJ:46ARA PR/4E.URE Es$era GX19X&9O94o#or9*ondo:EOTEAAn?he?:E//LEA>JA PR/4E.URE Lee@tring GVAR @t:@TRI>FAVAR Abortado:Eoo#eanA4o#or94o#9*i#9,axLong:EOTEA@o#o>"m:E//LEA>JA PR/4E.URE Lee>"m GVAR >"m:C/R.AVAR Abortado:Eoo#eanA4o#or94o#9*i#9,axLong:EOTEA,in9,ax:C/R.JA PR/4E.URE @onidoErrorA PR/4E.URE ,ostrar.ia#ogoG 4#ase.ia#ogo: Ti$o.ia#ogoA .ia#ogo:E?teJA PR/4E.URE Pinta*ic:aG4#ase*ic:a:E?teJA *U>4TI/> Es%>I*o4I*%Va#idoG>I*o4I*:@tringJ: E//LEA>A *U>4TI/> Es%>ame%Va#idoG>ame:@tringJ: E//LEA>A PR/4E.URE ,ostrarListaArc:i<oGExt:Ti$oExtensionAVAR Abortado:Eoo#eanJA *U>4TI/> 4on<ertirPtas%E"rG>:CordJ:@tringA ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ I,PLE,E>TATI/> ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

10

U@E@ TA.%,E>UAGLE# $rocedimiento Es$era re!"iere de# $rocedimiento PintaVentanaTexto de #a Unidad TA.%,E>ULJ ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_

PR/4E.URE Pinta4"adro GX19O19X&9O&:EOTEA4o#or9*ondo:EOTEAEorde9@ombra:E//LEA>JA ] Pinta "n c"adro en $anta##a Par mentros de: L Entrada: X19O19X&9O&: Res$ecti<amente9 #a es!"ina s"$erior I=!"ierda e in;erior .erec:a de# c"adro 4o#or9 *ondo: 4o#or de# borde ? de ;ondo de# c"adro Eorde: @i e# <a#or es TRUE9 e# c"adro se $intar con "n borde a#rededor @ombra: @i e# <a#or es Tr"e9 a# c"adro se #a aradira "na sombra _ VAR I:E?teA EEFI> I* @ombra T6E> EEFI> GLReser<amos e# es$acio de #a $anta##a $ara $intar #a sombra de# c"adroLJ CindoDGX1X19O1X19X&X19O&X1JA TextEac\Fro"ndGELA4hJA 4#r@crA CindoDG1919259&-JA E>.A GL Reser<amos #a=ona de #a $anta##a indicada $or #as coordenadas LJ GLentradas como $ar metros $ara $intar e# c"adroLJ CindoDGX19O19X&9O&JA TextEac\Fro"ndG*ondoJA 4#r@crA CindoDG1919259&-JA I* Eorde T6E> EEFI> Text4o#orGC:iteJA Fotox?GX19O1JA CriteGiviJA GLEs!"ina @"$erior I=!"ierdaLJ Text4o#orG4o#orJA Fotox?GX19O&JA CriteGiwiJA GLEs!"ina In;erior I=!"ierdaLJ Text4o#orGC:iteJA Fotox?GX&9O1JA CriteGixiJA GLEs!"ina @"$erior .erec:aLJ Text4o#orG4o#orJA Fotox?GX&9O&JA CriteGiyiJA GLEs!"ina In;erior .erec:aLJ */R I:Y& to GX&)X1J ./ GL Pintamos #os tramos :ori=onta#esLJ EEFI> Text4o#orGC:iteJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11

Fotox?GX1XI)19O1JA CriteGiziJA Text4o#orG4o#orJA Fotox?GX1XI)19O&JA CriteGiziJA E>.A */R I:Y& T/ GO&)O1J ./ GL Pintamos #os tramos <ertica#esLJ EEFI> Text4o#orGC:iteJA Fotox?GX19O1XI)1JA CriteGiuiJA Text4o#orG4o#orJA Fotox?GX&9O1XI)1JA CriteGiuiJA E>.A E>.A E>.A ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE /c"#ta4"rsorA ] /c"#ta e# c"rsor de edici[n _ VAR Reg:RegistersA EEFI> CIT6 Reg ./ EEFI> A6:Y{51A 46:Y-5A 4L:Y( E>.A IntrG109RegJ E>.A ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE ,"estra4"rsorA ] ,"estra e# c"rsor de edici[n _ VAR Reg:RegistersA EEFI> CIT6 Reg ./ EEFI> A6:Y{51A 46:Y0A 4L:Y2 E>.A IntrG109RegJ E>.A ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE PintaTexto4entrado GX19X&9O94/L/R9*/>./:E?teA@t:@tringJA ] Pinta "n texto centrado entre #as coordenadas indicadas Par metros de:

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

12

L Entrada: X19X&: de#imitan #as co#"mnas i=!"ierda ? derec:a entre #as !"e se $intar e# texto O: ;i#a en e# !"e se $intar e# texto 4o#or9 *ondo: 4o#or de# texto ? de# ;ondo res$ecti<amente @t: Texto a $oner en #a $anta##a _ VAR >EE:IntegerA GL>EE es e# >^mero de Es$acios en E#anco de #a #ineaLJ EEFI> >EE:YX&)X1)Lengt:G@tJA Fotox?GX1XG>EE .IV &J9OJA TEXT4/L/RG4/L/RJA TEXTEA4hFR/U>.G*/>./JA CRITEG@tJ E>.A ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ *U>4TI/> Leec:ar G4jto:Ti$o4jntoJ:46ARA ] *"nci[n !"e #ee desde tec#ado "n car cter ? #o retorna L Entradas: 4jto:4onj"nto de caracteres de entrada < #idos L @a#idas: Lee4:ar: 4ar cter #ecdo _ VAR c:c:arA EEFI> REPEAT c:YRead\e?A U>TIL c I> 4jtoA Lee4:ar:Yc E>.A ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE Es$eraGX19X&9O94o#or9*ondo:EOTEAAn?he?:E//LEA>JA ] ,"etra "n mensaje en $anta##a ? es$era a !"e se $"#se "na tec#a L Entradas: X19X&9O:4o#"mnas ? ;i#as entre #as !"e se sit"ar centrado e# mensaje 4o#or9*ondo: 4o#or de# texto ? de# ;ondo res$ecti<amente An?he?: @i es TRUE9 se ace$tar #a $"#saci[n de c"a#!"ier tec#aA si e# *AL@E9 s[#o se ace$tar #a tec#a NIntroI _ VAR c : 4:arA ,ensaje : @tringA EEFI> I* An?\e? T6E> ,ensaje :Y iP"#se c"a#!"ier tec#a $ara contin"ar GJi EL@E ,ensaje :Y iP"#se #a tec#a NIntroI $ara contin"ar iA PintaTexto4entradoGX19X&9OX194o#orXb#in\9*ondo9,ensajeJA I* An?he? T6E> Readhe? GL c"a#!"ier tec#a LJ EL@E Lee4:arGUZ1(VJA GLso#o #a E>TERLJ GL 6acemos desa$arecer e# ,ensaje ? reestab#ecemos #a Ventana de TextoLJ PintaVentanaTextoA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

13

E>.A

]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE W"itaEs$aciosE#ancoG VAR 4ad:@tringJA ] W"ita #os es$acios en b#anco a# $rinci$io ? a# ;ina# de #a cadena 4ad Par metros de: LEntrada 4ad:stringA _ EEFI> GLe#imino es$acios en b#anco de# $rinci$ioLJ C6ILE G4adU1VYi iJ A>. GLengt:G4adJNI5J ./ EEFI> .e#eteG4ad9191JA E>.A GLe#imino es$acios en b#anco de# ;ina#LJ C6ILE G4adULengt:G4adJVYi iJ A>. GLengt:G4adJNI5J ./ EEFI> .e#eteG4ad9Lengt:G4adJ91JA E>.A endA ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE Lee@tringGVAR @t:@tringAVAR Abortado:Eoo#eanA4o#or94o#9*i#9 ,axLong:E?teA@o#o>"m:Eoo#eanJA ] Lee "na cadena de caracteres desde tec#ado ? #a retorna Par metros de: L Entradas: 4o#or : 4o#or !"e tendr #a cadena ? e# c"rsor de edici[n 4o#9*i#: Posici[n en #a $anta##a en #a !"e se comen=ar a #eer #a cadena ,axLong: , xima #ongit"d en caracteres de #a cadena @o#o>"m: @i es TRUE indica !"e s[#o se ace$tan como caracteres < #idos n^meros de# 5 a# 3 L @a#idas: @t: 4adena de caracteres #ecda Abortado:de<"e#<e <a#or TRUE si se :a $"#sado #a tec#a E@4 _ 4/>@T EorradoY Z2A Es$acioY Z(&A E>TER Y Z1(A E@4 Y Z&1A VAR c :4:arA *in:Eoo#eanA I :E?teA EEFI> ,"estra4"rsorA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

25

CindoDG4o#9*i#94o#X,axLong9*i#JA ]Estas sentencias sir<en $ara_ Text4o#orG4o#orJA ]!"e e# c"rsor a$are=ca j"nto con #a cadena_ 4#r@crA ]en $anta##a9 c"ando #a introd"=camos9_ CindoDG1919259&-JA ]?a !"e no so#o <a#e con ,ostrar c"rsor_ ]#a cadena ? e# c"rsor a$areceran con co#or b#anco_ *in :Y *AL@EA ]Inicia#i=amos #a <ariab#e boo#eana_ Abortado:Y *AL@EA @t :YiiA ]Inicia#i=amos #a <ariab#e string_ Fotox?G4o#9*i#JA ]@it"amos e# c"rsor donde !"eremos comen=ar a escribir_ REPEAT I* >/T @o#o>"m T6E> c:YU$4aseGLee4:arGUi9i9iei9i i9ibi9i|i9i)i9iAi iti9iai i=i9iri9iji9 i5i i3i9Eorrado9Enter9E@49Es$acioVJJ ]U$4ase :ace !"e todo caracter a#;ab`tico !"e entre a ;ormar $arte de #a cadena sea siem$re ma?^sc"#a_ EL@E c:YLee4:arGUi5i i3i9Eorrado9E>TER9E@4VJA 4A@E c /* Eorrado: EEFI> I* Lengt:G@tJ I 5 T6E> EEFI> ] Estas tres sentencias _ Fotox?GC:erex)19C:ere?JA ] borran e# caracter _ CriteGi iJA ] de #a $anta##a _ Fotox?GC:erex)19C:ere?JA ]Eorra e# caracter de# @tring_ .e#eteG@t9#engt:G@tJ91J E>. EL@E @onidoErrorA E>.A E>TER:I* Lengt:G@tJ I 5 T6E> *in:YTRUE EL@E @onidoErrorA E@4: EEFI> ] Eorramos e# string de #a $anta##a _ Fotox?G4o#9*i#JA */R I:Y1 T/ Lengt:G@tJ ./ CriteGi iJA @t:YiiA ]Lim$iamos e# @tring_ *in:YTr"eA ]*ina#i=amos_ Abortado:YTRUEA]e indicamos !"e se :a $"#sado E@4_ E>.A EL@E GL.EL 4A@ELJ I* Lengt:G@tJ N ,axLong T6E> EEFI> @t:Y@tXcA CriteGcJA E>. EL@E @onidoErrorA E>.A GL4A@ELJ U>TIL *inA W"itaEs$aciosE#ancoG@tJA /c"#ta4"rsorA E>.A

Fotox?G4o#9*i#JA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

21

]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE Lee>"m GVAR >"m:C/R.AVAR Abortado:Eoo#eanA4o#or94o#9*i#9 ,axLong:EOTEA,in9,ax:C/R.JA ] Lee "na cadena de caracteres desde tec#ado ? #a retorna L Entradas: 4o#or : 4o#or !"e tendr e# n^mero ? e# c"rsor de edici[n 4o#9*i#: Posici[n en #a $anta##a en #a !"e se comen=ar e# n^mero ,axLong: , xima #ongit"d en caracteres de# n^mero ,in9,ax: #cmite in;erior ? s"$erior entre #os !"e sit"ar e# n^mero #ecdo $ara ser < #ido L @a#idas: >"m: n^mero #ecdo Abortado:de<"e#<e <a#or tr"e si se :a $"#sado #a tec#a E@4 G<er Lee@tringJ _ 4/>@T EorradoY Z2A E>TER Y Z1(A E@4 Y Z&1A VAR *in : Eoo#eanA @t>"m : @tringA Res"#t: CordA 4od9I : IntegerA EEFI> *in :Y *AL@EA REPEAT Lee@tringG@t>"m9Abortado94o#or94o#9*i#9,axLong9TRUEJA VALG@t>"m9Res"#t94odJA GL @i 4od es Y59 indica !"e #a con<ersion es correcta LJ I* G4od Y 5J A>. GGRes"#t IY ,inJ A>. GRes"#t NY ,axJJ T6E> EEFI> *in:Y TRUEA >"m:Y Res"#t E>. EL@E EEFI> @onidoErrorA FotoXOG4o#9*i#JA */R I:Y1 T/ ,axLong ./ CriteGi iJA FotoXOG4o#9*i#JA E>.A U>TIL G*in /R AbortadoJA E>.A

]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE @onidoErrorA ]

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

2&

Emite "n sonido indicador de a#g^n error a# tec#ear "n car cter _ EEFI> @o"ndG&-5JA .e#a?G-5JA >o@o"nd E>.A ]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE ,ostrar.ia#ogoG 4#ase.ia#ogo: Ti$o.ia#ogoA .ia#ogo:E?teJA ] ,"estra a tra<`s de "n c"adro $or $anta##a "n ,ensaje ste $"ede ser bien de Abiso9 o bien de ErrorA seg^n indi!"e 4#ase.ia#ogo E# mensaje de Abiso o de Error !"e se mostrar $or $anta##a #o indica e# $arametro .ia#ogo Par metros de: LEntrada 4#ase.ia#ogo: Ti$o.ia#ogoA .ia#ogo: E?teA _ VAR ,ensaje: @tringA EEFI> 4A@E 4#ase.ia#ogo /* A<iso: 4A@E .ia#ogo /* GL AVI@/@ .EL ,E>U I>.I4ELJ 1:,ensaje:YiE# cndice :a sido #im$iadoiA &:,ensaje:YiE# cndice $ermanece intactoiA GL AVI@/@ .EL 4/>TR/L .E AR46IV/@LJ (:,ensaje:Yi>o $"ede ##e<ar: H e : L p q NI } >i estar en b#ancoiA +:,ensaje:YiE# Arc:i<o :a sido borradoiA -:,ensaje:YiE# Arc:i<o $ermanece intactoiA 0:,ensaje:YiE# 4#iente no :a sido encontradoiA 1:,ensaje:YiE# 4#iente :a sido borradoiA 2:,ensaje:YiE# *ic:ero esta <acco9 no se $"ede mostrar nadaiA 3:,ensaje:YiE# *ic:ero esta <acco9 no se $"ede borrar nadaiA 15:,ensaje:YiE# *ic:ero esta <acco9 no se $"ede cons"#tar nadaiA 11:,ensaje:YiE# 6ote# no :a sido encontradoiA 1&:,ensaje:YiE# 6ote# :a sido borradoiA 1(:,ensaje:YiTodas e# :ote# deseado est a# com$#etoiA 1+:,ensaje:Yi>o :a? :ote#es de esa categorca en este ;ic:eroiA 1-:,ensaje:YiE# *ic:ero :ote# no admite m s :ote#es Uti#ice otro *ic:eroiA 10:,ensaje:Yi>o se $"ede mostrar nada $or!"e #a estr"ct"ra esta <accaiA 11:,ensaje:YiE# 6ote# !"e !"iere se m"estre no se enc"entra iA 12:,ensaje:YiE# 6ote# donde se :i=o reser<a no se enc"entra iA E>.A]4A@E A<iso_ Error: 4A@E .ia#ogo /* GL ERR/RE@ .EL ,E>U I>.I4ELJ 1:,ensaje:YiERR/R E# cndice esta ##enoiA &:,ensaje:YiERR/R E# e#emento a insertar ?a esta en e# cndiceiA (:,ensaje:YiERR/R E# e#emento a borrar no se enc"entra en e# cndiceiA +:,ensaje:YiERR/R >o se $"ede borrar nada $or!"e e# cndice esta <accoiA -:,ensaje:YiERR/R >o se $"ede mostrar nada $or!"e e# cndice esta <accoiA 0:,ensaje:YiERR/R E# Indice ?a est VA4s/iA GL ERR/RE@ Ee@ AR46IV/@ LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

2(

1:,ensaje:Yi@e :a $rod"cido "n error a# A@IF>AR e# arc:i<oiA 2:,ensaje:Yi@e :a $rod"cido "n error a# A@IF>AR e# arc:i<o Tem$ T,PiA 3:,ensaje:Yi@e :a $rod"cido "n error a# E@4RIEIR en e# arc:i<oiA 15:,ensaje:Yi@e :a $rod"cido "n error a# E@4RIEIR en e# arc:i<o Tem$ T,PiA 11:,ensaje:Yi@e :a $rod"cido "n error a# LEER e# arc:i<oiA 1&:,ensaje:Yi@e :a $rod"cido "n error a# RE>/,ERAR e# arc:i<o Tem$ T,PiA 1(:,ensaje:Yi@e :a $rod"cido "n error a# E/RRAR e# arc:i<oiA 1+:,ensaje:Yi@e :a $rod"cido "n error a# 4ERRAR e# arc:i<o Tem$ T,PiA 1-:,ensaje:Yi@e :a $rod"cido "n error a# 4ERRAR e# arc:i<oiA 10:,ensaje:Yi@e :a $rod"cido "n error a# AERIR $ara escrit"ra en Tem$ T,PiA 11:,ensaje:Yi@e :a $rod"cido "n error a# AERIR $ara #ect"ra e# arc:i<oiA 12:,ensaje:Yi@e :a $rod"cido "n error a# AERIR $ara escrit"ra e# arc:i<oiA 13:,ensaje:Yi@e :a $rod"cido "n error a# 4REAR e# arc:i<oiA &5:,ensaje:Yi@e :a $rod"cido "n error a# ca#c"#ar e# Tamaro arc:i<o 6ote#iA &1:,ensaje:Yi@e :a $rod"cido "n error a# obtener #a $osicion de# $"ntero arc:i<oiA &&:,ensaje:Yi@e :a $rod"cido "n error a# Posicionar dentro de# arc:i<o 6ote#iA &(:,ensaje:YiERR/R E# ;ic:ero ?a esta ##enoiA &+:,ensaje:YiERR/R .ebes U@AR o 4REAR >UEV/ "n *ic:eroiA E>.A]4A@E Error_ E>.A ]4A@E $rinci$a#_ Pinta4"adroG191&91(91094o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA ],"estra en $anta##a e# mensaje de a<iso o de error_ PintaTexto4entradoG191191(94o#orLetras,en"94o#or*ondo,en"9,ensajeJA Es$eraG291191+9Oe##oD94o#or*ondo,en"9*AL@EJA ]Eorra e# c"adro !"e m"estra $or $anta##a e# mensaje_ PintaVentanaTextoA E>.A

]LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ PR/4E.URE Pinta*ic:aG4#ase*ic:a:E?teJA ] Procedimiento !"e $inta en $anta##a #a ;ic:a de #a o$cion de# men^ indice !"e se :a?a se#eccionado La ;ic:a !"e se $inta est indicada $or #a <ariab#e 4#ase*ic:a Par metros de: LEntrada 4#ase*ic:a: E?teA _ EEFI> 4A@E 4#ase*ic:a /* 1: EEFI> GLPinta #a ;ic:a de# $rocedimiento InsertarIndiceLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

2+

Pintac"adroG1-9390(91-94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&(9-291594o#orLetras,en"94o#or*ondo,en"9 iIntrod"=ca #os datos de# e#emento a aradir: iJA Pinta4"adroG&591&9-291&9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG&19&391&9Oe##oD9E#ac\9i4#a<e: iJA GL Lee@tringG&191& J LJ Pinta4"adroG&591+9(&91+9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG&19(191+9Oe##oD9E#ac\9iPosici[n: iJA GL Lee>"mG(591+ J LJ PintaTexto4entradoG((9+191+9Oe##oD9E#ac\9i G1)155JiJA E>.A &: EEFI> GLPinta #a ;ic:a de# $rocedimiento EorrarIndiceLJ Pintac"adroG1-9390(91(94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&(9-291594o#orLetras,en"94o#or*ondo,en"9 iInserte #a c#a<e de# e#emento a borrar: iJA Pinta4"adroG&591&9-291&9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG&19&391&9Oe##oD9E#ac\9i4#a<e: iJA GL Lee@tringG&291& JLJ E>.A (: EEFI> GLPinta #a ;ic:a de# $rocedimiento ,ostrarIndiceLJ Pinta4"adroG29091&9&594o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG291&909E#"e9Freen9iLI@TA./ I>.I4EiJA PintaTexto4entradoG291&919E#"e94?an9 iLL4LAVELL LLP/@I4I/>LLiJA PintaTexto4entradoG291&9139E#"e94?an9iE@4)@a#ir RegPageA<PagiJA E>.A +: EEFI> GLPinta #a ;ic:a $ara $edir e# >I* de "n c#ienteLJ Pinta4"adroG&-9119--91094o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&-9--91&94o#orLetras,en"94o#or*ondo,en"9 iIntrod"ce e# >I*iJA Pinta4"adroG(191+9+391+9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG(&9+591+9Oe##oD9E#ac\9i> I * : iJA GL Lee@tringG+591+ J LJ E>.A -: EEFI> GLPinta #a ;ic:a con #os cam$os de datos de# c#ienteLJ Pintac"adroG&9191091094o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA Pinta4"adroG+929&+929E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG-91-929Oe##oD9E#ac\9i> I * : iJA GL Lee@tringG12929 J LJ Pinta4"adroG+192903929E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG+29-2929Oe##oD9E#ac\9i4 I * : iJA GL Lee@tringG-(929 J LJ Pinta4"adroG+91591-9159E#ac\9E#ac\9*AL@E9*AL@EJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

2-

PintaTexto4entradoG-91(9159Oe##oD9E#ac\9i>ombre: iJA GL Lee@tringG129159 J LJ Pinta4"adroG+91&91-91&9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG-91091&9Oe##oD9E#ac\9i.irecci[n: iJA GL Lee@tringG&191&9 J LJ Pinta4"adroG+91+9&191+9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG+9&+91+9Oe##oD9E#ac\9i>b 6abitaciones: iJA GL Lee@tringG&191+9 J LJ E>.A 0: EEFI> GLPinta #a ;ic:a $ara $edir e# >ombre arc:i<o c#iente ? #a ;ic:a donde se im$rime #a #ista de arc:i<osLJ Pinta4"adroG&59(9059&194o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&59059(9E#"e9Freen9iLista de Arc:i<os iJA Pinta4"adroG&19+9-391-9ELUE9ELUE9 *AL@E9*AL@EJA ]Pinta #inea di<ision_ Pinta4"adroG(39+9(391-9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG&19-391-9E#"e94?an9iEs$ace)$ara <er #ista ? a<an=ariJA Pinta4"adroG&&9109-29&594o#orEorde,en"94o#or*ondo,en"9TRUE9*AL@EJA PintaTexto4entradoG&&9-291194o#orLetras,en"94o#or*ondo,en"9 iIntrod"=ca >ombre de Arc:i<o:iJA Pinta4"adroG(59129+39129E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG(19+59129Oe##oD9E#ac\9i>ombre: iJA GL Lee@tringG+1912 J LJ PintaTexto4entradoG&59059&59E#"e94?an9iE@4)@a#ir eE>TER)Intord"ciriJA TextEac\Fro"ndGE#ac\JA E>.A 1: EEFI> GLPinta #a ;ic:a $ara introd"cir e# 4I* de# :ote#LJ Pintac"adroG&-9119--91094o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&-9--91&94o#orLetras,en"94o#or*ondo,en"9iIntrod"ce e# 4I*iJA Pinta4"adroG(191+9+391+9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG(&9+591+9Oe##oD9E#ac\9i4 I * : iJA GLLee@tring +591+LJ E>.A

2: EEFI> GLPinta #a ;ic:a $ara insertar datos de# :ote#LJ Pintac"adroG&9291291394o#orEorde,en"9 4o#or*ondo,en"9TRUE9TRUEJA Pinta4"adroG(5939-5939E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG(19(3939Oe##oD9E#ac\9i4 I * : iJA GLLee@tring (393 LJ Pinta4"adroG+91190&9119E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG+91&9119Oe##oD9E#ac\9i>ombre: iJA GLLee@tring 1&911 LJ Pinta4"adroG+91(91-91(9E#ac\9E#ac\9*AL@E9*AL@EJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

20

PintaTexto4entradoG+91-91(9Oe##oD9E#ac\9i.irecci[n: iJA GLLee@tring 1-91(LJ Pinta4"adroG+91-9&-91-9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG+9&191-9Oe##oD9E#ac\9i>b 6abitaciones: iJA GLLee>"m &191-LJ Pinta4"adroG(591-9-191-9E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG(59-(91-9Oe##oD9E#ac\9i6abitaciones /c"$adas: iJA GLLee>"m -(91-LJ Pinta4"adroG+9119&&9119E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG+9139119Oe##oD9E#ac\9i4ategorca: |iJA GLLee@tring 1-911LJ Pinta4"adroG&+9119159119E#ac\9E#ac\9*AL@E9*AL@EJA PintaTexto4entradoG&+9+&9119Oe##oD9E#ac\9iPrecio $or 6ab : iJA GLLee@tring +&911LJ PintaTexto4entradoG+29159119Oe##oD9E#ac\9iPt )I GLE"ros 05911LJ E>.A E" iJA

3: EEFI> GLPinta #a ;ic:a $ara introd"cir e# n^mero de :abitaciones a reser<arLJ Pintac"adroG1291190191094o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&-9--91&94o#orLetras,en"94o#or*ondo,en"9 iIntrod"ce e# >b de 6abitaciones a Reser<ariJA Pinta4"adroG(191+9+191+9E#ac\9E#ac\9*AL@E9*AL@EJA GLLeer>"m (29 1+LJ E>.A 15: EEFI> GLPinta #a ;ic:a $ara introd"cir #a categorca de# :ote#LJ Pintac"adroG&-9119--91194o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&-9--91&94o#orLetras,en"94o#or*ondo,en"9 iIntrod"ce #a categorca:iJA PintaTexto4entradoG&09(291(94o#orLetras,en"94o#or*ondo,en"9 iG5J >ing"naiJA PintaTexto4entradoG&09(291+94o#orLetras,en"94o#or*ondo,en"9 iG1J PrimeraiJA PintaTexto4entradoG&09(291-94o#orLetras,en"94o#or*ondo,en"9 iG&J @eg"ndaiJA PintaTexto4entradoG&09(291094o#orLetras,en"94o#or*ondo,en"9 iG(J TerceraiJA Pintac"adroG+-91-9-591-9b#ac\9b#ac\9;a#se9;a#seJA GLLee>"m +091-LJ PintaTexto4entradoG+29+391-9Oe##oD9E#ac\9i| iJ E>.A 11: EEFI> GLPinta #a $arte s"$erior de #a *ic:a donde se m"estra #a #ista de c#ientes de cada :ote# de #a estr"ct"ra !"e gestiona .iarioLJ Pinta4"adroG&29+9-(9294o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&29-(9-9E#"e94o#or*ondo,en"9i 4I* 6/TEL:iJA E>.A 1&: EEFI>GLPinta #a $arte in;erior de #a *ic:a donde se m"estra #a #ista de c#ientes de cada :ote# de #a estr"ct"ra !"e gestiona .iarioLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

21

Pinta4"adroG&2939-(9&(94o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA PintaTexto4entradoG&29-(9159E#"e94o#or*ondo,en"9i>I* 4LIE>TE@:iJA PintaTexto4entradoG&39-(9&&9E#"e94?an9iE@4)/tro%6 RegPageA<PagiJ E>.A E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Es%>I*o4I*%Va#idoG>I*o4I*:@tringJ: E//LEA>A ] 4om$r"eba si #a cadena >I*o4I* es "n >I* o "n 4I* <a#ido @i #o es de<"e#<e "n <a#or TRUE Para !"e sean < #idos deben comen=ar $or "na caracter a#;ab`tico seg"ido de de oc:o digitos n"m`ricos Par metros de: LEntrada >I*o4I*:@tringA L@a#ida Es%>I*o4I*%Va#ido:E//LEA>A _ VAR I:E?teA Va#ido:Eoo#eanA GL Varib#e Eoo#eana $ara no caer en rec"rsibidadLJ EEFI> GLE# >I* o e# 4I* tiene !"e ser de n"e<e caracteresLJ I* >/T GLengt:G>I*o4I*J Y 3J T6E> Va#ido :Y *AL@E EL@E GL4om$robamos si e# $rimer caracter es a#;ab`ticoLJ I* >/T G>I*o4I*U1V I> UiAi iti9iai i=iVJ T6E> Va#ido :Y *AL@E EL@E EEFI> Va#ido:YTRUEA GL4om$robamos si #os oc:o restantes caLJ */R I:Y& to 3 ./ I* >/T G>I*o4I*UIV I> Ui5i i3iVJ T6E> Va#ido:Y*AL@E E>.A Es%>I*o4I*%Va#ido :Y Va#idoA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Es%>ame%Va#idoG>ame:@tringJ: E//LEA>A ] 4om$r"eba !"e #a cadena >ame es nombre correcto de arc:i<o Para e##o com$r"eba !"e #a cadena est ;ormada $or caracteres <a#idosA ? s" tamaro no s"$era #os oc:o caracteres9 ? no es n"#o .e<"e#<e "n <a#or TRUE si es nombre arc:i<o <a#ido Par metros de: Entrada >ame:@tringA @a#ida Es%>ame%Va#ido: E//LEA>A _ VAR I:E?teA Va#ido:Eoo#eanAGL Varib#e Eoo#eana $ara no caer en rec"rsibidadLJ EEFI> GLE# tamaro >ame tiene !"e ser menor o ig"a# a oc:o acracteres ? no n"#oLJ I* G>/T GLengt:G>ameJ NY 2JJ /R GLengt:G>ameJY5J T6E> Va#ido :Y *AL@E EL@E EEFI> Va#ido :Y TRUEA I:Y1A GL4om$robamos si #os caracteres de >ame son Va#idosLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

22

C6ILE Va#ido A>. GI NY Lengt:G>ameJJ ./ EEFI> I* G>ameUIV I>Ui i9iHi9iei9i:i9ipi9iqi9iNi9iIi9i}iVJ T6E> Va#ido:Y *AL@EA I>4GIJA E>.A E>.A Es%>ame%Va#ido :Y Va#idoA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4"antosArc:i<osGExt:Ti$oExtensionJ:IntegerA ] .e<"e#<e e# n"mero de Arc:i<os con dic:a extension existentes en e# directorio act"a# Par metros de: LEntrada Ext:Ti$oExtensionA L@a#ida 4"antosArc:i<os: IntegerA _ VAR >:IntegerA .irIn;o: @earc:RecA EEFI> ] o ;aArc:i<e _ >:Y5A *ind*irstGiL iXExt9 Arc:i<e9 .irIn;oJA ] Ig"a# !"e .IR L PA@ _ C6ILE .osError Y 5 ./ EEFI> *ind>extG.irIn;oJA I>4G>J E>.A 4"antosArc:i<os:Y>A E>.A ]))))))))))))))))))))))))))))))))))))))))))))))))))_ PR/4E.URE ,ostrarListaArc:i<oGExt :Ti$oExtensionAVAR Abortado:Eoo#eanJA ] ,"etra "n #istado de arc:i<os9como "n .IR9 dada #a Extension Par mtros de: LEntrada Extension: @tringU(VA L@a#ida Abortado:Eoo#eanA Toma "n <a#or TRUE si se :a $"#sado E@4 _ 4/>@T E>TER Y Z1(A E@4 Y Z&1A Es$ace Yi iA VAR .irIn;o: @earc:RecA Linea:E?teA GL @ir<e $ara ade#antar en "na #inea LJ *in :Eoo#eanAGL 4ontro#a e# ;in de #a ejec"cion de# mostrar arc:i<os LJ c:4:arA GL F"arda e# <a#or de #as tec#as de contro# de #a o$eraci[n LJ Paginas:E?teAGL F"arda e# n^mero tota# de $ ginas $ara mostrar todos #os arc:i<os LJ PagAct"a#:E?teA GL F"arda #a $ gina act"a# en #a !"e nos encontramos act"a#mente LJ Ventana:1 &A GLIndica en !"e <entana se im$rime #a #ista de arc:i<osLJ 4ad:@tringA EEFI> Abortado :Y*AL@EA]Abortado se incia#ia=a antes de# I* $or si no existe arc:i<os ? no entra en e# EL@E_

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

23

Pinta*ic:aG0JA PintaTexto4entradoG+29-(9129Oe##oD9E#ac\9i iXExtJA I* 4"antosArc:i<osGExtJY5 T6E> EEFI> I* ExtYi4LIiT6E> 4ad:Yi>/ 6AO AR46IV/@ 4LIE>TE@i EL@E 4ad:Yi>/ 6AO AR46IV/@ 6/TELE@iA PintaTexto4entradoG&19-3919E#"e94?an94adJ E>. EL@E EEFI> I* G4"antosArc:i<osGExtJ mod 15 J Y 5 T6E> Paginas:YG4"antosArc:i<osGExtJ di< 15J EL@E Paginas:YG4"antosArc:i<osGExtJ di< 15JX1A *in :Y*AL@EA PagAct"a#:Y1A GL Ig"a# !"e .IR L Ext LJ *ind*irstGiL iXExt9 Arc:i<e9 .irIn;oJA REPEAT 4:Y Lee4:arGUEs$ace9E@49E>TERVJA 4A@E 4 /* Es$ace:EEFI> GLPAFI>A @IFUIE>TELJ Linea :Y 1A GL4on este */R im$rime en #as dos =onasLJ */R Ventana:Y1 T/ & ./ EEFI> I* GPagAct"a#NY PaginasJ T6E> EEFI> GL@i #a $agina Act"a# es im$ar im$rime en #a $rimera =onaLJ I* GPagAct"a# mod &JY1 T6E> C6ILE G.osError NI12J A>. GLinea NY 15J ./ EEFI> PintaTexto4entradoG&19(39+XLinea9Oe##oD9E#"e9.irIn;o >ameJA *ind>extG.irIn;oJA I>4GLineaJ E>.A GL@i #a $agina Act"a# es $ar im$rime en #a seg"nda =onaLJ I* GPagAct"a# mod &JY5 T6E> C6ILE G.osError NI12J A>. GLinea NY 15J ./ EEFI> PintaTexto4entradoG(39-39+XLinea9Oe##oD9E#"e9.irIn;o >ameJA *ind>extG.irIn;oJA I>4GLineaJ E>.A I* Linea IY 15 T6E> Linea:Y1A I>4GPagAct"a#JA E>.A E>.A E>.A E>TER: *in:YTRUEA E@4: Abortado:YTRUEA E>.A U>TIL *in /R AbortadoA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4on<ertirPtas%E"rG>:CordJ:@tringA ]

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

35

*"ncion !"e con<irte "n n"mero > de $esetas a E"ros ? #o de<"e#<e en ;orma de cadena Par metros de: LEntrada >:Cord L@a#ida 4on<ertirPtas%E"r: @tringA _ VAR E"ros:Rea#A GLF"arda #a con<ersion de Pesetas a E"rosLJ E":@tringA GLF"arda #a con<ersion de# <a#or n"m`rico de #os E"ros9 a @tring LJ EEFI> E"ros:YG>e100 (20JA @TRGE"ros:(:&9E"JA 4on<ertirPtas%E"r:YE" E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ E>. ].E LA U>I.A._

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

31

1 ( 1' Unidad Tad%Indi


] U>I.A. TA.%I>.I: Es #a !"e contiene todos #as r"tinas de contro# de# Indice Una estr"ct"ra de datos est tica9 #a c"a# :a sido im$#ementada $ara ser<ir como ace#erador de "na s"$"esta estr"ct"ra de a#macenamiento en memoria sec"ndaria Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%I>.IA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ 4/>@T ,axE#tosY 155A ,axPos Y 33A TOPE T$%4#a<eY @tringU3VA GL Para !"e conc"erde con e# 4I* de #os 6ote#es LJ PosicionY 5 ,axPosA GL 6a? 155 Posiciones Uti#i=ar` e# 5 $ara indicar #a $osicion de# Primer e#emento de# ;ic:ero :ote# LJ PosIndiceY 5 ,axE#tosA GL 6a? 155 Posiciones Uti#i=ar` e# 1 $ara indicar #a $osicion de# Primer e#emento de# Indice O con e# 5 indicare !"e no :a? e#ementosLJ RegIndiceY RE4/R. 4#<:T$%4#a<eA Pos:PosicionA E>.A Ti$oArra?Y ARRAO U1 ,axE#tosV /* RegIndiceA IndiceY RE4/R. E#to:Ti$oArra?A >"m:PosIndiceA E>.A

PR/4E.URE >"e<oG VAR I: IndiceJA PR/4E.URE Lim$iar G VAR I: IndiceJA PR/4E.URE Anadir G VAR I: IndiceA 4#<: T$%4#a<eA Pos: PosicionJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

3&

PR/4E.URE Anadir/rden G VAR I: IndiceA 4#<: T$%4#a<eA Pos: PosicionJA PR/4E.URE Eorrar G VAR I: IndiceA 4#<: T$%4#a<eJA PR/4E.URE 4"a#Pos G I: IndiceA Index: PosIndiceA VAR 4#<: T$%4#a<eA VAR Pos: PosicionJA PR/4E.URE E"scar G I: IndiceA 4#<: T$%4#a<eA VAR Pos: PosicionA VAR Encontrado: Eoo#eanJA *U>4TI/> 4"antos G I: Indice J: PosIndiceA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE >"e<o G VAR I: IndiceJA ] 4rea "n cndice I n"e<o ? <acco Par metros de: L@a#ida I:IndiceA _ VAR 4ontador : PosIndiceA EEFI> */R contador :Y 1 T/ ,axE#tos ./ EEFI> CIT6 I E#to U contadorV ./ EEFI> 4#< :Y iiA Pos :Y 5A E>.A E>.A I >"m :Y 5A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Lim$iar G VAR I: IndiceJA ] @e im$#ementan con #as mismas instr"cciones9 s[#o !"e en `ste $rocedimiento en <e= de crear "n indice n"e<o ? <acco9 #im$ia "n indice ?a creado Par metros de: L @a#ida I: IndiceA _ VAR 4ontador : b?teA EEFI> */R contador :Y 1 T/ ,axE#tos ./ EEFI> CIT6 I E#to U contadorV ./ EEFI> 4#< :Y iiA Pos :Y 5A E>.A E>.A I >"m :Y 5A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Anadir G VAR I: IndiceA 4#<: T$%4#a<eA Pos: PosicionJA ] ste $rocedimiento com$r"eba si e# indice est o no ##eno @i no #o est arade "n n"e<o e#emento a# indice c"?a c#a<e es 4#< ? #a $osicion !"e $ara acceder a# `# en memoria sec"ndaria es Pos

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

3(

Par metros de: LEntrada 4#<:T$%4#a<eA Pos:PosicionA L@a#ida I:IndiceA _ EEFI> I* 4"antosGIJ NY ,axE#tos T6E> EEFI> CIT6 I ./ EEFI> E#toU4"antosGIJX1V 4#<:Y4#<A E#toU4"antosGIJX1V Pos:YPosA E>.A I >"m:YI >"mX1 E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Anadir/rdenA ] ste $rocedimiento arade en orden "n n"e<o e#emento $or s" c#a<e 4#< a# indice !"e $ara acceder a# `# en memoria sec"ndaria es Pos Par metros de: LEntrada 4#<:T$%4#a<eA Pos: PoscionA L@a#ida I:IndiceA _ VAR IA"x : IndiceA 4ont194ont&: PosIndiceA Insertado : Eoo#eanA GL Toma "n <a#or TRUE si e# e#emento se :a insertado en e# medio LJ EEFI> IA"x:YIA I* 4"antosGIJY5 T6E> EEFI> GL Es e# $rimeroLJ I E#toU1V 4#<:Y4#<A I E#toU1V Pos:YPosA E>. EL@E EEFI> GLEn medioLJ 4ont1:Y 1A Insertado :Y *AL@EA GLRea#i=amos #a b"s!"edaLJ C6ILE G4ont1 NY 4"antosGIJJ A>. G>/T InsertadoJ ./ EEFI> I* 4#< N I E#toU4ont1V 4#< T6E> EEFI> Insertado:YTRUEA I E#toU4ont1V 4#<:Y4#<A I E#toU4ont1V Pos:YPosA GL4o$ia e# resto de e#ementosLJ */R 4ont&:YG4ont1X1J T/ G4"antosGIJX1J ./ I E#toU4ont&V:YIA"x E#toU4ont&)1VA E>. EL@E I>4G4ont1JA E>.A]de# C6ILE_ I* >/T Insertado T6E> EEFI>GL@e inserta a# ;ina#LJ I E#toU4"antosGIJX1V 4#<:Y4#<A I E#toU4"antosGIJX1V Pos:YPosA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

3+

E>.A E>.A ]de# EL@E_ I>4GI >"mJA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Eorrar G VAR I: IndiceA 4#<: T$%4#a<eJA ] ste $rocedimiento borra "n e#emento de# cndice I dado s" 4#a<e 4#< Par metros de: LEntrada 4#<:T$%4#a<eA L@a#ida I:IndiceA _ VAR 4ont :PosIndiceA Ia"x :IndiceA Pos*ic: :PosicionAGL F"ardara #a $osicion Pos de# e#emento borrado LJ Eorrado :Eoo#eanA GL Toma "n <a#or TRUE si e# e#emento :a sido borrado de# Indice LJ EEFI> >"e<oGIa"xJA Eorrado :Y *AL@EA */R 4ont :Y 1 T/ 4"antosGIJ ./ EEFI> I* >/T Eorrado T6E> I* I E#toU4ontV 4#< Y 4#< T6E> EEFI> Pos*ic: :Y I E#toU4ontV PosA Eorrado :Y TRUEA E>. GL4o$iamos todos #os e#emento menos e# !"e !"eremos borrarLJ EL@E Ia"x E#toU4ontV :Y I E#toU4ontV GL Para !"e no exista :"ecoLJ EL@E Ia"x E#toU4ont)1V :Y I E#toU4ontVA E>.A

] Recorremos e# Indice9 ? todos a!"e##os e#emetos de este !"e tengan "na $osicion s"$erior Pos*ic: GPosci[n de# e#emento borrado de# *ic:ero ? a #a <e= de# IndiceJ ser n decrementados en "na "nidad ?a !"e se :a corrido "na $osici[n a# borrar se dic:o e#emento de# *ic:ero _ */R 4ont :Y 1 T/ 4"antosGIJ ./ I* Pos*ic: N Ia"x E#toU4ontV Pos T6E> .E4GIa"x E#toU4ontV PosJA GLPasamos toda #a in;ormacion ?a $re$arada a# Indice ILJ I E#to :Y Ia"x E#toA .E4GI >"mJA GL Indicamos !"e :a? "n e#emento n"e<o LJ

E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

3-

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE 4"a#Pos G I: IndiceA Index: PosIndiceA VAR 4#<: T$%4#a<eA VAR Pos: PosicionJA ] ste $rocedimiento de<"e#<e #a 4#a<e ? #a Posicion de# e#emento sit"ado en a $osicion Index de# Indice Par mentros de: LEntrada I: IndiceA Index: PosicionA L@a#ida 4#<: T$%4#a<eA Pos: PosicionA _ EEFI> 4#< :Y I E#toUIndexV 4#<A Pos :Y I E#toUIndexV Pos E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE E"scar G I: IndiceA 4#<: T$%4#a<eA VAR Pos: PosicionA VAR Encontrado: Eoo#eanJA ] ste $rocedimiento rea#i=a #a b"s!"eda de "n e#emento dado de# indice9 ? si #o enc"etra9 Encontrado toma "n <a#or TRUE Par metros de: L Entrada I: IndiceA 4#<: T$%4#a<eA L @a#ida Pos: PosicionA Encontrado: Eoo#eanA _ VAR 4ont: PosIndiceA EEFI> I* I >"mY5 T6E> Encontrado:Y*AL@E EL@E EEFI> 4ont:Y1A Encontrado:Y*a#seA C6ILE G4ontNY,axPosJ A>. G>/T EncontradoJ ./ EEFI> I* I E#toU4ontV 4#<Y4#< T6E> EEFI> Pos:YI E#toU4ontV PosA Encontrado:YTRUE E>. EL@E I>4G4ontJ E>.A E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4"antos G I: Indice J: PosIndiceA ] sta ;"ncion de<"e#<e e# n^mero de e#ementos !"e contiene #a Variab#e I de ti$o Indice Par metros de: L Entrada I: IndiceA L @a#ida 4"antos: PosIndiceA _ EEFI> 4"antos:YI >"m E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ E>. GL .E LA U>I.A.LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

30

1 ( 2' Unidad Tad%I%.i


] U>I.A. TA.%I%.I Y TA. I>.I4E .I>g,I4/ Esta "nidad contiene "nas menjoras en #a o$timi=aci[n de #a memoria de# ordenador en s" "so $or e# $rograma en tiem$o de ejec"ci[n Es decir9 a# dec#arar ? "ti#i=ar "na estr"ct"ra dim mica de datos $odemos "ti#i=ar o #iberar memoria seg^n necesite e# $rograma c"ando este se est` ejec"tando Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%I%.IA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ 4/>@T ,axPosY33A ,axE#tosY155A TOPE T$%4#a<e Y @tringU3VAGL Para !"e conc"erde con e# 4I* de #os 6ote#es LJ Posicion Y 5 ,axPosAGL 6a? 155 Posiciones Uti#i=ar` e# 5 $ara indicar #a $osicion de# Primer e#emento de# ;ic:ero :ote# LJ PosIndice Y 5 ,axE#tosAGL 6a? 155 Posiciones Uti#i=ar` e# 1 $ara indicar #a $osicion de# Primer e#emento de# Indice O con e# 5 indicare !"e no :a? e#ementos LJ Reg.atos Y RE4/R. 4#<: T$%4#a<eA Pos: PosicionA E>.A T$%IndiceYaRegIndiceA RegIndice Y RE4/R. .at : Reg.atosA s"ce: T$%IndiceA E>.A Indice Y RE4/R. >"m : PosIndiceA GL Va a contener e# nb de e#ementos de #a #ista LJ Primero: T$%IndiceA GL Va a $"ntar a# $rimer e#emento de #a #istaLJ E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

31

PR/4E.URE >"e<o GVAR Indi:IndiceJA PR/4E.URE Lim$iar GVAR Indi:IndiceJA PR/4E.URE Anadir/rden GVAR Indi:IndiceA4#a<e:T$%4#a<eAPos:PosicionJA PR/4E.URE Eorrar GVAR Indi:IndiceA4#a<e:T$%4#a<eJA PR/4E.URE E"scar GVAR Indi:IndiceA4#a<e:T$%4#a<eAVAR Pos:PosicionA VAR Enc:Eoo#eanJA PR/4E.URE 4"a#Pos GIndi:IndiceAIndex:PosIndiceA VAR 4#a<e: T$%4#a<eA VAR Pos:PosicionJA *U>4TI/> 4"antosGIndi:IndiceJ:PosIndiceA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE >"e<o GVAR Indi:IndiceJA ] 4rea "n Indice9 Indi9 n"e<o din mico Par metros de: L@a#ida Indi:IndiceA _ EEFI> Indi >"m :Y 5A Indi Primero :Y >ILA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Lim$iar GVAR Indi:IndiceJA ] Lim$ia e# Indice din mico9 es decir9 #ibera toda #a memoria !"e oc"$aba #a #ista Indi Par metros de: L@a#ida Indi:IndiceA _ VAR P:T$%IndiceA EEFI> C6ILE GIndi Primero NI >ILJ ./ EEFI> P:YIndi PrimeroA Indi Primero :Y Indi Primeroa s"ceAGL A<an=ar antes de e#iminar LJ .is$oseGPJA GL E#imina #a <ariab#e asociada LJ E>.A Indi >"m :Y 5AGLIndica !"e e# Indice din mico Indi est <acco LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Anadir/rden GVAR Indi:IndiceA4#a<e:T$%4#a<eAPos:PosicionJA ] Inserta "n e#emento con c#a<e N4#a<eI ? $osicion NPosI en e# indice dinamico Indi Par metros de: L@a#ida Indi:IndiceA LEntrada 4#a<e:T$%4#a<eA Pos:PosicionA _ VAR >"e<o9Ant9Post: T$%IndiceA enc: Eoo#eanA EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

32

GL4reamos #a <ariab#e din mica !"e !"eremos insertar e# #a #istaLJ >eDG>"e<oJA >"e<oa .at 4#<:Y 4#a<eA >"e<oa .at Pos :Y PosA Post:Y Indi PrimeroA Ant :Y >ILA enc :Y *AL@EA GL4on C6ILE rea#i=amos e# $roceso de b^!"eda $ara !"e Post ? Ant a$"nten e# #"gar de #a #ista donde debe ser insertado e# n"e<o e#ementoLJ C6ILE GPostNI>ILJ A>. G>/T encJ ./ I* Posta .at 4#< I 4#a<e T6E> enc :Y TRUE EL@E EEFI> GL A<an=amos en #a #ista LJ Ant :Y PostA Post:Y Posta s"ceA E>.A I* Ant Y >IL T6E> Indi Primero :Y >"e<o GL La #ista est <acca9 o tiene !"e ser insertado a# $rinci$io LJ EL@E Anta s"ce:Y>"e<oA GL Va en medio o a# ;ina# LJ >"e<oa s"ce:Y PostAGL @iem$re LJ I>4GIndi >"mJAGLIndicamos !"e :a? "n e#emento m s LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Eorrar GVAR Indi:IndiceA4#a<e:T$%4#a<eJA ] ste $rocedimiento borra "n e#emento de# cndice Indi dado s" 4#a<e 4#< Par metros de: LEntrada 4#<:T$%4#a<eA L@a#ida I:IndiceA _ VAR Ant9Post: T$%IndiceA enc:Eoo#eanA Pos*ic: :PosicionAGL F"ardamos #a $osicion Pos de# e#emento borrado LJ EEFI> Post:Y Indi PrimeroA Ant :Y >ILA enc :Y *AL@EA GL 4on C6ILE rea#i=amos e# $roceso de b^!"eda $ara !"e Post ? Ant a$"nten e# #"gar de #a #ista donde se enc"entra e# e#emento !"e se !"iere borrar LJ C6ILE GPostNI>ILJ A>. G>/T encJ ./ I* Posta .at 4#< Y 4#a<e T6E> enc :Y TRUE EL@E EEFI> GL A<an=amos en #a #ista LJ Ant :Y PostA Post:Y Posta s"ceA E>.A I* Ant Y >IL T6E> Indi Primero :Y Indi Primeroa s"ce GLEst a# $rinci$ioLJ EL@E Anta s"ce :Y Posta s"ceAGLEst en medio o a# ;ina#LJ Pos*ic::YPosta .at PosA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

33

.is$oseGPostJA GL Recorremos e# Indice9 ? todos a!"e##os e#emetos de este !"e tengan "na $osicion s"$erior a Pos*ic: GPosci[n de# e#emento borrado de# *ic:ero ? a #a <e= de# IndiceJ ser n decrementados en "na "nidad ?a !"e se :a corrido "na $osici[n a# borrar se dic:o e#emento de# *ic:ero LJ Ant:YIndi Primero A C6ILE AntNI>IL ./ I* Pos*ic: N Anta .at Pos T6E> .E4GAnta .at PosJA .E4GIndi >"mJAGL Indicamos !"e :a? "n e#emento menos LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE E"scar GVAR Indi:IndiceA4#a<e:T$%4#a<eAVAR Pos:PosicionA VAR Enc:Eoo#eanJA ] Esta ;"nci[n de<"e#<e #a $osici[n Pos de# e#emento de #a #ista seg^n s" 4#a<e Par metros de: L@a#ida Indi:IndiceA Pos: PosicionA Enc: Eoo#eanA LEntrada 4#a<e:T$%4#a<eA _ VAR P : T$%IndiceA EEFI> enc:Y *AL@EA P :Y Indi PrimeroA GLRea#i=amos #a b"s!"eda de# e#emento seg"n dado s" c#a<eLJ C6ILE GPNI>ILJ A>. G>/T encJ ./ EEFI> I* Pa .at 4#< Y 4#a<e T6E> EEFI> enc:Y TRUEA Pos:Y Pa .at PosA E>. EL@E P:YPa s"ceA E>.A].EL C6ILE_ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE 4"a#Pos GIndi:IndiceAIndex:PosIndiceA VAR 4#a<e: T$%4#a<eAVAR Pos:PosicionJA ] Retorna #a 4#a<e ? #a Posici[n de# e#emento sit"ado en #a $osici[n Index de# Indice Indi Par metros de: L@a#ida 4#a<e:T$%4#a<eA Pos:PosicionA LEntrada Indi: IndiceA Index:PosIndiceA _ VAR P: T$%IndiceA I: PosicionA EEFI> I* 4"antosGIndiJ IY Index T6E> EEFI> I :Y 1A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

155

P :Y Indi PrimeroA GL>os <amos a #a $oci[n Index de# Indice LJ C6ILE GINIndexJ A>. GPNI>ILJ ./ EEFI> P:YPa s"ceA I>4GIJA E>.A].EL C6ILE_ 4#a<e :Y Pa .at 4#<A Pos :Y Pa .at PosA E>. EL@E EEFI> GL.e<"e#<e <a#ores n"#os $or!"e en dic:a $osici[n Index de# LJ 4#a<e:YiiAGLindice no :a? e#ementoLJ Pos :Y5A E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4"antosGIndi:IndiceJ:PosIndiceA ] .e<"e#<e e# n"mero de e#ementos !"e contiene e# Indice din mico Indi Par metros de: LEntrada Indi:IndiceA L@a#ida 4"antos:PosIndiceA _ EEFI> 4"antos :Y Indi >"m E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ E>. GL.E LA U>I.A.LJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

151

1 ( 3' Unidad Tad%4#iente


] U>I.A. TA.%4LIE>TE: Es #a !"e contiene de;inida e# ti$o de #a estr"t"ra de datos !"e a#macena #os datos de #os c#ientesA ? #as r"tinas !"e trabajan con dic:a estr"ct"ra Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%4LIE>TEA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ 4RT9 TA.%,E>U9 TA.%UTIL@A TOPE Ti$o>I* Y @tringU3VA Ti$o4I* Y @tringU3VA Reg4#iente Y RE4/R. >I* :Ti$o>I*A GL >^mero de Identi;icaci[n *isca# de# 4#iente LJ 4I* :Ti$o4I*A GL 4odigo de Identi;icaci[n *isca# de# 6ote# donde :ace #a reser<a LJ >ombre%4#i :@tringU-5VA GL >ombre de# 4#iente LJ .ireccion%4#i :@tringU05VA GL .irecci[n de# 4#iente LJ 6ab%Reser<adas:CordA GL >b de 6abitaciones !"e reserba LJ E>.A PR/4E.URE Inic%4#ienteGVAR R:Reg4#ienteJA PR/4E.URE Leer%>I*GVAR >:Ti$o>I*AVAR Abortado:Eoo#eanJA PR/4E.URE Leer%4#ienteGVAR R:Reg4#ienteAVAR Abortado:Eoo#eanJA PR/4E.URE ,ostrar%4#ienteGR:Reg4#ienteJA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

15&

PR/4E.URE Inic%4#ienteGVAR R:Reg4#ienteJA ] Inicia#i=a #a <arib#e registro de c#ientes Par metros de: L@a#ida R:Reg4#ienteA _ EEFI> CIT6 R ./ EEFI> >I* :YiiA 4I* :YiiA >ombre%4#i :YiiA .ireccion%4#i :YiiA 6ab%Reser<adas:Y 5A E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Leer%>I*GVAR >:Ti$o>I*AVAR Abortado:Eoo#eanJA ] Lee e# >I* de "n c#iente Par metros de: L@a#ida >:Ti$o>I*A Abortado:Eoo#eanA de<"e#<e "n <a#or TRUE si se :a abortado #a o$eracion _ VAR Va#ido:Eoo#eanA GL Toma "n <a#or TRUE si e# >I* de# c#iente es Va#ido LJ >a"x :@tringAGL Varib#e a"xi#iar Una <e= recogido $or tec#ado e# >I* ? com$robado !"e es Va#ido9#a cadena >a"x #a tr"ncamos en > Esto #o :ago $ara !"e no :a?a incom$ati<i#idad de ti$os e# #a cabecera de Lee@tring LJ EEFI> Pinta*ic:aG+JA REPEAT Lee@tringG>a"x9Abortado9C:ite9+591+939*AL@EJA Va#ido :Y Es%>I*o4I*%Va#idoG>a"xJA I* >/T Va#ido T6E> EEFI> @onidoErrorA Fotox?G+591+JA GL 4o#"mna ? ;i#a donde em$e=ar a escribir LJ CriteGi iJGL Escribimos n"e<e caracteres en b#anco9 ?a !"e no es <a#ido LJ E>. EL@E > :Y >a"xA U>TIL GVa#ido /R AbortadoJA PintaVentanaTextoA GL Reestab#ece #a Ventana de Texto de# entorno de trabajo LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Leer%4#ienteGVAR R:Reg4#ienteAVAR Abortado:Eoo#eanJA ] Lee #os datos de "n c#iente Gsa#<o e# >I*J Par metros de: L@a#ida R:Reg4#iente Abortado:Eoo#eanA de<"e#<e "n <a#or TRUE si se :a abortado #a o$eracion _ VAR

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

15(

Va#ido: Eoo#eanAGL Toma "n <a#or TRUE si e# 4I* de# 4#iente es Va#ido LJ 4ad : @tringAGL Varib#e a"xi#iar Una <e= recogido $or tec#ado #a cadena 4ad #a tr"ncamos en #os cam$os corres$ondientes de# Registro 4#ientes9 !"e son tambien istringi $ero de tamaro in;erior Esto #o :ago $ara !"e no :a?a incom$ati<i#idad de ti$os e# #a cabecera de Lee@tring LJ EEFI> Pinta*ic:aG-JA PintaTexto4entradoG1+9&+929C:ite9E#ac\9R >I*JA REPEAT GLLeemos e# 4I* de# 4#ienteLJ Lee@tringG4ad9Abortado9C:ite9-192939*AL@EJA Va#ido:YEs%>I*o4I*%Va#idoG4adJA I* >/T Va#ido T6E> EEFI> @onidoErrorA Fotox?G-3915JA CriteGi iJA E>. EL@E R 4I* :Y 4adA U>TIL GVa#ido /R AbortadoJA Lee@tringG4ad9Abortado9C:ite91&9159-59*a#seJA R >ombre%4#i:Y4adA Lee@tringG4ad9Abortado9C:ite91-91&9059*a#seJA R .ireccion%4#i:Y4adA Lee>"mGR 6ab%Reser<adas9Abortado9C:ite9&(91+9(919333JA Es$eraG1+91591+9Oe##oD94o#or*ondo,en"9TRUEJA PintaVentanaTextoAGLReestab#ecemos #a Ventana Texto de# entorno de trabajo LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrar%4#ienteGR:Reg4#ienteJA ] ,"estra #os datos de "n c#iente $or $anta##a Par metros de: LEntrada R:Reg4#ienteA _ VAR @t:@tringU(VA EEFI> Pinta*ic:aG-JA PintaTexto4entradoG1+9&+929C:ite9E#ac\9R >I*JA PintaTexto4entradoG-1901929C:ite9E#ac\9R 4I*JA PintaTexto4entradoG159009159C:ite9E#ac\9R >ombre%4#iJA PintaTexto4entradoG1-91-91&9C:ite9E#ac\9R .ireccion%4#iJA @TRGR 6ab%Reser<adas:(9@tJA PintaTexto4entradoG&19&091+9C:ite9E#ac\9@tJA Es$eraG1+91591+9Oe##oD94o#or*ondo,en"9TRUEJA PintaVentanaTextoAGLReestab#ece #a Ventana de Texto de# entorno de trabajo LJ E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

15+

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ E>. ].E LA U>I.A._

1 ( 15' Unidad Tad%*%4#iente


] U>I.A. TA.%*%4LIE>TE: Es #a !"e contiene de;inida todas #as o$eraciones con #os ;ic:eros con ti$o E# acceso "no determinado c#iente a#macenado en dic:a estr"ct"ra de a#macenamiento sec"ndaria9 se :ar de manera sec"encia# En esta $ractica se contro#an todos #os errores de entrada)sa#ida a# trabajar con ;ic:ero Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%*%4LIE>TEA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ TA.%UTIL@9 TA.%4LIE>TEA TOPE GL.e;inimos "na estr"ct"ra sec"ndaria con ti$o: Reg4#ienteLJ *%4#iente Y *ILE /* Reg4#ienteA VAR GLVariab#e F#oba# de contro#LJ Asignado%*4:Eoo#eanA GL Toma "n <a#or TRUE si :a? "n ;ic:ero de ti$o c#iente asignado LJ *U>4TI/> Asignar%*4GVAR *:*%4#ienteA>:@tringJ:Eoo#eanA *U>4TI/> AbrirR%*4GVAR *:*%4#ienteJ:Eoo#eanA *U>4TI/> AbrirC%*4GVAR *:*%4#ienteJ:Eoo#eanA *U>4TI/> Leer%*4GVAR *:*%4#ienteAVAR 4#iente:Reg4#ienteJ:Eoo#eanA *U>4TI/> Escribir%*4GVAR *:*%4#ienteA4#iente:Reg4#ienteJ:Eoo#eanA *U>4TI/> 4errar%*4GVAR *:*%4#ienteJ:Eoo#eanA *U>4TI/> Eorrar%*4GVAR *:*%4#ienteJ:Eoo#eanA *U>4TI/> Ren%*4GVAR *:*%4#ienteA>:@tringJ:Eoo#eanA PR/4E.URE EorrarReg%*4G4#iente:Reg4#ienteAVAR *:*%4#ienteA>ame*:@tringJA *U>4TI/> E"scar%*4GVAR *:*%4#ienteAVAR 4#iente:Reg4#ienteAVAR Pos:LongintA VAR Err:Eoo#eanJ:Eoo#eanA PR/4E.URE Insertar%4#ienteG4#iente:Reg4#ienteAVAR *:*%4#ienteA>ame*:@tringJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

15-

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Asignar%*4GVAR *:*%4#ienteA>:@tringJ:Eoo#eanA ] *"ncion !"e en#a=a #a <ariab#e * a# arc:i<o indicado mediante #a cadena > A@@IF> con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada >:@tringA >ombre de# arc:i<o c#iente L@a#ida *:*%4#ienteA _ EEFI> ]{I)_ AssignG*9>JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Asignar%*4:Y GIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> AbrirR%*4GVAR *:*%4#ienteJ:Eoo#eanA ] Abre e# *ic:ero * $ara #ect"ra RE@ET con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida *:*%4#ienteA _ EEFI> ]{I)_ ResetG*JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ AbrirR%*4:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> AbrirC%*4GVAR *:*%4#ienteJ:Eoo#eanA ] Pre$ara e# arc:i<o * $ara escrit"ra RECRITE con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida *:*%4#ienteA _ EEFI> ]{I)_ ReCriteG*JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ AbrirC%*4:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

150

*U>4TI/> Leer%*4GVAR *:*%4#ienteAVAR 4#iente:Reg4#ienteJ:Eoo#eanA ] Extrae de# ;ic:ero * "n registro REA. contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida *:*%4#ienteA 4#iente:Reg4#iente _ EEFI> ]{I)_ ReadG*94#ienteJA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Leer%*4:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Escribir%*4GVAR *:*%4#ienteA4#iente:Reg4#ienteJ:Eoo#eanA ] Escribe en e# ;ic:ero * "n registro CRITE contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada 4#iente:Reg4#ienteA L@a#ida *:*%4#ienteA _ EEFI> ]{I)_ CriteG*94#ienteJA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Escribir%*4:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4errar%*4GVAR *:*%4#ienteJ:Eoo#eanA ] 4ierra "n *ic:ero * 4L/@E contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida *:*%4#ienteA _ EEFI> ]{I)_ 4#oseG*JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ 4errar%*4:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Eorrar%*4GVAR *:*%4#ienteJ:Eoo#eanA ] Eorra "n ;ic:ero * ERA@E contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida *:*%4#ienteA _ EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

151

]{I)_ EraseG*JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Eorrar%*4:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Ren%*4GVAR *:*%4#ienteA>:@tringJ:Eoo#eanA ] Renombra e# ;ic:ero * a# nombre indicado $or > .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada >:@tringA L@a#ida *:*%4#ienteA _ EEFI> ]{I)_ RenameG*9>JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Ren%*4:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE EorrarReg%*4G4#iente:Reg4#ienteAVAR *:*%4#ienteA>ame*:@tringJA ] Eorra "n registro de# ;ic:ero * Toda #a o$eracion esta contro#ada $ara $osib#es errores Ee@ a# trabajar con ;ic:eros Par metros de: LEntradas 4#iente:Reg4#ienteA >ame*:@tringA L@a#ida *:*%4#ienteA _ VAR *A"x : *%4#ienteA RA"x : Reg4#ienteA Err : Eoo#eanA GL Varib#e Eoo#ean !"e toma <a#or TRUE si se :a $rod"cido "n error LJ EEFI> Err:Y*AL@EA I* Asignar%*4G*A"x9iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* AbrirR%*4G*J A>. G>/T ErrJ T6E> EEFI> I* AbrirC%*4G*A"xJ A>. G>/T ErrJ T6E> EEFI> GL Recorremos * :asta e# ;ina# O co$iamos en *a"x todos #os Registros de 4#ientes exce$to a!"e# !"e !"eremos e#iminarLJ C6ILE G>/T E/*G*JJ A>. G>/T ErrJ ./ EEFI> I* Leer%*4G*9RA"xJ A>. G>/T ErrJ T6E> EEFI> I* RA"x >I* NI 4#iente >I* T6E> EEFI> I* >/T Escribir%*4G*A"x9RA"xJ T6E> EEFI> Err:YTRUEA GLEscribir Ra"x en *a"xLJ ,ostrar.ia#ogoGError915JA E>.A E>.A E>. EL@E EEFI>

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

152

Err:YTRUEA GLLeer de *9 Ra"xLJ ,ostrar.ia#ogoGError911JA E>.A E>.A] C6ILE _ GL 4ERRAR9 E/RRAR O RE>/,ERAR LJ I* 4errar%*4G*J A>. G>/T ErrJ T6E> EEFI> I* 4errar%*4G*A"xJ A>. G>/T ErrJ T6E> EEFI> I* Eorrar%*4G*J A>. G>/T ErrJ T6E> EEFI> I* Asignar%*4G*9iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* G>/T Ren%*4G*9>ame*JJ A>. G>/T ErrJ T6E> EEFI> Err:YTRUEA GLRenombrar *9 a >ame*LJ ,ostrar.ia#ogoGError91&JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAsignar * a Tem$ T,PLJ ,ostrar.ia#ogoGError92JA E>.A E>. EL@E EEFI> Err:YTRUEA GLEorrar *LJ ,ostrar.ia#ogoGError91(JA E>.A E>. EL@E EEFI> Err:YTRUEA GL4errar *A"xLJ ,ostrar.ia#ogoGError91+JA E>.A E>. EL@E EEFI> Err:YTRUEA GL 4errar *LJ ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAbrirC *A"xLJ ,ostrar.ia#ogoGError910JA E>.A E>. EL@E EEFI> Err:YTRUEA GL AbrirR *LJ ,ostrar.ia#ogoGError911JA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

153

E>. EL@E EEFI> Err:YTRUEA GLAsignar *a"x a Tem$ T,PLJ ,ostrar.ia#ogoGError92JA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> E"scar%*4GVAR *:*%4#ienteAVAR 4#iente:Reg4#ienteAVAR Pos:LongintA VAR Err:Eoo#eanJ:Eoo#eanA ] *"nci[n $ara b"scar "n determinado c#iente en e# ;ic:ero * Par metros de: LEntradas *: *ic:eros de c#ientes 4#iente: registro con e# >I* de# c#iente a b"scar L@a#ida 4#iente: registro con #os datos de# c#iente encontrado Pos:$osicion !"e oc"$a e# registro anterior en e# ;ic:ero Error: @i se :a $rod"cido a#g^n ti$o de error _ VAR RA"x :Reg4#ienteA Enc :Eoo#eanA EEFI> I* AbrirR%*4G*J T6E> EEFI> Err:Y*AL@EA Enc:Y*AL@EA C6ILE G>/T E/*G*JJ A>. G>/T ErrJ A>. G>/T EncJ ./ EEFI> I* Leer%*4G*9RA"xJ T6E> EEFI> I* RA"x >I* Y 4#iente >I* T6E> EEFI> Enc:YTRUEA 4#iente:YRA"xA Pos :Y *i#ePosG*J)1 E>.A E>. EL@E EEFI> Err:YTRUEA GLLeer de *9 Ra"xLJ ,ostrar.ia#ogoGError911JA E>.A E>.A]C6ILE_ E>. EL@E EEFI> Err:YTRUEA GL AbrirR *LJ ,ostrar.ia#ogoGError911JA E>.A E"scar%*4 :Y EncA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

115

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Insertar%4#ienteG4#iente:Reg4#ienteAVAR *:*%4#ienteA>ame*:@tringJA ] Procedimiento $ara insertar en orden "n registro c#iente en "n ;ic:ero seg^n s" >I* Par metros de: LEntradas 4#iente: Registro con #os datos de "n c#iente >ame*: >ombre de# ;ic:ero L@a#ida *: *ic:ero con #os datos de #os c#ientes _ VAR *A"x :*%4#ienteA RA"x :Reg4#ienteA Enc9 Err :Eoo#eanA ] Varib#e Eoo#ean !"e toma <a#or TRUE si se :a $rod"cido "n error_ EEFI> Err:Y*AL@EA I* Asignar%*4G*A"x9iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* AbrirC%*4G*A"xJ A>. G>/T ErrJ T6E> EEFI> I* AbrirR%*4G*J A>. G>/T ErrJ T6E> EEFI> Enc:Y*AL@EA GL Rea#i=amos #a b"s!"eda de# #"gar de# ;ic:ero * donde debe insertarse e# registro $ara !"e !"ede ordenado e# ;ic:ero En e# mismo C:i#e terminaremos de co$iar todos #os registrosLJ C6ILE G>/T E/*G*JJ A>. G>/T ErrJ ./ EEFI> I* Leer%*4G*9RA"xJ A>. G>/T ErrJ T6E> EEFI> GL@i e# >I* de# 4#iente debe estar antes !"e e# >I* de# c#iente !"e indica Ra"x se insertaLJ I* G4#iente >I* N RA"x >I*J A>. G>/T EncJ T6E> EEFI> Enc:YTRUEA Err:Y>/T Escribir%*4G*A"x94#ienteJA I* Err T6E> GLEscribir 4#iente en *a"xLJ ,ostrar.ia#ogoGError915JA E>.A GLEn c"a#!"ier caso siem$re escrobor Ra"xLJ Err:Y >/T Escribir%*4G*A"x9RA"xJA I* Err T6E> GLEscribir Ra"x en *a"xLJ ,ostrar.ia#ogoGError915JA E>. EL@E EEFI> Err:YTRUEA GLLeer de *9 Ra"xLJ ,ostrar.ia#ogoGError911JA E>.A E>.A]C6ILE_ GL@i no :a sido insertadoGEncY*AL@EJ ? no se :a $rod"cido error GErrY*AL@EJ9entonces N 4#inte I se inserta a# ;ina#LJ I* G>/T EncJ A>. G>/T ErrJ T6E> EEFI> Err:Y>/T Escribir%*4G*A"x94#ienteJA I* Err T6E> GLEscribir 4#iente en *a"xLJ ,ostrar.ia#ogoGError915JA E>.A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

111

GL 4ERRAR9 E/RRAR O RE>/,ERAR LJ I* 4errar%*4G*J A>. G>/T ErrJ T6E> EEFI> I* 4errar%*4G*A"xJ A>. G>/T ErrJ T6E> EEFI> I* Eorrar%*4G*J A>. G>/T ErrJ T6E> EEFI> I* Asignar%*4G*9iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* G>/T Ren%*4G*9>ame*JJ A>. G>/T ErrJ T6E> EEFI> Err:YTRUEA GLRenombrar *9 a >ame*LJ ,ostrar.ia#ogoGError91&JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAsignar Tem$ T,P a *LJ ,ostrar.ia#ogoGError92J E>.A E>. EL@E EEFI> Err:YTRUEA GL Eorrar *LJ ,ostrar.ia#ogoGError91(J E>.A E>. EL@E EEFI> Err:YTRUEA GL4errar *a"x LJ ,ostrar.ia#ogoGError91+J E>.A E>. EL@E EEFI> Err:YTRUEA GL4errar * LJ ,ostrar.ia#ogoGError91-J E>.A E>. EL@E EEFI> Err:YTRUEA GLAbrirR *LJ ,ostrar.ia#ogoGError911J E>.A E>. EL@E EEFI> Err:YTRUEA GLAbrirC *A"xLJ ,ostrar.ia#ogoGError910J E>.A E>. EL@E EEFI> Err:YTRUEA GLAsignar Tem$ T,P a *a"xLJ ,ostrar.ia#ogoGError92J

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11&

E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ EEFI> GLInicia#i=amos Asignado%*4LJ Asignado%*4:Y*AL@EA E>. ].E LA U>I.A._

1 ( 11' Unidad Tad%6ote#


] U>I.A. TA.%6/TEL: Es #a !"e contiene de;inida e# ti$o de #a estr"t"ra de datos !"e a#macena #os datos de #os :ote#esA ? #as r"tinas !"e trabajan con dic:a estr"ct"ra Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%6/TELA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ 4RT9 TA.%,E>U9 TA.%UTIL@9 TA.%4LIE>TEA TOPE GL de;inimos "n ti$o s"brango $ara #a categorca LJ GL 5:>ing"naA 1:PrimeraA &:@eg"ndaA (ATercera LJ Ti$o4ategoriaY 5 (A Reg6ote# Y RE4/R. 4I* : Ti$o4I*A >ombre%6 : @tringU-5VA .ireccion%6 : @tringU05VA 4ategor : Ti$o4ategoriaA >%6ab9 6ab%/c"$adas9 Precio%6ab : CordA E>.A PR/4E.URE Inic%6ote#GVAR 6:Reg6ote#JA PR/4E.URE Leer%4I*GVAR >:Ti$o4I*AVAR Abortado:Eoo#eanJA PR/4E.URE Leer%6ote#GVAR 6:Reg6ote#AVAR Abortado:Eoo#eanJA PR/4E.URE ,ostrar%6ote#G6:Reg6ote#ALI@To4/>@:Eoo#eanJA *U>4TI/> 4om$robar%Reser<aG6:Reg6ote#J:Eoo#eanA PR/4E.URE Reser<arGVAR 6:Reg6ote#A6ab%Res:CordJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11(

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Inic%6ote#GVAR 6:Reg6ote#JA ] Inicia#i=a a <acco "n registro de :ote# Par metros de: 6:Reg6ote#A _ EEFI> CIT6 6 ./ EEFI> 4I* :YiiA >ombre%6 :YiiA .ireccion%6 :YiiA 4ategor :Y5A 6ab%/c"$adas:Y5A >%6ab :Y5A Precio%6ab :Y5A E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Leer%4I*GVAR >:Ti$o4I*AVAR Abortado:Eoo#eanJA ] Lee e# 4I* de "n :ote# Par metros de: L@a#ida >:Ti$o4I*A _ VAR Va#ido:Eoo#eanAGL Toma "n <a#or TRUE si e# 4I* introd"cido e# Va#ido LJ >a"x :@tringAGL Varib#e a"xi#iar Una <e= recogido $or tec#ado e# 4I* ? com$robado !"e es Va#ido9#a cadena >a"x #a tr"ncamos en > Esto #o :ago $ara !"e no :a?a incom$ati<i#idad de ti$os e# #a cabecera de Lee@tring LJ EEFI> Pinta*ic:aG1JA REPEAT Lee@tringG>a"x9Abortado9C:ite9+591+939*AL@EJA Va#ido :Y Es%>I*o4I*%Va#idoG>a"xJA I* >/T Va#ido T6E> EEFI> @onidoErrorA Fotox?G+591+JA GL 4o#"mna ? ;i#a donde em$e=ar a escribir LJ CriteGi iJ GL Escribimos n"e<e caracteres en b#anco9 ?a !"e no es <a#ido LJ E>. EL@E > :Y >a"xA U>TIL GVa#ido /R AbortadoJA PintaVentanaTextoA GLReestab#ece #a Ventana de Texto de# entorno de trabjo LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Leer%6ote#GVAR 6:Reg6ote#AVAR Abortado:Eoo#eanJA ] Lee #os datos de "n :ote# Gsa#<o e# 4I*J Par metros de: L@a#ida 6:Reg6ote#A Abortado:Eoo#eanA de<"e#<e "n <a#or TRUE si se :a abortado

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11+

#a o$eracion _ VAR 4ad : @tringAGL Varib#e a"xi#iar Una <e= recogido $or tec#ado #a cadena 4ad #a tr"ncamos en #os cam$os corres$ondientes de# Registro 6ote#9 !"e son tambien istringi $ero de tamaro in;erior Esto #o :ago $ara !"e no :a?a incom$ati<i#idad de ti$os en #a cabecera de Lee@tring LJ 4atA"x:DordA GL Ig"a# ;in !"e 4ad $ero $ara Lee>"m c"ando #eemos #a categoria LJ @t1:@tringU(VA EEFI> Pinta*ic:aG2JA PintaTexto4entradoG(39+3939C:ite9E#ac\96 4I*JA Lee@tringG4ad9Abortado9C:ite91&9119-59*AL@EJA 6 >ombre%6:Y4adA Lee@tringG4ad9Abortado9C:ite91-91(9059*AL@EJA 6 .ireccion%6:Y4adA Lee>"mG6 >%6ab9Abortado9C:ite9&191-9(919333JA @TRG6 6ab%/c"$adas:(9@t1JA PintaTexto4entradoG-(9-191-9C:ite9E#ac\9@t1JA PintaTexto4entradoG+9159129E#"e94o#or*ondo,en"9i4LAVE 4ATEF :G1JPrimera G&J@eg"nda G(JTerceraiJA TextEac\Fro"ndGE#ac\JA Lee>"mG4atA"x9Abortado9C:ite91-91191919(JA 6 4ategor:Y4atA"xA Lee>"mG6 Precio%6ab9Abortado9C:ite9+&9119-9190--(-JA PintaTexto4entradoG-190+9119C:ite9E#ac\94on<ertirPtas%E"rG6 Precio%6abJJA I* >/T Abortado T6E> Es$eraG159159129Oe##oD94o#or*ondo,en"9*AL@EJA PintaVentanaTextoAGL Reestab#ece #a Ventana de Texto de# entorno de trabajo LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4ategoriaG6:Reg6ote#J:@tringA ] *"ncion !"e te de<"e#<e #a categoria trans;ormada en @tring Par metro de: LEntrada 6:Reg6ote#A Registro de# :ote# de# !"e se !"iere con<ertir s" categoria a @tring _ EEFI> 4A@E 6 4ategor /* 5:4ategoria:Yi>ing"naiA 1:4ategoria:YiPrimeraiA &:4ategoria:Yi@eg"ndaiA (:4ategoria:YiTerceraiA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrar%6ote#G6:Reg6ote#ALI@To4/>@:Eoo#eanJA ] Prodecimiento !"e te m"estra $or $anta##a e# contenido de# registro de "n :ote# 6 dado Parametros de:

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

11-

LEntrada 6:Reg6ote#A :ote# !"e se m"estra $or $anta##a GListar o 4ons"#taJ LI@To4/>@:Eoo#eanA YYI Va#or TRUE indica !"e ,ostrar%6ote# es ##amado de# Listar%Todo%6 de# En#ace ,ientrar "n Va#or *AL@E indica !"e es ##amdo de# Anadir%6 o 4ons"#ta%6 de# En#ace _ VAR @t:@tringU(VA @t1:@tringU+VA @t&:@tringU-VA EEFI> Pinta*ic:aG2JA PintaTexto4entradoG(39+3939C:ite9E#ac\96 4I*JA PintaTexto4entradoG1&90&9119C:ite9E#ac\96 >ombre%6JA PintaTexto4entradoG1-91-91(9C:ite9E#ac\96 .ireccion%6JA @TRG6 >%6ab:(9@tJA PintaTexto4entradoG&19&-91-9C:ite9E#ac\9@tJA @TRG6 6ab%/c"$adas:(9@t1JA PintaTexto4entradoG-(9-191-9C:ite9E#ac\9@t1JA PintaTexto4entradoG1-9&&9119C:ite9E#ac\94ategoriaG6JJA @TRG6 Precio%6ab:-9@t&JA PintaTexto4entradoG+&9+29119C:ite9E#ac\9@t&JA PintaTexto4entradoG-190+9119C:ite9E#ac\94on<ertirPtas%E"rG6 Precio%6abJJA I* LI@To4/>@ T6E> GL6a sido ##amado de# List%Todo%6 de# En#aceLJ PintaTexto4entradoG&9129129E#"e94o#or*ondo,en"9iE@4)@a#ir A<PageRePag)@ig"ienteeAnterioriJ EL@E EEFI> GL6a sido ##amado de# Anadir%6 o de# 4ons"#ta%6 de# En#aceLJ Es$eraG159159129Oe##oD94o#or*ondo,en"9*AL@EJA PintaVentanaTextoAGLReestab#ece #a Ventana de Texto de# entorno de trabajo LJ E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4om$robar%Reser<aG6:Reg6ote#J:Eoo#eanA ] .e<"e#<e "n <a#or TRUE si #a reser<a se $"ede rea#i=ar Parametros de: LEntrada 6:Reg6ote#A L@a#ida 4om$robar%Reser<a:Eoo#eanA _ EEFI> 4om$robar%Reser<a:Y*AL@EA I* 6 6ab%/c"$adas N 6 >%6ab T6E> 4om$robar%Reser<a:YTRUEA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Reser<arGVAR 6:Reg6ote#A6ab%Res:CordJA ] 6ace e;ecti<a #a reser<a Parametros de: L@a#ida 6:Reg6ote#A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

110

LEntrada 6ab%Res:CordA >"mero de :abitaciones !"e se !"ieren reser<ar _ EEFI> 6 6ab%/c"$adas :Y 6 6ab%/c"$adas X 6ab%ResA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ E>.

1 ( 1&' Unidad Tad%*%6ote#


] U>I.A. TA.%*%6/TEL: Es #a !"e contiene de;inida todas #as o$eraciones con #os ;ic:eros con ti$o E# acceso "no determinado 6ote# a#macenado en dic:a estr"ct"ra de a#macenamiento sec"ndaria9 se :ar de manera .IRE4TA En esta $ractica se contro#an todos #os errores de entrada)sa#ida a# trabajar con ;ic:ero Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%*%6/TELA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ TA.%6/TEL9 TA.%I%.I9 GLLYYYII TA.%I>.I $ara trabajar con e# `staticoLJ TA.%UTIL@A TOPE GL.e;inimos "na estr"ct"ra sec"ndaria con ti$o: Reg6ote#LJ *%6ote#Y*ILE /* Reg6ote#A VAR GLVariab#es internas de contro#LJ Asignado%*6:Eoo#eanA GL Toma "n <a#or TRUE si :a? "n ;ic:ero de ti$o :ote# asignado LJ *U>4TI/> Asignar%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA *U>4TI/> AbrirR%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> AbrirC%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> Leer%*6GVAR 6:*%6ote#AVAR 6ote#:Reg6ote#J:Eoo#eanA *U>4TI/> Escribir%*6GVAR 6:*%6ote#A6ote#:Reg6ote#J:Eoo#eanA *U>4TI/> 4errar%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> Eorrar%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> Ren%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA *U>4TI/> TamanoGVAR 6:*%6ote#J:PosicionA *U>4TI/> PosiGVAR 6:*%6ote#J:PosicionA *U>4TI/> PosicionarGVAR 6:*%6ote#APos:PosicionJ:Eoo#eanA PR/4E.URE EorrarReg%*6G6ote#:Reg6ote#AVAR 6:*%6ote#A>ame*6:@tringJA PR/4E.URE Insertar%6ote#%6G6ote#:Reg6ote#AVAR 6:*%6ote#AVAR Pos:PosicionJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

111

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Asignar%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA ] *"ncion !"e en#a=a #a <ariab#e 6 a# arc:i<o indicado mediante #a cadena > A@@IF> con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada >:@tringA L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ AssignG69>JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Asignar%*6:Y GIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> AbrirR%*6GVAR 6:*%6ote#J:Eoo#eanA ] Abre e# *ic:ero * $ara #ect"ra RE@ET con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ ResetG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ AbrirR%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> AbrirC%*6GVAR 6:*%6ote#J:Eoo#eanA ] Pre$ara e# arc:i<o 6 $ara escrit"ra RECRITE con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ ReCriteG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ AbrirC%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Leer%*6GVAR 6:*%6ote#AVAR 6ote#:Reg6ote#J:Eoo#eanA ] Extrae de# ;ic:ero 6 "n registro REA. contro#ando errores

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

112

.e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A 6ote#:Reg6ote#A _ EEFI> ]{I)_ ReadG696ote#JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Leer%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Escribir%*6GVAR 6:*%6ote#A6ote#:Reg6ote#J:Eoo#eanA ] Escribe en e# ;ic:ero 6 "n registro CRITE contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada 6ote#:Reg6ote#A L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ CriteG696ote#JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Escribir%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4errar%*6GVAR 6:*%6ote#J:Eoo#eanA ] 4ierra "n *ic:ero 6 4L/@E contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ 4#oseG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ 4errar%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Eorrar%*6GVAR 6:*%6ote#J:Eoo#eanA ] Eorra "n ;ic:ero 6 ERA@E contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ EraseG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

113

Eorrar%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Ren%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA ] Renombra e# ;ic:ero 6 a# nombre indicado $or > .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada >:@tringA L@a#ida 6:6%6ote#A _ EEFI> ]{I)_ RenameG69>JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Ren%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> TamanoGVAR 6:*%6ote#J:PosicionA ] Uti#i=a *ILE@ItE $ara de<o#<er e# >"mero de registros de :ote#es existentes en e# de# ;ic:ero 6 Por tanto9 $ara ##amar#o es necesario !"e se abra antes e# ;ic:ero 6 _ EEFI> ]{I)_ Tamano:Y*i#e@i=eG6JA ]{IX_ GL@i se $rod"ce "n ;a##o a# obtener e# tamaro de# ;ic:ero m"estra "n mensaje de ErrorLJ I* >/T GIoRes"#tY5JT6E> ,ostrar.ia#ogoGError9&5JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> PosiGVAR 6:*%6ote#J:PosicionA ] Uti#i=a *ILEP/@ $ara de<o#<er #a $osici[n de# registro acti<o Por tanto9 $ara ##amar#o es necesario !"e se abrir antes e# ;ic:ero 6 _ EEFI> ]{I)_ Posi:Y*i#ePosG6JA ]{IX_ GL@i se $rod"ce "n ;a##o a#obtener #a $osicion act"a# de# ;ic:ero m"estra "n mensaje de ErrorLJ I* >/T GIoRes"#tY5JT6E> ,ostrar.ia#ogoGError9&1JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> PosicionarGVAR 6:*%6ote#APos:PosicionJ:Eoo#eanA ] @it"a e# $"ntero de# ;ic:ero 6 en #a $osicion !"e indica Pos @EEh contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida: 6:*%6ote#A LEntrada: PosicionA _

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&5

EEFI> ]{I)_ @ee\G69PosJA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Posicionar:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE EorrarReg%*6G6ote#:Reg6ote#AVAR 6:*%6ote#A>ame*6:@tringJA ] Eorra "n registro 6ote# de# ;ic:ero 6 Toda #a o$eracion esta contro#ada $ara $osib#es errores Ee@ a# trabajar con ;ic:eros Par metros de: LEntradas 6ote#:Reg6ote#A >ame*6:@tringA L@a#ida *:*%6ote#A _ VAR *A"x:*%6ote#A RA"x:Reg6ote#A Err:Eoo#eanA GL Varib#e Eoo#ean !"e toma <a#or TRUE si se :a $rod"cido "n error LJ EEFI> Err:Y*AL@EA I* Asignar%*6G*A"x9iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* AbrirR%*6G6J A>. G>/T ErrJ T6E> EEFI> I* AbrirC%*6G*A"xJ A>. G>/T ErrJ T6E> EEFI> GL Recorremos 6 :asta e# ;ina# O co$iamos en *a"x todos #os Registros de 6ote#es exce$to a!"e# !"e !"eremos e#iminarLJ C6ILE G>/T E/*G6JJ A>. G>/T ErrJ ./ EEFI> I* Leer%*6G69RA"xJ A>. G>/T ErrJ T6E> EEFI> I* RA"x 4I* NI 6ote# 4I* T6E> EEFI> I* >/T Escribir%*6G*A"x9RA"xJ T6E> EEFI> Err:YTRUEA GLEscribir Ra"x en *a"xLJ ,ostrar.ia#ogoGError915JA E>.A E>.A E>. EL@E EEFI> Err:YTRUEA GLLeer de 69 Ra"xLJ ,ostrar.ia#ogoGError911JA E>.A E>.A] C6ILE _ GL 4ERRAR9 E/RRAR O RE>/,ERAR LJ I* 4errar%*6G6J A>. G>/T ErrJ T6E> EEFI> I* 4errar%*6G*A"xJ A>. G>/T ErrJ T6E> EEFI> I* Eorrar%*6G6J A>. G>/T ErrJ T6E> EEFI> I* Asignar%*6G69iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* G>/T Ren%*6G69>ame*6JJ A>. G>/T ErrJ T6E> EEFI> Err:YTRUEA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&1

GLRenombrar 69 a >ame*6LJ ,ostrar.ia#ogoGError91&JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAsignar 6 a Tem$ T,PLJ ,ostrar.ia#ogoGError92JA E>.A E>. EL@E EEFI> Err:YTRUEA GLEorrar 6LJ ,ostrar.ia#ogoGError91(JA E>.A E>. EL@E EEFI> Err:YTRUEA GL4errar *A"xLJ ,ostrar.ia#ogoGError91+JA E>.A E>. EL@E EEFI> Err:YTRUEA GL 4errar 6LJ ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAbrirC *A"xLJ ,ostrar.ia#ogoGError910JA E>.A E>. EL@E EEFI> Err:YTRUEA GL AbrirR 6LJ ,ostrar.ia#ogoGError911JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAsignar *a"x a Tem$ T,PLJ ,ostrar.ia#ogoGError92JA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Insertar%6ote#%6G6ote#:Reg6ote#AVAR 6:*%6ote#AVar Pos:PosicionJA ] Inserta e# registro 6ote# en e# ;ic:ero 6 asignado con e# nombre >ame*6 E# 6ote# se insertara en e# ;ic:ero 6 si e# n^mero de e#ementos de# ;ic:ero 6 no execede de i,axPosiGnb de e#ementos !"e exite en e# indiceJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&&

Par metros de: LEntrada 6ote#:Reg6ote#A es e# registro !"e !"eremos insertar >ame*6:@tringA nombre asignado a# ;ic:ero 6 L@a#ida 6:*%6ote#A Pos:PosicionA $osicion de# registro 6ote# en e# ;ic:ero _ EEFI> I* AbrirR%*6G6J T6E> EEFI> Pos :Y TamanoG6JA I* Pos N ,axPos T6E> EEFI> I* PosicionarG69PosJ T6E> EEFI> I* >/T Escribir%*6G696ote#J T6E> ,ostrar.ia#ogoGError93J E>. EL@E ,ostrar.ia#ogoGError9&&JA E>. EL@E ,ostrar.ia#ogoGError9&(JA GL 4erramos e# arc:i<oLJ I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>. EL@E ,ostrar.ia#ogoGError912JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ EEFI> GLInicia#i=amos Asignado%*6LJ Asignado%*6:Y*AL@EA E>.

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&(

1 ( 1(' Unidad L%4#iente


] U>I.A. TA.%*%6/TEL: Es #a !"e contiene de;inida todas #as o$eraciones con #os ;ic:eros con ti$o E# acceso "no determinado 6ote# a#macenado en dic:a estr"ct"ra de a#macenamiento sec"ndaria9 se :ar de manera .IRE4TA En esta $ractica se contro#an todos #os errores de entrada)sa#ida a# trabajar con ;ic:ero Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL _ U>IT TA.%*%6/TELA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ TA.%6/TEL9 TA.%I%.I9 GLLYYYII TA.%I>.I $ara trabajar con e# `staticoLJ TA.%UTIL@A TOPE GL.e;inimos "na estr"ct"ra sec"ndaria con ti$o: Reg6ote#LJ *%6ote#Y*ILE /* Reg6ote#A VAR GLVariab#es internas de contro#LJ Asignado%*6:Eoo#eanA GL Toma "n <a#or TRUE si :a? "n ;ic:ero de ti$o :ote# asignado LJ *U>4TI/> Asignar%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA *U>4TI/> AbrirR%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> AbrirC%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> Leer%*6GVAR 6:*%6ote#AVAR 6ote#:Reg6ote#J:Eoo#eanA *U>4TI/> Escribir%*6GVAR 6:*%6ote#A6ote#:Reg6ote#J:Eoo#eanA *U>4TI/> 4errar%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> Eorrar%*6GVAR 6:*%6ote#J:Eoo#eanA *U>4TI/> Ren%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA *U>4TI/> TamanoGVAR 6:*%6ote#J:PosicionA *U>4TI/> PosiGVAR 6:*%6ote#J:PosicionA *U>4TI/> PosicionarGVAR 6:*%6ote#APos:PosicionJ:Eoo#eanA PR/4E.URE EorrarReg%*6G6ote#:Reg6ote#AVAR 6:*%6ote#A>ame*6:@tringJA PR/4E.URE Insertar%6ote#%6G6ote#:Reg6ote#AVAR 6:*%6ote#AVAR Pos:PosicionJA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&+

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Asignar%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA ] *"ncion !"e en#a=a #a <ariab#e 6 a# arc:i<o indicado mediante #a cadena > A@@IF> con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada >:@tringA L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ AssignG69>JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Asignar%*6:Y GIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> AbrirR%*6GVAR 6:*%6ote#J:Eoo#eanA ] Abre e# *ic:ero * $ara #ect"ra RE@ET con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ ResetG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ AbrirR%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> AbrirC%*6GVAR 6:*%6ote#J:Eoo#eanA ] Pre$ara e# arc:i<o 6 $ara escrit"ra RECRITE con contro# de errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ ReCriteG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ AbrirC%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Leer%*6GVAR 6:*%6ote#AVAR 6ote#:Reg6ote#J:Eoo#eanA ] Extrae de# ;ic:ero 6 "n registro REA. contro#ando errores

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&-

.e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A 6ote#:Reg6ote#A _ EEFI> ]{I)_ ReadG696ote#JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Leer%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Escribir%*6GVAR 6:*%6ote#A6ote#:Reg6ote#J:Eoo#eanA ] Escribe en e# ;ic:ero 6 "n registro CRITE contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada 6ote#:Reg6ote#A L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ CriteG696ote#JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Escribir%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> 4errar%*6GVAR 6:*%6ote#J:Eoo#eanA ] 4ierra "n *ic:ero 6 4L/@E contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ 4#oseG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ 4errar%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Eorrar%*6GVAR 6:*%6ote#J:Eoo#eanA ] Eorra "n ;ic:ero 6 ERA@E contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida 6:*%6ote#A _ EEFI> ]{I)_ EraseG6JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&0

Eorrar%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> Ren%*6GVAR 6:*%6ote#A>:@tringJ:Eoo#eanA ] Renombra e# ;ic:ero 6 a# nombre indicado $or > .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: LEntrada >:@tringA L@a#ida 6:6%6ote#A _ EEFI> ]{I)_ RenameG69>JA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Ren%*6:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> TamanoGVAR 6:*%6ote#J:PosicionA ] Uti#i=a *ILE@ItE $ara de<o#<er e# >"mero de registros de :ote#es existentes en e# de# ;ic:ero 6 Por tanto9 $ara ##amar#o es necesario !"e se abra antes e# ;ic:ero 6 _ EEFI> ]{I)_ Tamano:Y*i#e@i=eG6JA ]{IX_ GL@i se $rod"ce "n ;a##o a# obtener e# tamaro de# ;ic:ero m"estra "n mensaje de ErrorLJ I* >/T GIoRes"#tY5JT6E> ,ostrar.ia#ogoGError9&5JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> PosiGVAR 6:*%6ote#J:PosicionA ] Uti#i=a *ILEP/@ $ara de<o#<er #a $osici[n de# registro acti<o Por tanto9 $ara ##amar#o es necesario !"e se abrir antes e# ;ic:ero 6 _ EEFI> ]{I)_ Posi:Y*i#ePosG6JA ]{IX_ GL@i se $rod"ce "n ;a##o a#obtener #a $osicion act"a# de# ;ic:ero m"estra "n mensaje de ErrorLJ I* >/T GIoRes"#tY5JT6E> ,ostrar.ia#ogoGError9&1JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ *U>4TI/> PosicionarGVAR 6:*%6ote#APos:PosicionJ:Eoo#eanA ] @it"a e# $"ntero de# ;ic:ero 6 en #a $osicion !"e indica Pos @EEh contro#ando errores .e<"e#<e "n <a#or *AL@E si se :a $rod"cido "n error Ee@ Par metros de: L@a#ida: 6:*%6ote#A LEntrada: PosicionA _

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&1

EEFI> ]{I)_ @ee\G69PosJA ]{IX_ GL@i no se $rod"ce error de<"e#<e "n <a#or TRUELJ Posicionar:YGIoRes"#tY5J E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE EorrarReg%*6G6ote#:Reg6ote#AVAR 6:*%6ote#A>ame*6:@tringJA ] Eorra "n registro 6ote# de# ;ic:ero 6 Toda #a o$eracion esta contro#ada $ara $osib#es errores Ee@ a# trabajar con ;ic:eros Par metros de: LEntradas 6ote#:Reg6ote#A >ame*6:@tringA L@a#ida *:*%6ote#A _ VAR *A"x:*%6ote#A RA"x:Reg6ote#A Err:Eoo#eanA GL Varib#e Eoo#ean !"e toma <a#or TRUE si se :a $rod"cido "n error LJ EEFI> Err:Y*AL@EA I* Asignar%*6G*A"x9iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* AbrirR%*6G6J A>. G>/T ErrJ T6E> EEFI> I* AbrirC%*6G*A"xJ A>. G>/T ErrJ T6E> EEFI> GL Recorremos 6 :asta e# ;ina# O co$iamos en *a"x todos #os Registros de 6ote#es exce$to a!"e# !"e !"eremos e#iminarLJ C6ILE G>/T E/*G6JJ A>. G>/T ErrJ ./ EEFI> I* Leer%*6G69RA"xJ A>. G>/T ErrJ T6E> EEFI> I* RA"x 4I* NI 6ote# 4I* T6E> EEFI> I* >/T Escribir%*6G*A"x9RA"xJ T6E> EEFI> Err:YTRUEA GLEscribir Ra"x en *a"xLJ ,ostrar.ia#ogoGError915JA E>.A E>.A E>. EL@E EEFI> Err:YTRUEA GLLeer de 69 Ra"xLJ ,ostrar.ia#ogoGError911JA E>.A E>.A] C6ILE _ GL 4ERRAR9 E/RRAR O RE>/,ERAR LJ I* 4errar%*6G6J A>. G>/T ErrJ T6E> EEFI> I* 4errar%*6G*A"xJ A>. G>/T ErrJ T6E> EEFI> I* Eorrar%*6G6J A>. G>/T ErrJ T6E> EEFI> I* Asignar%*6G69iTem$ T,PiJ A>. G>/T ErrJ T6E> EEFI> I* G>/T Ren%*6G69>ame*6JJ A>. G>/T ErrJ T6E> EEFI> Err:YTRUEA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&2

GLRenombrar 69 a >ame*6LJ ,ostrar.ia#ogoGError91&JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAsignar 6 a Tem$ T,PLJ ,ostrar.ia#ogoGError92JA E>.A E>. EL@E EEFI> Err:YTRUEA GLEorrar 6LJ ,ostrar.ia#ogoGError91(JA E>.A E>. EL@E EEFI> Err:YTRUEA GL4errar *A"xLJ ,ostrar.ia#ogoGError91+JA E>.A E>. EL@E EEFI> Err:YTRUEA GL 4errar 6LJ ,ostrar.ia#ogoGError91-JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAbrirC *A"xLJ ,ostrar.ia#ogoGError910JA E>.A E>. EL@E EEFI> Err:YTRUEA GL AbrirR 6LJ ,ostrar.ia#ogoGError911JA E>.A E>. EL@E EEFI> Err:YTRUEA GLAsignar *a"x a Tem$ T,PLJ ,ostrar.ia#ogoGError92JA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Insertar%6ote#%6G6ote#:Reg6ote#AVAR 6:*%6ote#AVar Pos:PosicionJA ] Inserta e# registro 6ote# en e# ;ic:ero 6 asignado con e# nombre >ame*6 E# 6ote# se insertara en e# ;ic:ero 6 si e# n^mero de e#ementos de# ;ic:ero 6 no execede de i,axPosiGnb de e#ementos !"e exite en e# indiceJ

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1&3

Par metros de: LEntrada 6ote#:Reg6ote#A es e# registro !"e !"eremos insertar >ame*6:@tringA nombre asignado a# ;ic:ero 6 L@a#ida 6:*%6ote#A Pos:PosicionA $osicion de# registro 6ote# en e# ;ic:ero _ EEFI> I* AbrirR%*6G6J T6E> EEFI> Pos :Y TamanoG6JA I* Pos N ,axPos T6E> EEFI> I* PosicionarG69PosJ T6E> EEFI> I* >/T Escribir%*6G696ote#J T6E> ,ostrar.ia#ogoGError93J E>. EL@E ,ostrar.ia#ogoGError9&&JA E>. EL@E ,ostrar.ia#ogoGError9&(JA GL 4erramos e# arc:i<oLJ I* >/T 4errar%*6G6J T6E> ,ostrar.ia#ogoGError91-JA E>. EL@E ,ostrar.ia#ogoGError912JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ EEFI> GLInicia#i=amos Asignado%*6LJ Asignado%*6:Y*AL@EA E>.

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1(5

1 ( 1+' Undidad L%6ote#


] U>I.A. L%6/TEL Y Lista 6ote#es Esta "nidad contiene im$#ementada todas #as r"tinas necesarias $ara e# contro# de "na estr"ct"ra de a#macenamiento din mica Esta ser "na #ista de :ote#es en #os !"e se rea#i=aron "na reser<a en "na sesi[n de trabajos Todos esto :ote#es tienen re#acionados "na #ista de c#ientes #os c"a#es rea#i=aron #a reser<a en dic:o :ote# Rea#i=ado $or: Mos` Antonio 4ordero Farcca .>I (+111&&()F I T I @ 4)( FRUP/ 1 Pro;esor de Prfcticas: *ernando @anc:e= *ig"eroa 8#tima 4om$i#aci[n:&&)0)1333 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_ U>IT L%6/TELA GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I>TER*A4E GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ U@E@ 4RT9 TA.%UTIL@9 TA.%,E>U9 TA.%4LIE>TE9 L%4LIE>TA TOPE $6ote# Ya>odo6ote#A >odo6ote# Y RE4/R. s"ce : $6ote#A 4I* : Ti$o4I*A Lista4#ientes: $4#ienteA E>.A

PR/4E.URE 4rear6ote# G VAR L6ote#:$6ote#JA PR/4E.URE Introd"cir4#iente GVAR L6ote#:$6ote#A>I*:Ti$o>I*A4I*:Ti$o4I*JA PR/4E.URE ,ostrar6ote# GL6ote#:$6ote#A 4I*:Ti$o4I*JA PR/4E.URE ,ostrar4#iente GL6ote#:$6ote#A >I*:Ti$o>I*JA PR/4E.URE Eorrar6ote#GVAR L6ote#:$6ote#A 4I*:Ti$o4I*JA PR/4E.URE E#iminar4#ienteGVAR L6ote#:$6ote#A >I*:Ti$o>I*JA PR/4E.URE ,ostrarTodoGL6ote#:$6ote#JA PR/4E.URE .estr"irLista6ote#GVAR L6ote#:$6ote#JA PR/4E.URE Insertar/rden6ote#GVAR L6ote#:$6ote#A4I*:Ti$o4I*JA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1(1

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ I,PLE,E>TATI/> GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE 4rear6ote# GVAR L6ote#:$6ote#JA ] 4rea "na #ista de 6ote#es <acca Par metros de: L@a#ida: L6ote#:$6ote#A _ EEFI> L6ote# :Y >IL E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Insertar/rden6ote#GVAR L6ote#:$6ote#A4I*:Ti$o4I*JA ] Inserta en orden "n :ote# en #a #ista de :ote#es dado s" 4I* Par metros de: LEntrada 4I*:Ti$o4I*A L@a#ida L6ote#:$6ote#A _ VAR >"e<o6ote#9Ant9Post: $6ote#A enc :Eoo#eanA EEFI> GL4reamos #a <ariab#e din mica !"e !"eremos insertar e# #a #istaLJ >eDG>"e<o6ote#JA >"e<o6ote#a 4I*:Y 4I*A >"e<o6/TELa Lista4#ientes:Y >ILA Post:Y L6ote#A Ant :Y >ILA enc :Y *AL@EA GL4on C6ILE rea#i=amos e# $roceso de b^!"eda $ara !"e Post ? Ant a$"nten e# #"gar de #a #ista donde debe ser insertado e# n"e<o e#ementoLJ C6ILE GPostNI>ILJ A>. G>/T encJ ./ I* Posta 4I* I 4I* T6E> enc :Y TRUE EL@E EEFI> GLA<an=amos en #a #istaLJ Ant :Y PostA Post:Y Posta s"ceA E>.A I* Ant Y >IL T6E> L6ote# :Y >"e<o6ote# GLLa #ista est <acca9 o tiene !"e ser insertado a# $rinci$ioLJ EL@E Anta s"ce:Y>"e<o6ote#A GLVa en medio o a# ;ina#LJ >"e<o6ote#a s"ce:Y PostA GL@iem$reLJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Introd"cir4#iente GVAR L6ote#:$6ote#A>I*:Ti$o>I*A4I*:Ti$o4I*JA ] Inserta "n n"e<o 4#iente a# $rinci$io de #a #ista de 4#ientes de# :ote# de ci; 4I* Par metros de: L@a#ida L6ote#:$6ote#A LEntrada >I*:Ti$o>I*A 4I*:Ti$o4I*A

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1(&

_ VAR L6a"x:P6ote#A enc: Eoo#eanA EEFI> enc :Y*AL@EA REPEAT GL E# REPEAT como m ximo se re$etir & <eces9 ? como mcmino 1 Esto se debe a !"e si e# :ote#9 a# !"e se #e !"iere insertar "n n"e<o c#iente en s" #ista de c#ientes9 no existe Primero se Introd"ce e# :ote# en /rden9 ? en #a seg"nda ejec"ci[n de# REPEAT e# :ote# ?a est #"ego introd"ce e# c#iente de dic:o :ote# ? se sa#e de# REPEAT LJ L6a"x :Y L6ote#A C6ILE GL6a"xNI>ILJ A>. G>/T encJ ./ EEFI> I* L6a"xa 4I* Y 4I* T6E> enc :YTRUE EL@E L6a"x:YL6a"xa s"ceA E>.A I* >/T enc T6E> GL6abr !"e insertar#oLJ Insertar/rden6ote#GL6ote#94I*J EL@EGLLIntrod"cimos e# 4#iente en #a #ista de c#ientes de# :ote#LLLJ Insetar4#iente GL6a"xa Lista4#ientes9 >I*JA U>TIL encA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrar6ote# GL6ote#:$6ote#A 4I*:Ti$o4I*JA ] E"sca "n :ote# en #a extr"ct"ra ?9 si #o enc"entra9 m"estra todos #os c#ientes de# :ote# Par metros de: LEntrada L6ote#:$6ote#A 4I*:Ti$o4I* _ VAR L6a"x: $6ote#A enc : Eoo#eanA EEFI> L6a"x :Y L6ote#A enc :Y *AL@EA C6ILE GL6a"xNI>ILJ A>. G>/T encJ ./ EEFI> I* L6a"xa 4I* Y 4I* T6E> EEFI> Pinta*ic:aG11JA PintaTexto4entradoG&29-2919E#"e94o#or*ondo,en"94I*JA Listar4#ientesGL6a"xa Lista4#ientesJA enc :Y TRUE E>. EL@E L6a"x :Y L6a"xa s"ceA E>.A I* >/T enc T6E> ,ostrar.ia#ogoGA<iso911JA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrar4#iente GL6ote#:$6ote#A >I*:Ti$o>I*JA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1((

] E"sca "n c#iente dado s" >I* en #a estr"ct"ra ?9 si #o enc"entra9 m"estra e# 4I* de# :ote# donde tiene :ec:a #a reser<a Par metros de: LEntrada L6ote#:$6ote#A >I*:Ti$o>I*A _ VAR L6a"x: $6ote#A enc : Eoo#eanA 4ad : @tringA EEFI> L6a"x :Y L6ote#A enc :Y *AL@EA C6ILE GL6a"xNI>ILJ A>. G>/T encJ ./ I* Encontrar4#ienteGL6a"xa Lista4#ientes9 >I*J T6E> EEFI> Pinta4"adroG-91&91+91094o#orEorde,en"94o#or*ondo,en"9TRUE9TRUEJA ]Pinta e# c"adro en c"?o interior se <a a escribir centrado e# mensaje_ 4ad :YiE# 4I* de# :ote# donde :i=o reser<a e# c#iente es: iXL6a"xa 4I*A PintaTexto4entradoG091+91(94o#orLetras,en"94o#or*ondo,en"94ad JA enc:Y TRUE E>. EL@E L6a"x :YL6a"xa s"ceA I* >/T enc T6E> ,ostrar.ia#ogoGA<iso912JA Es$eraG-91+91+9Oe##oD94o#or*ondo,en"9TRUEJA PintaVentanaTextoA E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE Eorrar6ote#GVAR L6ote#:$6ote#A 4I*:Ti$o4I*JA ] Eorra "n :ote# ? todos #os c#ientes !"e tienen :ec:a reser<a en `# Par metros de: L Entrada 4I*:Ti$o4I*A L @a#ida L6ote#:$6ote#A _ VAR La"x : $4#ienteA Ant9Post: $6ote#A enc : Eoo#eanA EEFI> Post:Y L6ote#A Ant :Y >ILA enc :Y *AL@EA GL4on C6ILE rea#i=amos e# $roceso de b^!"eda $ara !"e Post ? Ant a$"nten e# #"gar de #a #ista donde se enc"entra e# e#emento !"e se !"iere borrarLJ C6ILE GPostNI>ILJ A>. G>/T encJ ./ I* Posta 4I* Y 4I* T6E> enc :Y TRUE EL@E EEFI> GLA<an=amos en #a #istaLJ Ant :Y PostA Post:Y Posta s"ceA

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1(+

E>.A I* Ant Y >IL T6E> L6ote# :Y L6ote#a s"ce GLEst a# $rinci$ioLJ EL@E Anta s"ce :Y Posta s"ceAGLEst en medio o a# ;ina#LJ GLAntes de e#iminar e# :ote# #iberamos #a memoria !"e tiene oc"$ada $or s" #ista de 4#ientesLJ Lim$iar4#ientesGPosta Lista4#ientesJA .is$oseGPostJA GLEorramos e# :ote#LJ E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE E#iminar4#ienteGVAR L6ote#:$6ote#A >I*:Ti$o>I*JA ] Eorra "n c#iente determinado de #a estr"ct"ra sea c"a# sea e# :ote# donde :a?a :ec:o reser<a Par metros de: LEntrada >I*:Ti$o>I*A L@a#ida L6ote#:$6ote#A _ VAR L6a"x:$6ote#A EEFI> L6a"x:Y L6ote#A C6ILE GL6a"xNI>ILJ ./ EEFI> I* >/T Eorrar4#iente GL6a"xa Lista4#ientes9 >I*J T6E> L6a"x :Y L6a"xa s"ceA E>.A E>.A

GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE ,ostrarTodoGL6ote#:$6ote#JA ] ,"estra $or $anta##a e# contenido de #a estr"ct"ra Es decir9 ,"estra todos #os :ote#es ? s" #a #ista de c#ientes de cada "no de esos :ote#es Par metros de: LEntrada L6ote#:$6ote#A _ VAR L6a"x: $6ote#A EEFI> L6a"x :Y L6ote#A C6ILE L6a"x NI >IL ./ EEFI> ,ostrar6ote# GL6a"x9 L6a"xa 4I*JA L6a"x :Y L6a"xa s"ceA E>.A E>.A GLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLJ PR/4E.URE .estr"irLista6ote#GVAR L6ote#:$6ote#JA ] Libera toda #a memoria "ti#i=a en #a estr"ct"ra din mica L6ote# Par metros de:

Laboratorio de Programacin I: TUREX Agencia de Viajes Extremea

1(-

L@a#ida L6ote#:$6ote#A _ VAR L6a"x : $6ote#A EEFI> C6ILE G L6ote# NI >ILJ ./ EEFI> L6a"x:YL6ote#A GL6acemos !"e L6ote# a$"nte a# sig"ienteLJ L6ote#:YL6ote#a s"ceA GLLi<eramos $rimero #a #ista de c#ientes de# :ote#LJ Lim$iar4#ientesGL6a"xa Lista4#ientesJA GLE#iminamos e# nodo de# :ote#LJ .is$oseGL6a"xJA E>.A E>.A E>. ].E LA U>I.A._

1.4 DISCO 31/2 ENTREGADO. CONTENIDO. En e# disco entregado se enc"entran: - La .oc"mentacin de #a $r7ctica en arc:i<o de ,icroso;t Cord - Todas #as $r7cticas se$aradas en directorios 1.5- BIBLIOGRA A. - T*<!$&# E+*<*0%#, )* P$#B$<!-&?0. - T*<!$&# L!"#$!%#$&# )* P$#B$!<!-&?0 I - T.$"# P!,-!+ E HM!0.!+ )* R*F*$*0-&! A"tor @te$:en /TErien Editoria# ,cFraD)6i##

Вам также может понравиться