// File: hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::search()
void People::search()
{
		Person *p;
		People p1;
		char t;
		char name[32];
		char type[32];
		int id,flag;
		while(1)
		{
				cout << "\t\t\t\t\t1:by the name." << endl << "\t\t\t\t\t2:by the number." << endl << "\t\t\t\t\t3:search the type" << endl << "\t\t\t\t\t4:exit" << endl << "\t\t\t\t\tplease choice the search way:" ;
				cin >> flag;
				switch(flag)
				{
						case 1:
								cout << "\t\t\t\t\tplease input the name:" ;
								cin >> name;
								p=searchName(name);
								if(p==NULL)
								{
										cout << "\t\t\t\t\tsearch failed" << endl ;
										break;
								}
								else
								{
										cout << "\t\t\t\t\tsearch success!" << endl;
										p->show();
										getchar();
										cout << "\t\t\t\t\tdo you want to change it?(y/n)";
										t=getchar();
										if(t=='n')
												return ;
										else
												p->changeInfo();
												break;
								}
						case 2:
								cout << "\t\t\t\t\tplease input the id:" ;
								cin >> id;
								p=searchNumber(id);
								if(p==NULL)
								{
										cout << "\t\t\t\t\tsearch failed!" << endl;
										break;
								}
								else
								{
										cout << "\t\t\t\t\tsearch success!" << endl;
										p->show();
										getchar();
										cout << "\t\t\t\t\tdo you want to change it?(y/n)";
										t=getchar();
										if(t=='n')
												return ;
										else
												p->changeInfo();
												break;
								}
						case 3:
								cout << "\t\t\t\t\t1:admin" << endl << "\t\t\t\t\t2:inpeople" << endl << "\t\t\t\t\t3:outpeople" << endl << "\t\t\t\t\t4:commonpeople" << endl << "\t\t\t\t\t5:exit" << endl << "\t\t\t\t\tplease input your choice:" ;
								cin >> flag;
								switch(flag)
								{
										case 1://type="Admin";
											   strcpy(type,"admin");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 2://type="InPeople";
											   strcpy(type,"InPeople");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 3://type="OutPeople";
											   strcpy(type,"OutPeople");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 4://type="CommonPeople";
											   strcpy(type,"CommonPeople");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 5:break;
										default:cout << "\t\t\t\t\tinput error!" << endl;
												break;
								}break;
						case 4:return ;

						default:
								cout << "\t\t\t\t\tinput error!" << endl;
								break;
				}		
		/*		cout << "continue?(y/n)" ;
				getchar();
				if((getchar())=='n')
						return ;    */
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2b10
jmp 0x43f5
movq 0x10bd4(%rip), %rdi     # 0x14fd0
leaq 0x9e8c(%rip), %rsi      # 0xe28f
callq 0x21e0
movq %rax, -0xf8(%rbp)
jmp 0x4411
movq -0xf8(%rbp), %rdi
movq 0x10ba1(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x100(%rbp)
jmp 0x442d
movq -0x100(%rbp), %rdi
leaq 0x9f0c(%rip), %rsi      # 0xe347
callq 0x21e0
movq %rax, -0x108(%rbp)
jmp 0x4449
movq -0x108(%rbp), %rdi
movq 0x10b69(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x110(%rbp)
jmp 0x4465
movq -0x110(%rbp), %rdi
leaq 0x9eea(%rip), %rsi      # 0xe35d
callq 0x21e0
movq %rax, -0x118(%rbp)
jmp 0x4481
movq -0x118(%rbp), %rdi
movq 0x10b31(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x120(%rbp)
jmp 0x449d
movq -0x120(%rbp), %rdi
leaq 0x9d58(%rip), %rsi      # 0xe203
callq 0x21e0
movq %rax, -0x128(%rbp)
jmp 0x44b9
movq -0x128(%rbp), %rdi
movq 0x10af9(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x130(%rbp)
jmp 0x44d5
movq -0x130(%rbp), %rdi
leaq 0x9e91(%rip), %rsi      # 0xe374
callq 0x21e0
jmp 0x44ea
movq 0x10aef(%rip), %rdi     # 0x14fe0
leaq -0x78(%rbp), %rsi
callq 0x20f0
jmp 0x44fc
movl -0x78(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x138(%rbp)
subl $0x3, %eax
ja 0x4ae4
movq -0x138(%rbp), %rax
leaq 0x9af3(%rip), %rcx      # 0xe014
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5830
jmp 0x4b2e
movq 0x10a82(%rip), %rdi     # 0x14fd0
leaq 0x9bae(%rip), %rsi      # 0xe103
callq 0x21e0
jmp 0x455c
movq 0x10a7d(%rip), %rdi     # 0x14fe0
leaq -0x50(%rbp), %rsi
callq 0x5510
jmp 0x456e
movq -0xf0(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x3a30
movq %rax, -0x140(%rbp)
jmp 0x4587
movq -0x140(%rbp), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x45cf
movq 0x10a30(%rip), %rdi     # 0x14fd0
leaq 0x9df0(%rip), %rsi      # 0xe397
callq 0x21e0
movq %rax, -0x148(%rbp)
jmp 0x45b5
movq -0x148(%rbp), %rdi
movq 0x109fd(%rip), %rsi     # 0x14fc0
callq 0x2210
jmp 0x45ca
jmp 0x4b17
movq 0x109fa(%rip), %rdi     # 0x14fd0
leaq 0x9dcd(%rip), %rsi      # 0xe3aa
callq 0x21e0
movq %rax, -0x150(%rbp)
jmp 0x45eb
movq -0x150(%rbp), %rdi
movq 0x109c7(%rip), %rsi     # 0x14fc0
callq 0x2210
jmp 0x4600
movq -0x10(%rbp), %rdi
callq 0x2d90
jmp 0x460b
callq 0x22a0
jmp 0x4612
movq 0x109b7(%rip), %rdi     # 0x14fd0
leaq 0x9d9f(%rip), %rsi      # 0xe3bf
callq 0x21e0
jmp 0x4627
callq 0x22a0
movl %eax, -0x154(%rbp)
jmp 0x4634
movl -0x154(%rbp), %eax
movb %al, -0x29(%rbp)
movsbl -0x29(%rbp), %eax
cmpl $0x6e, %eax
jne 0x4655
movl $0x1, -0x88(%rbp)
jmp 0x4b1c
movq -0x10(%rbp), %rdi
callq 0x2ca0
jmp 0x4660
jmp 0x4662
jmp 0x4b17
movq 0x10962(%rip), %rdi     # 0x14fd0
leaq 0x9d6e(%rip), %rsi      # 0xe3e3
callq 0x21e0
jmp 0x467c
movq 0x1095d(%rip), %rdi     # 0x14fe0
leaq -0x74(%rbp), %rsi
callq 0x20f0
jmp 0x468e
movq -0xf0(%rbp), %rdi
leaq -0x74(%rbp), %rsi
callq 0x3980
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x46df
movq 0x10920(%rip), %rdi     # 0x14fd0
leaq 0x9d46(%rip), %rsi      # 0xe3fd
callq 0x21e0
movq %rax, -0x160(%rbp)
jmp 0x46c5
movq -0x160(%rbp), %rdi
movq 0x108ed(%rip), %rsi     # 0x14fc0
callq 0x2210
jmp 0x46da
jmp 0x4b17
movq 0x108ea(%rip), %rdi     # 0x14fd0
leaq 0x9cbd(%rip), %rsi      # 0xe3aa
callq 0x21e0
movq %rax, -0x168(%rbp)
jmp 0x46fb
movq -0x168(%rbp), %rdi
movq 0x108b7(%rip), %rsi     # 0x14fc0
callq 0x2210
jmp 0x4710
movq -0x10(%rbp), %rdi
callq 0x2d90
jmp 0x471b
callq 0x22a0
jmp 0x4722
movq 0x108a7(%rip), %rdi     # 0x14fd0
leaq 0x9c8f(%rip), %rsi      # 0xe3bf
callq 0x21e0
jmp 0x4737
callq 0x22a0
movl %eax, -0x16c(%rbp)
jmp 0x4744
movl -0x16c(%rbp), %eax
movb %al, -0x29(%rbp)
movsbl -0x29(%rbp), %eax
cmpl $0x6e, %eax
jne 0x4765
movl $0x1, -0x88(%rbp)
jmp 0x4b1c
movq -0x10(%rbp), %rdi
callq 0x2ca0
jmp 0x4770
jmp 0x4772
jmp 0x4b17
movq 0x10852(%rip), %rdi     # 0x14fd0
leaq 0x9c8c(%rip), %rsi      # 0xe411
callq 0x21e0
movq %rax, -0x178(%rbp)
jmp 0x4793
movq -0x178(%rbp), %rdi
movq 0x1081f(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x180(%rbp)
jmp 0x47af
movq -0x180(%rbp), %rdi
leaq 0x9c61(%rip), %rsi      # 0xe41e
callq 0x21e0
movq %rax, -0x188(%rbp)
jmp 0x47cb
movq -0x188(%rbp), %rdi
movq 0x107e7(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x190(%rbp)
jmp 0x47e7
movq -0x190(%rbp), %rdi
leaq 0x9c39(%rip), %rsi      # 0xe42e
callq 0x21e0
movq %rax, -0x198(%rbp)
jmp 0x4803
movq -0x198(%rbp), %rdi
movq 0x107af(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x1a0(%rbp)
jmp 0x481f
movq -0x1a0(%rbp), %rdi
leaq 0x9c12(%rip), %rsi      # 0xe43f
callq 0x21e0
movq %rax, -0x1a8(%rbp)
jmp 0x483b
movq -0x1a8(%rbp), %rdi
movq 0x10777(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x1b0(%rbp)
jmp 0x4857
movq -0x1b0(%rbp), %rdi
leaq 0x9bee(%rip), %rsi      # 0xe453
callq 0x21e0
movq %rax, -0x1b8(%rbp)
jmp 0x4873
movq -0x1b8(%rbp), %rdi
movq 0x1073f(%rip), %rsi     # 0x14fc0
callq 0x2210
movq %rax, -0x1c0(%rbp)
jmp 0x488f
movq -0x1c0(%rbp), %rdi
leaq 0x9bc2(%rip), %rsi      # 0xe45f
callq 0x21e0
jmp 0x48a4
movq 0x10735(%rip), %rdi     # 0x14fe0
leaq -0x78(%rbp), %rsi
callq 0x20f0
jmp 0x48b6
movl -0x78(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x1c8(%rbp)
subl $0x4, %eax
ja 0x4aa3
movq -0x1c8(%rbp), %rax
leaq 0x9749(%rip), %rcx      # 0xe024
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x9b2d(%rip), %rsi      # 0xe418
leaq -0x70(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x21c0
movq -0xf0(%rbp), %rsi
movq -0x1d0(%rbp), %rdx
leaq -0xa0(%rbp), %rdi
callq 0x42d0
jmp 0x4917
leaq -0x28(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
leaq -0xa0(%rbp), %rsi
movq %rsi, -0x1e0(%rbp)
callq 0x5850
movq -0x1e0(%rbp), %rdi
callq 0x5830
movq -0x1d8(%rbp), %rdi
callq 0x34c0
jmp 0x494f
jmp 0x4ad6
leaq 0x9b23(%rip), %rsi      # 0xe47e
leaq -0x70(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0x21c0
movq -0xf0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
leaq -0xb8(%rbp), %rdi
callq 0x42d0
jmp 0x4987
leaq -0x28(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
leaq -0xb8(%rbp), %rsi
movq %rsi, -0x1f8(%rbp)
callq 0x5850
movq -0x1f8(%rbp), %rdi
callq 0x5830
movq -0x1f0(%rbp), %rdi
callq 0x34c0
jmp 0x49bf
jmp 0x4ad6
leaq 0x9abc(%rip), %rsi      # 0xe487
leaq -0x70(%rbp), %rdi
movq %rdi, -0x200(%rbp)
callq 0x21c0
movq -0xf0(%rbp), %rsi
movq -0x200(%rbp), %rdx
leaq -0xd0(%rbp), %rdi
callq 0x42d0
jmp 0x49f7
leaq -0x28(%rbp), %rdi
movq %rdi, -0x208(%rbp)
leaq -0xd0(%rbp), %rsi
movq %rsi, -0x210(%rbp)
callq 0x5850
movq -0x210(%rbp), %rdi
callq 0x5830
movq -0x208(%rbp), %rdi
callq 0x34c0
jmp 0x4a2f
jmp 0x4ad6
leaq 0x9a56(%rip), %rsi      # 0xe491
leaq -0x70(%rbp), %rdi
movq %rdi, -0x218(%rbp)
callq 0x21c0
movq -0xf0(%rbp), %rsi
movq -0x218(%rbp), %rdx
leaq -0xe8(%rbp), %rdi
callq 0x42d0
jmp 0x4a67
leaq -0x28(%rbp), %rdi
movq %rdi, -0x220(%rbp)
leaq -0xe8(%rbp), %rsi
movq %rsi, -0x228(%rbp)
callq 0x5850
movq -0x228(%rbp), %rdi
callq 0x5830
movq -0x220(%rbp), %rdi
callq 0x34c0
jmp 0x4a9f
jmp 0x4ad6
jmp 0x4ad6
movq 0x10526(%rip), %rdi     # 0x14fd0
leaq 0x96f8(%rip), %rsi      # 0xe1a9
callq 0x21e0
movq %rax, -0x230(%rbp)
jmp 0x4abf
movq -0x230(%rbp), %rdi
movq 0x104f3(%rip), %rsi     # 0x14fc0
callq 0x2210
jmp 0x4ad4
jmp 0x4ad6
jmp 0x4b17
movl $0x1, -0x88(%rbp)
jmp 0x4b1c
movq 0x104e5(%rip), %rdi     # 0x14fd0
leaq 0x96b7(%rip), %rsi      # 0xe1a9
callq 0x21e0
movq %rax, -0x238(%rbp)
jmp 0x4b00
movq -0x238(%rbp), %rdi
movq 0x104b2(%rip), %rsi     # 0x14fc0
callq 0x2210
jmp 0x4b15
jmp 0x4b17
jmp 0x43f3
leaq -0x28(%rbp), %rdi
callq 0x5830
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq -0x80(%rbp), %rdi
callq 0x2350
nopw (%rax,%rax)