Pascal/Turbo Pascal - tipos de datos diferentes

 
Vista:

tipos de datos diferentes

Publicado por psg (18 intervenciones) el 04/01/2003 18:51:41
Tengo un problema con una variable a la que llamo de igual forma pero con diferentes tipos de datos (es la que aparece en el fragmento del program de abajo) [ "TYPE MISMATCH, cuando llamo al procedimiento, en la ultima linea del programa principal], pq tengo la variable "numero" (del procedimiento) como integer, y "numero" (del programa principal) como string. y no soy capaz de hacerlo encajar!!!! xD quiero decir, que aunq a una le llame "numero_A" y a la otra "numero_B", luego necesito de alguna forma hacer que ese "numero" del procedimiento lo pueda pasar al programa para trabajar con el y luego hacer una serie de operaciones (que no pego en este mail, pq son cuatro folios, y casi que...) sobre ese "numero" (independientemente de como lo he llamado). Me expliqué bien?? Alguien me podría responder?? gracias

El programa como no cabe aki lo pongo como si fuese respuesta de este
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

continuacion "tipos de datos diferentes"

Publicado por psg (18 intervenciones) el 04/01/2003 18:53:58
PROGRAM archivo;
VAR
fich_inicial: text;
numero: string [8];
fich_salida: text;
PROCEDURE LeerEntero (VAR fich_inicial: text; VAR numero: integer; VAR error: boolean);

VAR
caracter:char;

(***************************************************************************)

PROCEDURE SaltarBlancos (VAR caracter:char);


BEGIN (* saltar blancos *)
caracter:= ' ';
WHILE NOT EOF (fich_inicial) AND (caracter=' ') DO
read(fich_inicial, caracter)
END;

(**************************************************************************)

BEGIN (* leer entero *)
error:=false;
SaltarBlancos(caracter);
IF NOT (caracter IN ['0'..'9']) THEN
error:=true
ELSE
BEGIN
numero:=0;
WHILE caracter IN ['0'..'9'] DO
BEGIN
numero:= numero*10 + (Ord(caracter)-Ord('0'));
read(fich_inicial, caracter)
END
END
END; (* leer entero *)

(***********************INICIO PROGRAMA****************************)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

continuacion2 "tipos datos diferentes"

Publicado por psg (18 intervenciones) el 04/01/2003 18:55:22
(***********************INICIO PROGRAMA****************************)

BEGIN

assign (fich_inicial, 'D:\Documents and Settings\Pablo\Escritorio\texto.pas');
reset(fich_inicial);
readln(fich_inicial,numero);
rewrite(fich_salida);
writeln(fich_salida, numero);

LeerEntero (fich_inicial, numero, error);


END.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:continuacion2

Publicado por César Augusto Navarro Gómez (182 intervenciones) el 07/01/2003 23:53:40
No identifico muy bien lo que deseas hacer pero si el error en tu código, la variable global no la declares como String[8] sino como entero y a ver si es el resultado que deseas, al menos es tu error en sintaxis.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar