Está en la página 1de 5

Universidad de las Fuerzas Armadas ESPE Extensión Latacunga

Departamento de Eléctrica y Electrónica


Programación Orientada a Objetos
Nombre: Karla Altamirano
Curso: 2° “B”
Carrera: Ingeniería de Software
class Carrera():
def __init__(self,nombre,codigo):
self.nombre=nombre
self.codigo=codigo
self.materia={}
def addMateria(self,materia):
self.materia[materia.nrc]=materia
class Materia():
def __init__(self,nombre,nrc,carrera):
self.nombre=nombre
self.nrc=nrc
self.carrera=carrera
self.estudiante={}
def addEstudiante(self,estudiante):
self.estudiante[estudiante.iden]=estudiante
class Estudiante():
def __init__(self,nombre,iden,materia,par1,par2,par3,prom):
self.nombre=nombre
self.iden=iden
self.materia=materia
self.par1=par1
self.par2=par2
self.par3=par3
self.prom=prom
def mostrardatos(self):
print("\t DATOS DEL ESTUDIANTE ")
print("Nombre: {}".format(self.nombre))
print("ID: {}".format(self.iden))
print("Asignatura: {}".format(self.materia))
print("Parcial 1: {}".format(self.par1))
print("Parcial 2: {}".format(self.par2))
print("Parcial 3: {}".format(self.par3))
print("Promedio: {}".format(self.prom))

def main():
civil=Carrera("Ingenieria Civil","CIV001")
mecds=Materia("Mecanica de suelos","4263",civil)
civil.addMateria(mecds)
software=Carrera("Ingenieria de Software","ISOW203")
poo=Materia("Programacion orientada a objetos","3922",software)
software.addMateria(poo)
opmenu = 1
opmat=1
while(opmenu != 5):
print("\t Universidad de las Fuerzas Armadas ESPE")
print("1. Ingresar estudiante.")
print("2. Darse de baja.")
print("3. Ingresar/Modificar notas del estudiante.")
print("4. Consultar datos del estudiante.")
print("5. Salir.")
opmenu = int(input("Ingrese la opcion: "))
if opmenu==1:
while (opmat!=3):
print("Elija una materia: ")
print("1. Programacion orientada a objetos")
print("2. Mecanica de suelos")
print("3. Salir")
opmat=int(input())
if opmat==1:
print("\t\tProgramacion Orientada a Objetos")
ne=int(input("Ingrese numero de estudiantes: "))
if ne<=8:
for i in range (ne):
print("Ingresa los datos del alumno ", i+1)
nom=input("Nombre: ")
idd=input("ID: ")
alum1=Estudiante(nom,idd,poo,0,0,0,0)
poo.addEstudiante(alum1)
else:
print("No mas de 8 alumnos por curso.")
elif opmat==2:
print("\t\tMecanica de Suelos")
ne2=int(input("Ingrese numero de estudiantes: "))
if ne2<=8:
for b in range (ne2):
print("Ingresa los datos del alumno ", b+1)
nom2=input("Nombre: ")
idd2=input("ID: ")
alum2=Estudiante(nom2,idd2,mecds,0,0,0,0)
mecds.addEstudiante(alum2)
else:
print("No mas de 8 alumnos por curso.")
else:
break
elif opmenu==2:
print("\t Darse de baja")
mt=int(input("Ingrese la materia 1. POO 2. MECDS: "))
if(mt==1):
print("Lista de alumnos - ",poo.nombre)
for nm in poo.estudiante.values():
print(nm.nombre, "-", nm.iden)
print("Ingresa el ID para continuar: ")
alum1.iden=input()
poo.estudiante.pop(alum1.iden)
print("Estudiante eliminado")
elif mt==2:
print("Lista de alumnos - ",mecds.nombre)
for nb in poo.estudiante.values():
print(nb.nombre, "-", nb.iden)
print("Ingresa el ID para continuar: ")
alum2.iden=input()
mecds.estudiante.pop(alum2.iden)
print("Estudiante eliminado")
else:
print("No existe esta materia")
elif opmenu==3:
print("\t Ingreso/Modificacion de notas")
opmt=1
while (opmt!=3):
print("Elija una materia: ")
print("1. Programacion orientada a objetos")
print("2. Mecanica de suelos")
print("3. Salir")
opmt=int(input())
if opmt==1:
im=1
while (im!=3):
im=int(input("1. Ingreso // 2. Modificacion // 3.
Salir: "))
if im==1:
for ll in poo.estudiante.values():
print(ll.nombre)
print("Ingresa las notas: ")
ll.par1=float(input("Parcial 1: "))
ll.par2=float(input("Parcial 2: "))
ll.par3=float(input("Parcial 3: "))
alum1.prom=((ll.par1+ll.par2+ll.par3)/3)
print("Promedio: ",alum1.prom)
if(alum1.prom<14):
print("Reprobado")
else:
print("Aprobado")
elif im==2:
for pn in poo.estudiante.values():
print(pn.nombre, "-",pn.iden)
print("Ingresa el ID para continuar: ")
ivo=input()
if ivo==alum1.iden:
print("Modifica las notas: ")
print("Parcial 1: ",pn.par1)
pn.par1=float(input("Parcial 1 nuevo: "))
print("Parcial 2: ",pn.par2)
pn.par2=float(input("Parcial 2 nuevo: "))
print("Parcial 3: ",pn.par3)
pn.par3=float(input("Parcial 3 nuevo: "))
alum1.prom=((pn.par1+pn.par2+pn.par3)/3)
print("Promedio: ",alum1.prom)
if(alum1.prom<14):
print("Reprobado")
else:
print("Aprobado")
elif ivo!=alum1.iden:
print("No existe este estudiante")
else:
break
else:
break
elif opmt==2:
mm=1
while (mm!=3):
mm=int(input("1. Ingreso // 2. Modificacion // 3.
Salir: "))
if mm==1:
for pp in mecds.estudiante.values():
print(pp.nombre)
print("Ingresa las notas: ")
pp.par1=float(input("Parcial 1: "))
pp.par2=float(input("Parcial 2: "))
pp.par3=float(input("Parcial 3: "))
alum2.prom=((pp.par1+pp.par2+pp.par3)/3)
print("Promedio: ",alum2.prom)
if(alum2.prom<14):
print("Reprobado")
else:
print("Aprobado")
elif mm==2:
for nn in mecds.estudiante.values():
print(nn.nombre, "-",nn.iden)
print("Ingresa el ID para continuar: ")
ido=input()
if ido==alum2.iden:
print("Modifica las notas: ")
print("Parcial 1: ",nn.par1)
nn.par1=float(input("Parcial 1 nuevo: "))
print("Parcial 2: ",nn.par2)
nn.par2=float(input("Parcial 2 nuevo: "))
print("Parcial 3: ",nn.par3)
nn.par3=float(input("Parcial 3 nuevo: "))
alum2.prom=((nn.par1+nn.par2+nn.par3)/3)
print("Promedio: ",alum2.prom)
if(alum2.prom<14):
print("Reprobado")
else:
print("Aprobado")
elif ido!=alum2.iden:
print("No existe este estudiante")
else:
break
else:
break
else:
break
elif opmenu==4:
print("\t Consulta de datos")
opd=1
while (opd!=3):
print("Elija una materia: ")
print("1. Programacion orientada a objetos")
print("2. Mecanica de suelos")
print("3. Salir")
opd=int(input())
if opd==1:
print("Programacion orientada a objetos: ")
for m in poo.estudiante.values():
print(m.nombre,'-',m.iden,'-',m.prom)
elif opd==2:
print("Mecanica de suelos: ")
for n in mecds.estudiante.values():
print(n.nombre,"-",n.iden,'-',n.prom)
elif opmenu==5:
print("Gracias por utilizar nuestros servicios.")
break
else:
print("No existe esta opcion")

if __name__=="__main__":
main()