// File: /workspace/github_cpp_makefile_star2_O2/DaCasBe[P]Gestion-de-asignaturas-mediante-arboles-binarios-ordenados/funcionesAuxiliares.cpp
// Function: ed::consultarEstudianteDeAsignatura(ed::Asignatura&)
void ed::consultarEstudianteDeAsignatura(ed::Asignatura &asignatura){
	if(asignatura.estaVacia()){ //La asignatura está vacía
		std::cout << std::endl << BIRED << "Error: no hay ningún estudiante cargado" << RESET << std::endl;
	}

	else{ //La asignatura no está vacía
		std::string nombre;
		std::string apellidos;

		//Pedimos al usuario los datos del estudiante a consultar
		std::cout << std::endl << BIYELLOW << "Introduzca el nombre y los apellidos del estudiante" << RESET << std::endl;
		std::cout << IYELLOW << "Nombre: " << RESET;
		getline(std::cin,nombre);
		std::cout << IYELLOW << "Apellidos: " << RESET;
		getline(std::cin,apellidos);

		if(!asignatura.existeEstudiante(nombre,apellidos)){ //No existe el estudiante indicado por el usuario
			std::cout << std::endl << BIRED << "Error: el estudiante " << nombre << " " << apellidos << " no pertenece a la asignatura" << RESET << std::endl;
		}

		else{ //Existe el estudiante indicado por el usuario
			//Mostramos las notas del estudiante
			std::cout << std::endl << BBLUE << "Notas de " << asignatura.getEstudiante(nombre,apellidos).getNombre() << " " << asignatura.getEstudiante(nombre,apellidos).getApellidos() << RESET << std::endl;
			std::cout << BBLUE << "Teoría: " << BLUE << asignatura.getEstudiante(nombre,apellidos).getTeoria() << RESET << std::endl;
			std::cout << BBLUE << "Practíca: " << BLUE << asignatura.getEstudiante(nombre,apellidos).getPractica() << RESET << std::endl;
			std::cout << BBLUE << "Final: " << BLUE << asignatura.getEstudiante(nombre,apellidos).getFinal() << RESET << std::endl;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x4574
movq 0x6a9e(%rip), %rdi      # 0xafd0
callq 0x20d0
leaq 0x34da(%rip), %rsi      # 0x7a18
movq %rax, %rdi
callq 0x2160
leaq 0x351f(%rip), %rsi      # 0x7a6c
movq %rax, %rdi
callq 0x2160
leaq 0x3843(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq %rax, %rdi
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x20d0
leaq -0x40(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0x20(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
movq 0x6a35(%rip), %rdi      # 0xafd0
callq 0x20d0
leaq 0x3469(%rip), %rsi      # 0x7a10
movq %rax, %rdi
callq 0x2160
leaq 0x3688(%rip), %rsi      # 0x7c3e
movq %rax, %rdi
callq 0x2160
leaq 0x37da(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq %rax, %rdi
callq 0x20d0
movq 0x69f4(%rip), %rdi      # 0xafd0
leaq 0x2a25(%rip), %rsi      # 0x7008
callq 0x2160
leaq 0x2a99(%rip), %rsi      # 0x7088
movq %rax, %rdi
callq 0x2160
leaq 0x37a1(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq 0x69d3(%rip), %rdi      # 0xafe0
leaq -0x50(%rbp), %rsi
callq 0x2060
movq 0x69b3(%rip), %rdi      # 0xafd0
leaq 0x29e4(%rip), %rsi      # 0x7008
callq 0x2160
leaq 0x2a69(%rip), %rsi      # 0x7099
movq %rax, %rdi
callq 0x2160
leaq 0x3760(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq 0x6992(%rip), %rdi      # 0xafe0
leaq -0x30(%rbp), %rsi
callq 0x2060
movq (%rbx), %rax
leaq -0x50(%rbp), %rsi
leaq -0x30(%rbp), %rdx
movq %rbx, %rdi
callq *0x20(%rax)
testb %al, %al
je 0x484b
movq 0x6959(%rip), %rdi      # 0xafd0
callq 0x20d0
leaq 0x29fd(%rip), %rsi      # 0x7080
movq %rax, %rdi
callq 0x2160
leaq 0x35fe(%rip), %rsi      # 0x7c90
movq %rax, %rdi
callq 0x2160
movq %rax, %r14
movq (%rbx), %rax
leaq -0x50(%rbp), %rsi
leaq -0x30(%rbp), %rdx
movq %rbx, %rdi
callq *0x28(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq %r14, %rdi
movq %rax, %rsi
callq 0x2140
leaq 0x3147(%rip), %rsi      # 0x7810
movq %rax, %rdi
callq 0x2160
movq %rax, %r14
movq (%rbx), %rax
leaq -0x50(%rbp), %rsi
leaq -0x30(%rbp), %rdx
movq %rbx, %rdi
callq *0x28(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x18(%rcx)
movq %r14, %rdi
movq %rax, %rsi
callq 0x2140
leaq 0x369f(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq %rax, %rdi
callq 0x20d0
movq 0x68b9(%rip), %rdi      # 0xafd0
leaq 0x2962(%rip), %rsi      # 0x7080
callq 0x2160
leaq 0x3570(%rip), %rsi      # 0x7c9a
movq %rax, %rdi
callq 0x2160
leaq 0x2958(%rip), %rsi      # 0x7091
movq %rax, %rdi
callq 0x2160
movq %rax, %r14
movq (%rbx), %rax
leaq -0x50(%rbp), %rsi
leaq -0x30(%rbp), %rdx
movq %rbx, %rdi
callq *0x28(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x20(%rcx)
movq %r14, %rdi
callq 0x2120
leaq 0x3632(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq %rax, %rdi
callq 0x20d0
movq 0x684c(%rip), %rdi      # 0xafd0
leaq 0x28f5(%rip), %rsi      # 0x7080
callq 0x2160
leaq 0x350d(%rip), %rsi      # 0x7ca4
movq %rax, %rdi
callq 0x2160
leaq 0x28eb(%rip), %rsi      # 0x7091
movq %rax, %rdi
callq 0x2160
movq %rax, %r14
movq (%rbx), %rax
leaq -0x50(%rbp), %rsi
leaq -0x30(%rbp), %rdx
movq %rbx, %rdi
callq *0x28(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x28(%rcx)
movq %r14, %rdi
callq 0x2120
leaq 0x35c5(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq %rax, %rdi
callq 0x20d0
movq 0x67df(%rip), %rdi      # 0xafd0
leaq 0x2888(%rip), %rsi      # 0x7080
callq 0x2160
leaq 0x34ac(%rip), %rsi      # 0x7cb0
movq %rax, %rdi
callq 0x2160
leaq 0x287e(%rip), %rsi      # 0x7091
movq %rax, %rdi
callq 0x2160
movq %rax, %r14
movq (%rbx), %rax
leaq -0x50(%rbp), %rsi
leaq -0x30(%rbp), %rdx
movq %rbx, %rdi
callq *0x28(%rax)
movss 0x48(%rax), %xmm0
addss 0x4c(%rax), %xmm0
mulss 0x27c3(%rip), %xmm0     # 0x7004
movq %r14, %rdi
callq 0x2120
jmp 0x48ab
movq 0x677e(%rip), %rdi      # 0xafd0
callq 0x20d0
leaq 0x31ba(%rip), %rsi      # 0x7a18
movq %rax, %rdi
callq 0x2160
leaq 0x36ac(%rip), %rsi      # 0x7f19
movq %rax, %rdi
callq 0x2160
leaq -0x50(%rbp), %rsi
movq %rax, %rdi
callq 0x2140
leaq 0x2f88(%rip), %rsi      # 0x7810
movq %rax, %rdi
callq 0x2160
leaq -0x30(%rbp), %rsi
movq %rax, %rdi
callq 0x2140
leaq 0x33cf(%rip), %rsi      # 0x7c72
movq %rax, %rdi
callq 0x2160
leaq 0x34ed(%rip), %rsi      # 0x7d9f
movq %rax, %rdi
callq 0x2160
movq %rax, %rdi
callq 0x20d0
leaq -0x30(%rbp), %rdi
callq 0x2190
leaq -0x50(%rbp), %rdi
callq 0x2190
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
jmp 0x48ee
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x2190
leaq -0x50(%rbp), %rdi
callq 0x2190
movq %rbx, %rdi
callq 0x2230
movq %rax, %rdi
callq 0x3298