// File: DaCasBe[P]Gestion-de-asignaturas-mediante-listas-doblemente-enlazadas-ordenadas/funcionesAuxiliares.cpp
// Function: ed::grabarAsignatura(ed::Asignatura&)
void ed::grabarAsignatura(ed::Asignatura  &asignatura){
  std::string nombreFichero;

  std::cout << PURPLE << "Introduce el nombre del fichero " << BPURPLE << "(no olvides la extension .txt): " << RESET;
  std::cin >> nombreFichero;

  if(asignatura.estaVacia()){ //La asignatura esta vacia
	std::cout << std::endl << ONIRED << "Error: no hay ninguna asignatura cargada" << RESET << std::endl;
	std::cin.ignore();
  }

  else{ //La asignatura no esta vacia
	if(asignatura.grabarFichero(nombreFichero)){ //Se ha grabado la asignatura en el fichero
		std::cout << std::endl << ICYAN << "Asignatura grabada correctamente" << RESET << std::endl;
		std::cin.ignore();
	}
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3220
movq 0x9211(%rip), %rdi      # 0xffd0
leaq 0x528b(%rip), %rsi      # 0xc051
callq 0x31a0
movq %rax, -0x40(%rbp)
jmp 0x6dd1
movq -0x40(%rbp), %rdi
leaq 0x527d(%rip), %rsi      # 0xc059
callq 0x31a0
movq %rax, -0x48(%rbp)
jmp 0x6de7
movq -0x48(%rbp), %rdi
leaq 0x5288(%rip), %rsi      # 0xc07a
callq 0x31a0
movq %rax, -0x50(%rbp)
jmp 0x6dfd
movq -0x50(%rbp), %rdi
leaq 0x527a(%rip), %rsi      # 0xc082
callq 0x31a0
movq %rax, -0x58(%rbp)
jmp 0x6e13
movq -0x58(%rbp), %rdi
leaq 0x4210(%rip), %rsi      # 0xb02e
callq 0x31a0
jmp 0x6e25
movq 0x91b4(%rip), %rdi      # 0xffe0
leaq -0x28(%rbp), %rsi
callq 0x31f0
jmp 0x6e37
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movb %al, -0x59(%rbp)
jmp 0x6e49
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x6e55
jmp 0x6eef
movq 0x9174(%rip), %rdi      # 0xffd0
movq 0x915d(%rip), %rsi      # 0xffc0
callq 0x31c0
movq %rax, -0x68(%rbp)
jmp 0x6e6e
movq -0x68(%rbp), %rdi
leaq 0x4e8b(%rip), %rsi      # 0xbd04
callq 0x31a0
movq %rax, -0x70(%rbp)
jmp 0x6e84
movq -0x70(%rbp), %rdi
leaq 0x523d(%rip), %rsi      # 0xc0cc
callq 0x31a0
movq %rax, -0x78(%rbp)
jmp 0x6e9a
movq -0x78(%rbp), %rdi
leaq 0x4189(%rip), %rsi      # 0xb02e
callq 0x31a0
movq %rax, -0x80(%rbp)
jmp 0x6eb0
movq -0x80(%rbp), %rdi
movq 0x9105(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x6ec2
movq 0x9117(%rip), %rdi      # 0xffe0
callq 0x32d0
jmp 0x6ed0
jmp 0x6faa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3120
jmp 0x6fbc
movq -0x8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x6100
movb %al, -0x81(%rbp)
jmp 0x6f04
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x6f13
jmp 0x6fa8
movq 0x90b6(%rip), %rdi      # 0xffd0
movq 0x909f(%rip), %rsi      # 0xffc0
callq 0x31c0
movq %rax, -0x90(%rbp)
jmp 0x6f2f
movq -0x90(%rbp), %rdi
leaq 0x5166(%rip), %rsi      # 0xc0a3
callq 0x31a0
movq %rax, -0x98(%rbp)
jmp 0x6f4b
movq -0x98(%rbp), %rdi
leaq 0x519c(%rip), %rsi      # 0xc0f5
callq 0x31a0
movq %rax, -0xa0(%rbp)
jmp 0x6f67
movq -0xa0(%rbp), %rdi
leaq 0x40b9(%rip), %rsi      # 0xb02e
callq 0x31a0
movq %rax, -0xa8(%rbp)
jmp 0x6f83
movq -0xa8(%rbp), %rdi
movq 0x902f(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x6f98
movq 0x9041(%rip), %rdi      # 0xffe0
callq 0x32d0
jmp 0x6fa6
jmp 0x6fa8
jmp 0x6faa
leaq -0x28(%rbp), %rdi
callq 0x3120
addq $0xb0, %rsp
popq %rbp
retq
jmp 0x6fbe
movq -0x30(%rbp), %rdi
callq 0x32b0
movq %rax, %rdi
callq 0x5040
nop