Está en la página 1de 2

PROGRAM archivo2

IMPLICIT NONE
INTEGER :: matricula, creditos(3)
CHARACTER(LEN=20) :: nombre, clave(3)*7
CHARACTER(LEN=100) :: archivo_est, archivo_asig
INTEGER :: i, num_estudiantes, opcion
REAL :: nota_final(3), promedio, Ind, Tn, Tc

archivo_est = "estudiantes.txt"
archivo_asig = "asignaturas.txt"

! Open file for student records


OPEN(UNIT=10, FILE=archivo_est, STATUS='REPLACE')

! Open file for subject records


OPEN(UNIT=20, FILE=archivo_asig, STATUS='REPLACE')

DO
CALL System('CLS')

WRITE(*,*) "MENU"
WRITE(*,*) "1. Registrar estudiante"
WRITE(*,*) "2. Consultar estudiante"
WRITE(*,*) "3. Consultar total de estudiantes por semestre"
WRITE(*,*) "4. Salir"

WRITE(*,*) "Seleccione una opcion:"


READ(*,*) opcion

SELECT CASE(opcion)

CASE(1)
WRITE(*,*) "Ingrese la cantidad de estudiantes:"
READ(*,*) num_estudiantes

DO i = 1, num_estudiantes
WRITE(*, *) 'Ingrese la matricula del estudiante ', i
READ(*, *) matricula
WRITE(*, *) 'Ingrese el nombre del estudiante ', i
READ(*, *) nombre

WRITE(10, *) matricula, nombre


END DO

DO i = 1, num_estudiantes
WRITE(*, *) 'clave de la asignatura del estudiante ', i
READ(*, *) clave
WRITE(*, *) 'creditos de la asignatura del estudiante ', i
READ(*, *) creditos
WRITE(*, *) 'Ingrese la nota final del estudiante ', i
READ(*, *) nota_final

WRITE(20, *) clave, matricula, creditos, nota_final


END DO

WRITE(*,*) "Informacion almacenada en base de datos"


READ(*,*)

CASE(2)
WRITE(*,*) "Consultar estudiante"
! Add code to search for student by matricula or name

READ(*,*)

CASE(3)
WRITE(*,*) "Consultar total de estudiantes por semestre"
! Add code to count number of students per semester

READ(*,*)

CASE(4)
EXIT

CASE DEFAULT
WRITE(*,*) "Opcion invalida"
READ(*,*)

END SELECT
END DO

CLOSE(UNIT=10)
CLOSE(UNIT=20)

END PROGRAM archivo2

También podría gustarte