// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
jne 0x42c8
movq %rbx, %rdi
callq 0x44e2
leaq -0x30(%rbp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movq 0x8cea(%rip), %rdi      # 0xcfd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq 0x8ccf(%rip), %r14      # 0xcfd0
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq %rax, %r15
leaq 0x56db(%rip), %rsi      # 0x99f6
movl $0x7, %edx
movq %rax, %rdi
callq 0x2190
leaq 0x56cf(%rip), %rsi      # 0x99fe
movl $0x21, %edx
movq %r15, %rdi
callq 0x2190
leaq 0x56dd(%rip), %rsi      # 0x9a20
movl $0x7, %edx
movq %r15, %rdi
callq 0x2190
leaq 0x576f(%rip), %rsi      # 0x9ac6
movl $0x20, %edx
movq %r15, %rdi
callq 0x2190
leaq 0x5a44(%rip), %rsi      # 0x9daf
movl $0x4, %edx
movq %r15, %rdi
callq 0x2190
movq 0x8c61(%rip), %rdi      # 0xcfe0
leaq -0x40(%rbp), %rsi
callq 0x21a0
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0x3940
movq (%r14), %rcx
addq -0x18(%rcx), %r14
testb %al, %al
je 0x4418
movq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq 0x8c1a(%rip), %rdi      # 0xcfd0
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq %rax, %rbx
leaq 0x5686(%rip), %rsi      # 0x9a53
movl $0x7, %edx
movq %rax, %rdi
callq 0x2190
leaq 0x567a(%rip), %rsi      # 0x9a5b
movl $0x20, %edx
movq %rbx, %rdi
callq 0x2190
leaq 0x59ba(%rip), %rsi      # 0x9daf
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2190
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2150
jmp 0x448f
movq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq 0x8ba1(%rip), %rdi      # 0xcfd0
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq %rax, %rbx
leaq 0x55e2(%rip), %rsi      # 0x9a28
movl $0x7, %edx
movq %rax, %rdi
callq 0x2190
leaq 0x55d6(%rip), %rsi      # 0x9a30
movl $0x22, %edx
movq %rbx, %rdi
callq 0x2190
leaq 0x5941(%rip), %rsi      # 0x9daf
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2190
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq 0x8b37(%rip), %rdi      # 0xcfe0
callq 0x2250
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x44bc
callq 0x2140
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x44da
callq 0x2140
movq %rbx, %rdi
callq 0x2230