You are on page 1of 4

TALLERDEPROGRAMACIN

EscribirunprogramaenCquepermitajugaralahorcado,delasiguienteforma:

Sedisponede4ficherosdetexto,conpalabrasdediferentestemticas:Animales.txt,
Profesiones.txt,Nombres.txt,Paises.txt,encadalneadeestosficheroshayunanicapalabra
cuyotamaomximoesde25caracteres,enningunodelosficheroshaymsde50lneas.

Primero,elusuariodeterminarconqutipodepalabrasquierejugar(animales,profesiones,
nombresopases)yelprogramaabrirelficherocorrespondiente.

Acontinuacin,elprograma,deformareiterada,generarunnmeroaleatorioque
determinarunapalabradelfichero,staserlapalabraqueelusuariodeberacertar.

Serellenarunacadenacontantoscaracterescomolongitudtengalapalabraaadivinar.

Despuselprogramapedirqueseintroduzcauncarcterycomprobarsiperteneceala
palabraquesedebeadivinar.Siesas,seescribirdichocarcterenlacadenaanteriorenlas
mismasposicionesenlasqueseencuentraenlapalabraaadivinarsustituyendoalos
caracteres.

Previamentealalecturadecualquiercarcterelprogramadebemostrarlasiguiente
informacin:

Nmerodefallos:xx

Caracteresintroducidos:x/x/x/x/x

Representacingrficadelasituacin(comolasqueseanexanosimilares)

Progresodelacadenaenlaquesebuscalapalabra:xx

SolicitudalusuarioparaResolveroIntroducirunnuevocarcter:x

Esteprocesoserepetirhastaque:

o seaciertelapalabra
o seagotenlosintentos,esdecir,sehayacompletadolafiguradelahorcado
o elusuariodecidaresolverlapalabra

Siseagotanlosintentosoelusuariodecideresolversinhaberacertadolapalabra,seescribir
unmensajeindicndoloysemostrarlapalabraquesedebahaberacertado,enotrocasose
escribirunmensajedefelicitacin.

Pararealizarelprograma,almenossedebencodificaryemplearlassiguientesfunciones:

FuncincabeceraqueimprimeNOMBREyNUM.MATRICULAdelautordelprogramay
quedebeserejecutadanadamsempezarelprograma.
FuncinborraConsolaquelimpialaconsolarealizandotantossaltosdelneacomosea
necesario.
FuncinlongCadqueapartirdeunacadenadecaracteresdevuelvelalongituddedicha
cadena,esdecir,elnmerodecaracteresquecontienelapalabrasincontarelcarcter
definaldecadena.
FuncincadenasIgualesquedadasdoscadenasdevuelveun1sisonigualesyun0en
casocontrario.
TALLERDEPROGRAMACIN

FuncininiciaCadquepartiendodeunnmeroqueindicalalongituddeunapalabra,
devuelveunacadenarellenaconelcarctertantasvecescomosealalongituddada.
FuncinactualizaCadqueapartirdelapalabraaadivinar,uncarcterylacadenaque
sequierecompletar,devolverdichacadenaconelcarcterenlasposicionesdondese
encuentraenlapalabraaadivinar.
FuncinactualizaListaqueapartirdelalistadecaracteresintroducidosporelusuario
aadeunanuevaentrada.
FuncinimprimeFiguraqueapartirdelnmerodefalloscometidosporelusuario
imprimelafiguracorrespondiente(verANEXO).

Especificacindediseo:

Lanicalibreraquesepuedeutilizaresstdio.hportantonoseadmitirelusodela
librerastring.h.
Elficherodepalabrasseleccionadosolosepuederecorrerunavez.

ANEXOparalaRepresentacingrficadelasituacin

0fallos:
printf("\t.......\n");
printf("\t..\n");
printf("\t..\n");
printf("\t..\n");
printf("\t..\n");
printf("\t..\n");
printf("\t..\n");
printf("\t.......\n");

1fallo:
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\t\n");

2fallos:
printf("\n");
printf("\t|\n");
printf("\t|\n");
printf("\t|\n");
printf("\t|\n");
printf("\t\n");

3fallos:
printf("\t_____\n");
printf("\t|/\n");
printf("\t|\n");
printf("\t|\n");
TALLERDEPROGRAMACIN

printf("\t|\n");
printf("\t\n");

4fallos:
printf("\t_____\n");
printf("\t|/O\n");
printf("\t|\n");
printf("\t|\n");
printf("\t|\n");
printf("\t\n");

5fallos:
printf("\t_____\n");
printf("\t|/O\n");
printf("\t||\n");
printf("\t||\n");
printf("\t|\n");
printf("\t\n");

6fallos:
printf("\t_____\n");
printf("\t|/O\n");
printf("\t|/|\n");
printf("\t||\n");
printf("\t|\n");
printf("\t\n");

7fallos:
printf("\t_____\n");
printf("\t|/O\n");
printf("\t|/|\\\n");
printf("\t||\n");
printf("\t|\n");
printf("\t\n");

8fallos:
printf("\t_____\n");
printf("\t|/O\n");
printf("\t|/|\\\n");
printf("\t||\n");
printf("\t|/\n");
printf("\t\n");

9fallos:
printf("\t_____\n");
printf("\t|/O\n");
printf("\t|/|\\\n");
printf("\t||\n");
printf("\t|/\\\n");
TALLERDEPROGRAMACIN

printf("\t\n");

You might also like