Pascal/Turbo Pascal - Casi e acabado...pero tengo problema

 
Vista:

Casi e acabado...pero tengo problema

Publicado por Yeilos (12 intervenciones) el 12/12/2004 00:55:33
Tenia q hacer las areas del cuadrado,triangulo,rectangulo desde subprogramas, y otro subprograma para leer un fixero de texto, q me devolvia lo q leia en cada linea. Bien luego en el principal tenia q compararlos y decir cual es el area del mayor y decir q figura es.PROBLEMA cuando 2 areas son iguales me escribe las 2 y solo tiene q escribirme la primera q lea(q puede ser cualkiera de las 3)
EJ: r 3 4
c 3 (se pueden intercambiar asiq las letras no son fijas)
t 4 6
Mi programa
VAR
F:text;
cu,re1,re2,tri1,tri2,ret,trit,AC,AR,AT:Real;
Mayor:Real;
letra,letra2,letra3:char;
BEGIN(Solo pongo el programa principal)
Assign(F,'A:\datosp2.txt');
Reset(F);
If eof(F) Then begin
Write('El fichero de datos esta vacio');
readln;
end
else
BEGIN
Mayor:=0;
leer(F,cu,re1,re2,tri1,tri2,letra,letra2,letra3);
If letra='c' then AC:=cuadrado(cu);
rectangulo(re1,re2,ret);
triangulo(tri1,tri2,trit);
If letra2='r' then AR:=ret;
If letra3='t' then AT:=trit;
Mayor:=AC;
If ret>Mayor then Mayor:=ret;
If trit>Mayor then Mayor:=trit;
If Mayor=AC then writeln('La figura de mayor area es el cuadrado, cuyo area es:',AC);
If Mayor=AR then writeln('La figura de mayor area es el rectangulo, cuyo area es:',AR);
If Mayor=AT then writeln('La figura de mayor area es el triangulo, cuyo area es:',AT);
readln;
close(F);
End;
End.

Gracias
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

RE:Casi e acabado...pero tengo problema

Publicado por Roberto (41 intervenciones) el 12/12/2004 22:14:31
Y cuando las tres sean iguales las tres te las va a imprimir, lo que te falta es usar el else

If Mayor=AC then
writeln(AC)
else
If Mayor=AR then
writeln(AR)
else
If Mayor=AT then
writeln(AT);
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:Casi e acabado...pero tengo problema

Publicado por Yeilos (12 intervenciones) el 13/12/2004 00:35:46
Gracias, pero he visto un pekeño fallo.
si yo introdujera en vez de c primero:
r 3 3
c9
t(lo q sea, menos q los otros 2)
Lo que ara es poner a cuadrado como el mayor, aunq el primero q lee sea el rectangulo. esto es debido a k lee si primero es el cuadrado siempre y si asi es....ahi se keda. espero q entiendas lo q e explicado, esq el primero puede ser cualkiera.
Salu2
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