// File: DaCasBe[P]Gestion-de-asignaturas-mediante-arboles-binarios-ordenados/funcionesAuxiliares.cpp
// Function: ed::grabarAsignatura(ed::Asignatura&)
void ed::grabarAsignatura(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 nombreFichero;

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

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

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb $0x1, %al
jne 0x5adf
jmp 0x5b33
movq 0x94ea(%rip), %rdi      # 0xefd0
movq 0x94d3(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, %rdi
leaq 0x5138(%rip), %rsi      # 0xac34
callq 0x21a0
movq %rax, %rdi
leaq 0x517d(%rip), %rsi      # 0xac88
callq 0x21a0
movq %rax, %rdi
leaq 0x54a1(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, %rdi
movq 0x9497(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x5d08
leaq -0x28(%rbp), %rdi
callq 0x2220
movq 0x948d(%rip), %rdi      # 0xefd0
movq 0x9476(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x40(%rbp)
jmp 0x5b55
movq -0x40(%rbp), %rdi
leaq 0x50cc(%rip), %rsi      # 0xac2c
callq 0x21a0
movq %rax, -0x48(%rbp)
jmp 0x5b6b
movq -0x48(%rbp), %rdi
leaq 0x513b(%rip), %rsi      # 0xacb1
callq 0x21a0
movq %rax, -0x50(%rbp)
jmp 0x5b81
movq -0x50(%rbp), %rdi
leaq 0x542f(%rip), %rsi      # 0xafbb
callq 0x21a0
jmp 0x5b93
movq 0x9446(%rip), %rdi      # 0xefe0
leaq -0x28(%rbp), %rsi
callq 0x21f0
jmp 0x5ba5
movq -0x8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4ee0
movb %al, -0x51(%rbp)
jmp 0x5bb7
movb -0x51(%rbp), %al
testb $0x1, %al
jne 0x5c66
jmp 0x5bc4
movq 0x9405(%rip), %rdi      # 0xefd0
movq 0x93ee(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x60(%rbp)
jmp 0x5bdd
movq -0x60(%rbp), %rdi
movq 0x93d8(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x68(%rbp)
jmp 0x5bf3
movq -0x68(%rbp), %rdi
leaq 0x5036(%rip), %rsi      # 0xac34
callq 0x21a0
movq %rax, -0x70(%rbp)
jmp 0x5c09
movq -0x70(%rbp), %rdi
leaq 0x5028(%rip), %rsi      # 0xac3c
callq 0x21a0
movq %rax, -0x78(%rbp)
jmp 0x5c1f
movq -0x78(%rbp), %rdi
leaq 0x5391(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0x80(%rbp)
jmp 0x5c35
movq -0x80(%rbp), %rdi
movq 0x9380(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x5c47
jmp 0x5cfb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2120
jmp 0x5d06
movq 0x9363(%rip), %rdi      # 0xefd0
movq 0x934c(%rip), %rsi      # 0xefc0
callq 0x21c0
movq %rax, -0x88(%rbp)
jmp 0x5c82
movq -0x88(%rbp), %rdi
leaq 0x4fcf(%rip), %rsi      # 0xac5f
callq 0x21a0
movq %rax, -0x90(%rbp)
jmp 0x5c9e
movq -0x90(%rbp), %rdi
leaq 0x5047(%rip), %rsi      # 0xacf3
callq 0x21a0
movq %rax, -0x98(%rbp)
jmp 0x5cba
movq -0x98(%rbp), %rdi
leaq 0x52f3(%rip), %rsi      # 0xafbb
callq 0x21a0
movq %rax, -0xa0(%rbp)
jmp 0x5cd6
movq -0xa0(%rbp), %rdi
movq 0x92dc(%rip), %rsi      # 0xefc0
callq 0x21c0
jmp 0x5ceb
movq 0x92ee(%rip), %rdi      # 0xefe0
callq 0x22d0
jmp 0x5cf9
jmp 0x5cfb
leaq -0x28(%rbp), %rdi
callq 0x2120
jmp 0x5d08
jmp 0x5d11
addq $0xa0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x22b0
movq %rax, %rdi
callq 0x45c0
nopw %cs:(%rax,%rax)