Pascal/Turbo Pascal - Practica urgente!!

 
Vista:
sin imagen de perfil

Practica urgente!!

Publicado por M2 (15 intervenciones) el 17/12/2012 10:53:05
Buenos dias estoy realizando un practica en pascal en la que estoy atascada, necesitaria que alguien me echara una mano. el enunciado exactamente dice esto:

se necesita disponer de información de las notas obtenidas por los alumnos, máximo 100 alumnos.
Los datos sobre los que se quiere almacenar la información son: Alumno (nombre y apellidos),
DNI, fecha de nacimiento, domicilio y teléfono. Además,
• evaluación continua: fechas y notas de las PEC1 y PEC2 y las PECL1 y PECL2
• evaluación final: fechas y notas de las PEF y PEFL.
Se desea disponer de las siguientes funcionalidades que se mostrarán en un menú:
1) Alta.
2) Baja.
3) Modificación.
4) Listados.
a) Listado completo ordenado por alumnos (apellidos + nombre)
b) Listado completo ordenado por notas finales. Estas notas finales se calcularán como PEC1*20%+PECL1*5%+PEC2*30%+PECL2*45% para el caso de evaluación continua y PEF*50%+PEFL*50% para el caso de evaluación final.
c) Listado de aprobados.
d) Listados de suspensos.
e) Volver al menú anterior.
5) Estadísticas.
a) Porcentajes de presentados con respecto al número total de alumnos.
b) Porcentajes de aprobados con respecto al número de alumnos presentados
c) Tantos por ciento de alumnos que han sacado sobresaliente, notable, aprobado, suspenso y no presentados.
6) Salir
Se cargarán inicialmente, mediante un subprograma, los datos de diez alumnos que se hayan
presentado a evaluación continua y los de cuatro que lo hayan hecho a evaluación final.
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

Practica urgente!!

Publicado por ramon (2158 intervenciones) el 17/12/2012 21:56:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{Primero esta estructura de registros te vale.
 Segundo  esto en array a en archivo.}
 
program estudiantes;
  uses
     crt;
  type
    regestudiante = record
                 nombre : string[80];
              apellidos : string[80];
                    DNI : string[15];
               fechanac : string[8];
              domicilio : string[80];
               telefono : longint;
            end;
 
    evaluacioncont = record
                fechas : string[8];
                 notas : integer;
                  PEC1 : real;
                  PEC2 : real;
                 PECL1 : real;
                 PECL2 : real;
               end;
 
     evaluacionfinal = record
                fechas : string[8];
                 notas : integer;
                   PEF : real;
                  PEFL : real;
               end;
 
      datosestud = record
           estu : regestudiante;
           evac : evaluacioncont;
           evaf : evaluacionfinal;
           end;
 
 
 
 
  var
    estudiant : datosestud;
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
sin imagen de perfil

Practica urgente!!

Publicado por M2 (15 intervenciones) el 17/12/2012 22:21:06
Muchas gracias la estructura ya le tengo es:

TYPE
tfecha=RECORD
dia:byte;//siempre va tener que ser positivo
mes:byte;
anio:integer;
end;
tdomicilio=RECORD
calle:string;
ciudad:string;
end;
tnota=RECORD
ECont:ARRAY[1..4]of real;
EFin:ARRAY[1..2]OF REAL;
notaFinal:real;
fechaC:ARRAY[1..4]OF tfecha;
fechaF:ARRAY[1..2]OF tfecha;
end;

Alumno=RECORD
nombre:string;
apellido_1,apellido_2:string;
dni:string;
fecha:tfecha;
domicilio:tdomicilio;
telefono:integer;
nota:tnota;
evaluacion:string;
end;
tAlumno=ARRAY[1..numAlumnos]OF Alumno;

Pero con lo que ahora mismo tengo problemas es a la hora de buscar si el alumno ya existe para dar de alta, baja y modificacion.
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

Practica urgente!!

Publicado por ramon (2158 intervenciones) el 18/12/2012 17:42:43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{Mira esto puede ayudarte }
 
var
      encontrado : boolean;
      nombre1 : string;
 
    function encontradonombre(nm : string) : boolean;
    var
       i : integer;
    begin
    encontrado := false;
    for i := 1 to numAlumnos do
    if tAlumno .nombre = nn then
    begin
        encontrado := true;
    end;
       encontradonombre := encontrado; {Asignamos el resultado}
  end;
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
sin imagen de perfil

Practica urgente!!

Publicado por M2 (15 intervenciones) el 18/12/2012 17:49:46
Muchas gracias exactamente lo tengo hecho asi pero no funciona siempre salta como nuevo alumno.
Sabrias porque pasa eso??

La funcion la llamo y compruebo con una variable
IF existe THEN
WRITELN('EL ALUMNO YA EXISTE')
ELSE pideDatos(clases,i);

y siempre salta el else.
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

Practica urgente!!

Publicado por fernando (1 intervención) el 27/04/2013 19:59:41
DE CASUALIDAD ME PUEDES ENVIAR EL ARCHIVO ´.PAS
[email protected]
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