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

[0] Índice de Mensajes

Ir a la versión completa