Romanos
Publicado por Julio Cesar Soto (2 intervenciones) el 24/10/2003 17:47:41
tengo un problema un programa que transforma numero arabigos a romanos, al parecer esta todo bien, pero al ejecutarlo no lee los datos introducidos, aqui esta el codigo
PROGRAM roma;
Uses Crt;
VAR contador, digitos: Integer;
VAR num_romano, romano: String;
VAR num: CHAR;
BEGIN
ClrScr;
textcolor(10);
WRITELN('Mostraremos el equivalente en numeros romanos del numero que desee.');
WRITELN;
WRITE('¨Cuantos digitos tiene el numero que va a introducir? ');
READLN(digitos);
WHILE (digitos > 3) or (digitos < 1) DO
BEGIN
WRITE('Debe estar entre 1 y 3, introduzca los digitos:');
READLN(digitos);
IF digitos = 1 THEN
contador := 1
ELSE IF digitos = 2 THEN
contador := 2
ELSE IF digitos = 3 THEN
contador := 3
END;
WRITELN;
WRITE('Introduzca el numero arabigo a convertir: ');
REPEAT
num := Readkey;
WRITE(num);
IF contador = 1 THEN
CASE num OF
'1': romano := 'I';
'2': romano := 'II';
'3': romano := 'III';
'4': romano := 'IV';
'5': romano := 'V';
'6': romano := 'VI';
'7': romano := 'VII';
'8': romano := 'VIII';
'9': romano := 'IX';
PROGRAM roma;
Uses Crt;
VAR contador, digitos: Integer;
VAR num_romano, romano: String;
VAR num: CHAR;
BEGIN
ClrScr;
textcolor(10);
WRITELN('Mostraremos el equivalente en numeros romanos del numero que desee.');
WRITELN;
WRITE('¨Cuantos digitos tiene el numero que va a introducir? ');
READLN(digitos);
WHILE (digitos > 3) or (digitos < 1) DO
BEGIN
WRITE('Debe estar entre 1 y 3, introduzca los digitos:');
READLN(digitos);
IF digitos = 1 THEN
contador := 1
ELSE IF digitos = 2 THEN
contador := 2
ELSE IF digitos = 3 THEN
contador := 3
END;
WRITELN;
WRITE('Introduzca el numero arabigo a convertir: ');
REPEAT
num := Readkey;
WRITE(num);
IF contador = 1 THEN
CASE num OF
'1': romano := 'I';
'2': romano := 'II';
'3': romano := 'III';
'4': romano := 'IV';
'5': romano := 'V';
'6': romano := 'VI';
'7': romano := 'VII';
'8': romano := 'VIII';
'9': romano := 'IX';
Valora esta pregunta


0