예제 #1
0
        public void GuardarPromedio(Promedio promedio)
        {
            FileStream   fs = new FileStream(archivo_promedio, FileMode.Append);
            StreamWriter sw = new StreamWriter(fs);

            sw.WriteLine(promedio.ObtenerRegistro());
            sw.Close();
        }
예제 #2
0
        public Promedio Promedios()
        {
            FileStream   fsaux = new FileStream(archivo_aux, FileMode.Create);
            StreamWriter swaux = new StreamWriter(fsaux);

            Alumno[] alumnos = gestoralumnos.OrdenarAlumnos();
            Nota[]   notas   = gestornotas.OrdenarNotas();
            Promedio p       = new Promedio();
            Promedio promedio;
            int      d = 0;

            for (int i = 0; i < alumnos.Length; i++)
            {
                int    contador   = 0;
                double acumulador = 0.0;
                for (int x = d; x < notas.Length; x++)
                {
                    if (notas[x].DNI == alumnos[i].DNI)
                    {
                        contador++;
                        acumulador += notas[x].Notas;
                    }
                    // Esto hace que termine la lista :D
                    if (notas[x].DNI > alumnos[i].DNI)
                    {
                        d = x;
                        x = notas.Length + 1;
                    }
                }
                if (contador != 0)
                {
                    p.DNI       = alumnos[i].DNI;
                    p.Apellidos = alumnos[i].Apellido;
                    p.N_notas   = contador;
                    p.Promedios = acumulador / contador;
                    promedio    = new Promedio(p.DNI, p.Apellidos, p.Promedios, p.N_notas);
                    swaux.WriteLine(promedio.ObtenerRegistro());
                    GuardarPromedio(promedio);
                }
            }
            swaux.Close();
            fsaux.Close();
            File.Delete(archivo_promedio);
            File.Move(archivo_aux, archivo_promedio);
            return(p);
        }