Foros del Web » Programación para mayores de 30 ;) » Programación General »

adivinanzas en Pascal

Estas en el tema de adivinanzas en Pascal en el foro de Programación General en Foros del Web. **gente le paso un programa lo que tengo que hacer es un juego de adivinanzas y que vaya guardando lo que le respondo** alguien que ...
  #1 (permalink)  
Antiguo 02/08/2012, 12:12
 
Fecha de Ingreso: agosto-2012
Ubicación: Posadas
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
Exclamación adivinanzas en Pascal

**gente le paso un programa lo que tengo que hacer es un juego de adivinanzas y que vaya guardando lo que le respondo**
alguien que trabaje con pascal me ayuda?


este es el código:

program arbol;

uses
crt, dos;

type
puntero=^Nodo;
Nodo=record
dato:string;
der:puntero;
izq:puntero;
end;
var
cabecera: puntero;
aux1,anterior, antecesor:puntero;
palabra:string;
pista:puntero;
resultado:puntero;

procedure crearNodo(texto:string;var nuevoNodo:puntero);
var
nodoNuevo:puntero;
begin
new (nodoNuevo);
if aux1<>nil then
begin
nodoNuevo^.dato:=texto;
nodoNuevo^.der:=nil;
nodoNuevo^.izq:=nil;
end;
nuevoNodo:=nodoNuevo;
end;

BEGIN
clrscr;
{los negativos bajan por la rama izquierda,
los positivos bajan por la derecha}
crearNodo('Animal o vegetal',aux1);
Writeln('Bienvenidos al programa de adivinazas, responda S o N');
repeat
cabecera:=aux1;
while (aux1<>nil) do
begin
Writeln(aux1^.dato);
readln(palabra);
If palabra='S' then
begin
{se debe recorrer por la derecha}
antecesor:=anterior;
anterior:=aux1;
aux1:=aux1^.der;
end else
begin
{se toma por defecto N}
{sedebe recorrer por la izquierda}
antecesor:=anterior;
anterior:=aux1;
aux1:=aux1^.izq;
end;
end;
{tengo que saber si sali por SI o por NO}
if (palabra='S') then
begin
{gane}
writeln('te gane');
end else
begin
{perdi-dame una pista-que era}
Writeln('dame una pista');
Readln(palabra);
crearNodo(palabra,pista);
Writeln('dame el resultado');
Readln(palabra);
crearNodo(palabra,resultado);
pista^.izq:=anterior;
pista^.der:=resultado;
antecesor^.izq:=pista;
end;
write('Quiere seguir jugando, responda S o N');
repeat
segi := readkey;
until upcase(segi) in['N','S'];

clrscr;
until (segi = 'n') or (segi = 'N');
END.

Etiquetas: pascal, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:17.