Programación General > Pascal
Organizar los datos de la salida
(1/1)
infolab:
Nesecito ayuda con un programa:resulta que se me pide hacer un programa en el cual debo ingresar el nombre, edad y sexo de los alumnos de un curso, y el programa debe entregarme: cantidad de mujeres, cantidad de hombres, edad promedio de mujeres, y edad promedio de varones. Al ingresar el sexo tengo que digitar una letra (F) para femenino y (M) para masculino. La duda la tengo en que como hago para que me diferencie las edades por sexo. Aqui va el codigo:
program curso;
uses
wincrt;
var
nom:string [20];
edad:real;
cant1,cant2,prom1,prom2,sum1,sum2:real;
resp,sexo,m,f:char;
begin
resp:='s';
cant1:=0;
cant2:=0;
sum1:=0;
sum2:=0;
while(resp='s')or(resp='S')do
begin
writeln('INGRESE EL NOMBRE DEL ALUMNO:');
readln(nom);
writeln('EDAD DEL ALUMNO:');
readln(edad);
writeln('INGRESE EL SEXO DEL ALUMNO:');
readln(sexo);
writeln('¿ DESEA SEGUIR INGRESANDO MAS DATOS? (S/N)');
readln(resp);
cant1:=cant1+1;
sum1:=sum1+edad;
cant2:=cant2+1;
sum2:=sum2+edad;
end;
if sexo='m' then
begin
prom1:=sum1/cant1;
writeln('LA CANTIDAD DE ALUMNOS INGRESADOS ES:',cant1:3:1);
writeln('LA EDAD PROMEDIO DE ALUMNOS INGRESADOS ES:',prom1:3:1);
end
else
begin
prom2:=sum2/cant2;
writeln('LA CANTIDAD DE ALUMNAS INGRESADOS ES:',cant2:3:1);
writeln('LA EDAD PROMEDIO DE ALUMNAS INGRESADOS ES:',prom2:3:1);
end;
end.
FSR:
Reemplaza lo siguiente:
--- Código: Text ---While (resp='s') or (resp='S') do Begin WriteLn('INGRESE EL NOMBRE DEL ALUMNO:'); ReadLn(nom); WriteLn('EDAD DEL ALUMNO:'); ReadLn(edad); WriteLn('INGRESE EL SEXO DEL ALUMNO:'); ReadLn(sexo); WriteLn('¿ DESEA SEGUIR INGRESANDO MAS DATOS? (S/N)'); ReadLn(resp); cant1:=cant1+1; sum1:=sum1+edad; cant2:=cant2+1; sum2:=sum2+edad; end; if sexo='m' then Begin prom1:=sum1/cant1; WriteLn('LA CANTIDAD DE ALUMNOS INGRESADOS ES:',cant1:3:1); WriteLn('LA EDAD PROMEDIO DE ALUMNOS INGRESADOS ES:',prom1:3:1); End Else Begin prom2:=sum2/cant2; WriteLn('LA CANTIDAD DE ALUMNAS INGRESADOS ES:',cant2:3:1); WriteLn('LA EDAD PROMEDIO DE ALUMNAS INGRESADOS ES:',prom2:3:1); End;End.
Por...
--- Código: Text ---While (resp='s') or (resp='S') do Begin Write('INGRESE EL NOMBRE DEL ALUMNO:'); ReadLn(nom); Wrte('EDAD DEL ALUMNO:'); ReadLn(edad); Write('INGRESE EL SEXO DEL ALUMNO:'); ReadLn(sexo); Write('¿ DESEA SEGUIR INGRESANDO MAS DATOS? (S/N)'); ReadLn(resp); If (sexo='m') or (sexo='M') then Begin Inc(Cant1); {Cantidad de Hombres} Inc(Sum1); {Suma de edades de Hombres} End Else Begin Inc(Cant2); {Cantidad de Mujeres} Inc(Sum2); {Suma de edades de Mujeres} End, {If} End; {While} Writen('VARONES:');WriteLn('- Cantidad: ', Cant1);WriteLn('- Promedio de Edad: ', Sum1 Div Cant1);WriteLn;Writen('MUJERES:');WriteLn('- Cantidad: ', Cant2);WriteLn('- Promedio de Edad: ', Sum2 Div Cant2);End.
Espero que te sirva. Saludos ;)
Navegación
Ir a la versión completa