// File: DaCasBe[P]Gestion-de-asignaturas-mediante-arboles-binarios-ordenados/funcionesAuxiliares.cpp
// Function: ed::cargarAsignatura(ed::Asignatura&)
void ed::cargarAsignatura(ed::Asignatura &asignatura){
	if(!asignatura.estaVacia()){ //La asignatura no está vacía
		borrarAsignatura(asignatura); //Borramos la asignatura
	}

	std::string nombreFichero;

	//Pedimos al usuario el nombre del fichero con la información de la asignatura a cargar
	std::cout << std::endl << YELLOW << "Introduzca el nombre del fichero " << BIYELLOW << "(no olvide la extensión .txt): " << RESET;
	std::cin >> nombreFichero;

	if(!asignatura.cargarFichero(nombreFichero)){ //No se ha podido cargar la asignatura
		std::cout << std::endl << BIRED << "Error: no se pudo abrir el fichero" << RESET << std::endl;
		std::cin.ignore();
	}

	else{ //Se ha podido cargar la asignatura
		std::cout << std::endl << CYAN << "Asignatura cargada correctamente" << RESET << std::endl;
		std::cin.ignore();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb $0x1, %al
jne 0x5776
movq -0x8(%rbp), %rdi
callq 0x5990
leaq -0x28(%rbp), %rdi
callq 0x2220
movq 0x984a(%rip), %rdi      # 0xefd0
movq 0x9833(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x40(%rbp)
jmp 0x5798
movq -0x40(%rbp), %rdi
leaq 0x545f(%rip), %rsi      # 0xac02
callq 0x21a0
movq %rax, -0x48(%rbp)
jmp 0x57ae
movq -0x48(%rbp), %rdi
leaq 0x5451(%rip), %rsi      # 0xac0a
callq 0x21a0
movq %rax, -0x50(%rbp)
jmp 0x57c4
movq -0x50(%rbp), %rdi
leaq 0x545d(%rip), %rsi      # 0xac2c
callq 0x21a0
movq %rax, -0x58(%rbp)
jmp 0x57da
movq -0x58(%rbp), %rdi
leaq 0x54ed(%rip), %rsi      # 0xacd2
callq 0x21a0
movq %rax, -0x60(%rbp)
jmp 0x57f0
movq -0x60(%rbp), %rdi
leaq 0x57c0(%rip), %rsi      # 0xafbb
callq 0x21a0
jmp 0x5802
movq 0x97d7(%rip), %rdi      # 0xefe0
leaq -0x28(%rbp), %rsi
callq 0x21f0
jmp 0x5814
movq -0x8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4ab0
movb %al, -0x61(%rbp)
jmp 0x5826
movb -0x61(%rbp), %al
testb $0x1, %al
jne 0x58d3
jmp 0x5833
movq 0x9796(%rip), %rdi      # 0xefd0
movq 0x977f(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x70(%rbp)
jmp 0x584c
movq -0x70(%rbp), %rdi
leaq 0x53dd(%rip), %rsi      # 0xac34
callq 0x21a0
movq %rax, -0x78(%rbp)
jmp 0x5862
movq -0x78(%rbp), %rdi
leaq 0x53cf(%rip), %rsi      # 0xac3c
callq 0x21a0
movq %rax, -0x80(%rbp)
jmp 0x5878
movq -0x80(%rbp), %rdi
leaq 0x5738(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0x88(%rbp)
jmp 0x5891
movq -0x88(%rbp), %rdi
movq 0x9721(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x58a6
movq 0x9733(%rip), %rdi      # 0xefe0
callq 0x22d0
jmp 0x58b4
jmp 0x5968
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2120
jmp 0x597a
movq 0x96f6(%rip), %rdi      # 0xefd0
movq 0x96df(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x90(%rbp)
jmp 0x58ef
movq -0x90(%rbp), %rdi
leaq 0x5362(%rip), %rsi      # 0xac5f
callq 0x21a0
movq %rax, -0x98(%rbp)
jmp 0x590b
movq -0x98(%rbp), %rdi
leaq 0x534e(%rip), %rsi      # 0xac67
callq 0x21a0
movq %rax, -0xa0(%rbp)
jmp 0x5927
movq -0xa0(%rbp), %rdi
leaq 0x5686(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0xa8(%rbp)
jmp 0x5943
movq -0xa8(%rbp), %rdi
movq 0x966f(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x5958
movq 0x9681(%rip), %rdi      # 0xefe0
callq 0x22d0
jmp 0x5966
jmp 0x5968
leaq -0x28(%rbp), %rdi
callq 0x2120
addq $0xb0, %rsp
popq %rbp
retq
jmp 0x597c
movq -0x30(%rbp), %rdi
callq 0x22b0
movq %rax, %rdi
callq 0x45c0
nopl (%rax)