// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x4779
movq 0x88f0(%rip), %rbx      # 0xcfd0
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 %rax, %rbx
leaq 0x5317(%rip), %rsi      # 0x9a28
movl $0x7, %edx
movq %rax, %rdi
callq 0x2190
leaq 0x5357(%rip), %rsi      # 0x9a7c
movl $0x28, %edx
movq %rbx, %rdi
callq 0x2190
leaq 0x5676(%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
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x2100
leaq -0x30(%rbp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movq 0x8839(%rip), %rdi      # 0xcfd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq 0x881e(%rip), %r14      # 0xcfd0
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq %rax, %r15
leaq 0x5254(%rip), %rsi      # 0x9a20
movl $0x7, %edx
movq %rax, %rdi
callq 0x2190
leaq 0x52c5(%rip), %rsi      # 0x9aa5
movl $0x41, %edx
movq %r15, %rdi
callq 0x2190
leaq 0x55bb(%rip), %rsi      # 0x9daf
movl $0x4, %edx
movq %r15, %rdi
callq 0x2190
movq 0x87d8(%rip), %rdi      # 0xcfe0
leaq -0x40(%rbp), %rsi
callq 0x21a0
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0x3c72
movq (%r14), %rcx
addq -0x18(%rcx), %r14
testb %al, %al
je 0x48c7
movq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq 0x878d(%rip), %rdi      # 0xcfd0
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq %rax, %rbx
leaq 0x51f9(%rip), %rsi      # 0x9a53
movl $0x7, %edx
movq %rax, %rdi
callq 0x2190
leaq 0x5279(%rip), %rsi      # 0x9ae7
movl $0x20, %edx
movq %rbx, %rdi
callq 0x2190
leaq 0x552d(%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 0x8723(%rip), %rdi      # 0xcfe0
callq 0x2250
jmp 0x497b
movq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq 0x86f2(%rip), %rdi      # 0xcfd0
callq 0x2030
movq %rax, %rdi
callq 0x2100
movq %rax, %rbx
movq (%rax), %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 %rax, %rbx
leaq 0x5109(%rip), %rsi      # 0x9a28
movl $0x7, %edx
movq %rax, %rdi
callq 0x2190
leaq 0x50fd(%rip), %rsi      # 0x9a30
movl $0x22, %edx
movq %rbx, %rdi
callq 0x2190
leaq 0x5468(%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 -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x4989
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 0x49a7
callq 0x2140
movq %rbx, %rdi
callq 0x2230