Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2012, 12:12
walterely1987
 
Fecha de Ingreso: agosto-2012
Ubicación: Posadas
Mensajes: 3
Antigüedad: 11 años, 9 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.