martes, 20 de diciembre de 2011
examen 2
PROGRAM examen(input,output);
(*Programa que muestre un menu por pantalla donde se den las opciones de insertar datos de 5 conductores, matricula, nombre e importe a pagar, al acabar de insertar los datos vuelva a mostrar el
menu y de las opciones de volver a introducir los datos, de mostrar la media de los importes de las multas por pantalla o de salir del programa, debe contener un procedimiento para insertar los datos y
una funcion para calcular la media*)
CONST
multas = 5;
TYPE
archivo = record
nombre:string(15);
matricula:string(7);
importe:real;
END;
TAarray = ARRAY[1..multas] OF archivo;
VAR
datos:TAarray;
totalmultas:real;
eleccion:char;
(******************************************************************************)
PROCEDURE insertar;
VAR
I:integer;
BEGIN
I:=1;
totalmultas:=0;
FOR I:=1 TO multas DO
BEGIN
writeln('Por favor introduzca el nombre del conductor ',I,':');
readln(datos[I].nombre);
writeln('Por favor introduzca la matricula del coche de ',datos[I].nombre,':');
readln(datos[I].matricula);
writeln('Por favor introduzca el importe a pagar por ',datos[I].nombre,' en euros:');
readln(datos[I].importe);
totalmultas:=totalmultas+datos[I].importe;
END;
END;
(******************************************************************************)
FUNCTION media(totalmultas:real):real;
BEGIN
media:=totalmultas/multas;
END;
(******************************************************************************)
PROCEDURE salir;
BEGIN
writeln('Saliendo del programa...');
END;
(******************************************************************************)
BEGIN
REPEAT
BEGIN
writeln('[S] Salir del programa');
writeln('[I] Introducir los datos');
writeln('[M] Mostrar la media del importe de las multas');
readln(eleccion);
CASE eleccion OF
'S','s' : salir;
'I','i' : insertar;
'M','m' : writeln('La media de los importes de las multas es: ',media(totalmultas):2:2,' euros');
OTHERWISE writeln('Error, opcion incorrecta');
END;
END;
UNTIL (eleccion ='S')OR(eleccion = 's');
END.
Ejemplo de ejecucion
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario