// File: DaCasBe[P]Gestion-de-asignaturas-mediante-arboles-binarios-ordenados/funcionesAuxiliares.cpp
// Function: ed::insertarEstudianteEnAsignatura(ed::Asignatura&)
void ed::insertarEstudianteEnAsignatura(ed::Asignatura &asignatura){
	ed::Estudiante estudiante;

	std::cout << std::endl << BIYELLOW << "Introduzca los datos del estudiante" << RESET << std::endl;
	estudiante.leerEstudiante(); //Pedimos al usuario la información del estudiante a insertar

	if(!asignatura.existeEstudiante(estudiante)){ //No existe el estudiante indicado por el usuario
		if(!asignatura.insertarEstudiante(estudiante)){ //No se ha podido insertar el estudiante
			std::cout << std::endl << BIRED << "Error: no se ha podido insertar el estudiante indicado" << RESET << std::endl;
		}

		else{ //Se ha podido insertar el estudiante
			std::cout << std::endl << CYAN << "Estudiante insertado correctamente" << RESET << std::endl;
		}
	}

	else{ //Existe el estudiante indicado por el usuario
		std::cout << std::endl << BIRED << "Error: ya existe el estudiante indicado" << RESET << std::endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x8(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x22c0
movq -0xc0(%rbp), %rdx
leaq 0x3d60(%rip), %rsi      # 0xaa2d
leaq -0x78(%rbp), %rdi
callq 0x2210
jmp 0x6cd8
leaq -0xb1(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x22c0
movq -0xc8(%rbp), %rdx
leaq 0x3d34(%rip), %rsi      # 0xaa2d
leaq -0xb0(%rbp), %rdi
callq 0x2210
jmp 0x6d07
leaq -0x58(%rbp), %rdi
leaq -0x78(%rbp), %rsi
leaq -0xb0(%rbp), %rdx
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x50d0
jmp 0x6d23
leaq -0xb0(%rbp), %rdi
callq 0x2120
jmp 0x6d31
leaq -0xb1(%rbp), %rdi
callq 0x21d0
leaq -0x78(%rbp), %rdi
callq 0x2120
jmp 0x6d48
leaq -0x79(%rbp), %rdi
callq 0x21d0
movq 0x8278(%rip), %rdi      # 0xefd0
movq 0x8261(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0xd0(%rbp)
jmp 0x6d6d
movq -0xd0(%rbp), %rdi
leaq 0x3eb1(%rip), %rsi      # 0xac2c
callq 0x21a0
movq %rax, -0xd8(%rbp)
jmp 0x6d89
movq -0xd8(%rbp), %rdi
leaq 0x413d(%rip), %rsi      # 0xaed4
callq 0x21a0
movq %rax, -0xe0(%rbp)
jmp 0x6da5
movq -0xe0(%rbp), %rdi
leaq 0x4208(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0xe8(%rbp)
jmp 0x6dc1
movq -0xe8(%rbp), %rdi
movq 0x81f1(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x6dd6
leaq -0x58(%rbp), %rdi
callq 0x2530
jmp 0x6de1
movq -0x8(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x52f0
movb %al, -0xe9(%rbp)
jmp 0x6df6
movb -0xe9(%rbp), %al
testb $0x1, %al
jne 0x6fd2
jmp 0x6e06
movq -0x8(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x51f0
movb %al, -0xea(%rbp)
jmp 0x6e1b
movb -0xea(%rbp), %al
testb $0x1, %al
jne 0x6f46
jmp 0x6e2b
movq 0x819e(%rip), %rdi      # 0xefd0
movq 0x8187(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0xf8(%rbp)
jmp 0x6e47
movq -0xf8(%rbp), %rdi
leaq 0x3ddf(%rip), %rsi      # 0xac34
callq 0x21a0
movq %rax, -0x100(%rbp)
jmp 0x6e63
movq -0x100(%rbp), %rdi
leaq 0x4087(%rip), %rsi      # 0xaef8
callq 0x21a0
movq %rax, -0x108(%rbp)
jmp 0x6e7f
movq -0x108(%rbp), %rdi
leaq 0x412e(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0x110(%rbp)
jmp 0x6e9b
movq -0x110(%rbp), %rdi
movq 0x8117(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x6eb0
jmp 0x6fcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x6f18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x6eff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x2120
jmp 0x6efd
jmp 0x6eff
leaq -0xb1(%rbp), %rdi
callq 0x21d0
leaq -0x78(%rbp), %rdi
callq 0x2120
jmp 0x6f16
jmp 0x6f18
leaq -0x79(%rbp), %rdi
callq 0x21d0
jmp 0x706d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x43d0
jmp 0x706b
movq 0x8083(%rip), %rdi      # 0xefd0
movq 0x806c(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x118(%rbp)
jmp 0x6f62
movq -0x118(%rbp), %rdi
leaq 0x3cef(%rip), %rsi      # 0xac5f
callq 0x21a0
movq %rax, -0x120(%rbp)
jmp 0x6f7e
movq -0x120(%rbp), %rdi
leaq 0x3fa3(%rip), %rsi      # 0xaf2f
callq 0x21a0
movq %rax, -0x128(%rbp)
jmp 0x6f9a
movq -0x128(%rbp), %rdi
leaq 0x4013(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0x130(%rbp)
jmp 0x6fb6
movq -0x130(%rbp), %rdi
movq 0x7ffc(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x6fcb
jmp 0x6fcd
jmp 0x7059
movq 0x7ff7(%rip), %rdi      # 0xefd0
movq 0x7fe0(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x138(%rbp)
jmp 0x6fee
movq -0x138(%rbp), %rdi
leaq 0x3c38(%rip), %rsi      # 0xac34
callq 0x21a0
movq %rax, -0x140(%rbp)
jmp 0x700a
movq -0x140(%rbp), %rdi
leaq 0x3f3a(%rip), %rsi      # 0xaf52
callq 0x21a0
movq %rax, -0x148(%rbp)
jmp 0x7026
movq -0x148(%rbp), %rdi
leaq 0x3f87(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0x150(%rbp)
jmp 0x7042
movq -0x150(%rbp), %rdi
movq 0x7f70(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x7057
jmp 0x7059
leaq -0x58(%rbp), %rdi
callq 0x43d0
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
jmp 0x706d
movq -0x88(%rbp), %rdi
callq 0x22b0
movq %rax, %rdi
callq 0x45c0
nopw %cs:(%rax,%rax)