// File: /workspace/github_cpp_makefile_star2_O2/viniciu21[P]PetLolja/./src/PetFera.cpp
// Function: Petfera::cadastrarAnimal()
void Petfera::cadastrarAnimal()
{
	short escolhaTipo;
	string escolha_str;

	cout << "\nOpcao Escolhida: Animal\n"
			 << endl;
	cout << "Escolha abaixo o tipo de animal para cadastro: \n"
			 << endl;
	cout << " 1 - Cadastrar Anfibio" << endl;
	cout << " 2 - Cadastrar Mamifero" << endl;
	cout << " 3 - Cadastrar Ave" << endl;
	cout << " 4 - Cadastrar Reptil" << endl;
	cout << " 5 - Voltar para o menu" << endl;

	cin >> escolha_str;
	stringstream ss;
	ss << escolha_str;
	ss >> escolhaTipo;

	switch (escolhaTipo)
	{
	case 1:
		cout << "cadastrando Anfibio"
				 << "\n";
		cadastrarAnfibio();
		break;
	case 2:
		cout << "cadastrando Mamifero"
				 << "\n";
		cadastrarMamifero();
		break;
	case 3:
		cout << "cadastrando Ave"
				 << "\n";
		cadastrarAve();
		break;
	case 4:
		cout << "cadastrando Reptil"
				 << "\n";
		cadastrarReptil();
		break;

	case 5:

		inicio();

		break;

	default:

		cout << "\033[1;33m"
				 << "Nao temos essa Opcao, Escolha de 1-5"
				 << "\033[0m"
				 << "\n";
		cadastrarAnimal();

		break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdi, %rbx
leaq -0x20(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x23d0c(%rip), %rdi     # 0x2efc8
leaq 0x151ed(%rip), %rsi     # 0x204b0
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x23cf1(%rip), %rdi     # 0x2efc8
leaq 0x151ec(%rip), %rsi     # 0x204ca
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x23cd6(%rip), %rdi     # 0x2efc8
leaq 0x15202(%rip), %rsi     # 0x204fb
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x23cbb(%rip), %rdi     # 0x2efc8
leaq 0x151fe(%rip), %rsi     # 0x20512
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x23ca0(%rip), %rdi     # 0x2efc8
leaq 0x151fb(%rip), %rsi     # 0x2052a
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x23c85(%rip), %rdi     # 0x2efc8
leaq 0x151f3(%rip), %rsi     # 0x2053d
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x23c6a(%rip), %rdi     # 0x2efc8
leaq 0x151ee(%rip), %rsi     # 0x20553
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x23c67(%rip), %rdi     # 0x2efe0
leaq -0x30(%rbp), %rsi
callq 0x41f0
leaq -0x1b8(%rbp), %rdi
callq 0x4140
leaq -0x1a8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4190
leaq -0x1b8(%rbp), %rdi
leaq -0xa(%rbp), %rsi
callq 0x4040
movzwl -0xa(%rbp), %eax
decl %eax
cmpl $0x4, %eax
ja 0xb490
leaq 0x14454(%rip), %rcx     # 0x1f818
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x23bf4(%rip), %rdi     # 0x2efc8
leaq 0x15190(%rip), %rsi     # 0x2056b
callq 0x41a0
leaq 0x1462a(%rip), %rsi     # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0x11854
jmp 0xb4d8
movq %rbx, %rdi
callq 0xadc2
jmp 0xb4d8
movq 0x23bb8(%rip), %rdi     # 0x2efc8
leaq 0x1517d(%rip), %rsi     # 0x20594
callq 0x41a0
leaq 0x145ee(%rip), %rsi     # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0x11c42
jmp 0xb4d8
movq 0x23b89(%rip), %rdi     # 0x2efc8
leaq 0x1515e(%rip), %rsi     # 0x205a4
callq 0x41a0
leaq 0x145bf(%rip), %rsi     # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0x11e7e
jmp 0xb4d8
movq 0x23b5d(%rip), %rdi     # 0x2efc8
leaq 0x1510d(%rip), %rsi     # 0x2057f
callq 0x41a0
leaq 0x14593(%rip), %rsi     # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0x11a8e
jmp 0xb4d8
movq 0x23b31(%rip), %rdi     # 0x2efc8
leaq 0x14862(%rip), %rsi     # 0x1fd00
callq 0x41a0
leaq 0x1510d(%rip), %rsi     # 0x205b7
movq %rax, %rdi
callq 0x41a0
leaq 0x14875(%rip), %rsi     # 0x1fd2e
movq %rax, %rdi
callq 0x41a0
leaq 0x14549(%rip), %rsi     # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0xb296
leaq -0x1b8(%rbp), %rdi
callq 0x4150
leaq -0x30(%rbp), %rdi
callq 0x40e0
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %rbp
retq
jmp 0xb50a
movq %rax, %rbx
leaq -0x1b8(%rbp), %rdi
callq 0x4150
jmp 0xb50d
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x40e0
movq %rbx, %rdi
callq 0x42c0