(2) 삭제: 지정된 사원 정보를 삭제합니다 (이름을 입력하고 있는 경우 정보를 삭제합니다).
(3) 수정: 입력 된 데이터는 수정 사항을 다시 편집 할 수 있습니다.
(4) 표시: 모든 직원의 데이터를 표시합니다.
(5) 조회:
A. 사원명을 입력하여 해당 사원에 대한 모든 데이터를 표시합니다.
B. 부서 값을 입력하여 해당 부서 사원의 데이터, 총 임금 및 평균 지급을 표시합니다.
(6) 프로그램을 종료합니다.
*/
목록< 직원 & gtemps
Int _tmain(int argc, _TCHAR* argv[])
{
인쇄 무효화 (const 직원 & ampe);
Void 입력 ();
Voiddel ();
Voidmod ();
Voidshow _ all ();
Voidshow _ name ();
Voidshow _ dep ();
Cout & lt& lt' 는 그의 간단한 직원 급여 관리 절차를 통해 \ n”; //이 행을 삭제합니다
Cout & lt& lt "저작권을 사용할 수 없습니다. 코드를 자유롭게 복사하거나 수정하십시오. \ n ";; //이 행을 삭제합니다
Cout & lt& lt "작업 선택: 1. 2 를 입력합니다. 3 을 삭제합니다. 4 를 수정합니다. 조회 5. 모든 직원 6 을 표시합니다. 종료: ";
Intchoose = 0;
CIN>;; & gt 선택;
어설 션 (! Cin.fail ());
그리고 (선택! =6)
{
If (choose== 1) 입력 ();
If (choose = = 2) del ();
If (choose = = 3) mod ();
If (choose==4)
{
Intchoice = 0;
Cout & lt& lt 작업 1 을 선택하십시오. 이름으로 2 를 조회하다. 부서 3 에 따라 조회하다. 종료:;
CIN>;; & gt 선택;
If (choice = =1) show _ name ();
If (choice = = 2) show _ dep ();
If (선택 ==3)
{
Cout & lt& lt "작업 선택: 1. 2 를 입력합니다. 3 을 삭제합니다. 4 를 수정합니다. 조회 5. 모든 직원 6 을 표시합니다. 종료: ";
CIN>;; & gt 선택;
어설 션 (! Cin.fail ());
계속;
}
}
If (choose = = 5) show _ all ();
Cout & lt& lt "작업 선택: 1. 2 를 입력합니다. 3 을 삭제합니다. 4 를 수정합니다. 조회 5. 모든 직원 6 을 표시합니다. 종료: ";
CIN>;; & gt 선택;
어설 션 (! Cin.fail ());
}
0 을 반환합니다
}
인쇄 무효화 (const 직원 & ampe)
{
Cout & lt& lt "없음"
Cout & lt& lt "이름:"
Cout & lt& lt "부서:"
Cout & lt& lt "보험:"
Cout & lt& lt "세금:"
Cout & lt& lt "지급:"
Cout & lt& lt "지급:" <<E. m _ 임금 -e. m _ 보험 -e. m _ 세금<& ltendl
}
잘못된 입력 ()
{
문자열 num, name, dep.
더블 급여, ins, 세금;
Cout & lt& lt "직원 번호를 입력하십시오:";
CIN>;; & gtnum
Cout & lt& lt 직원 이름을 입력하십시오: ";
CIN>;; & gt 이름;
Cout & lt& lt "직원 부서를 입력하십시오:";
CIN>;; & gtdep
Cout & lt& lt 직원 보험 입력:';
CIN>;; & gtins
어설 션 (! Cin.fail ());
Cout & lt& lt 직원 세금 입력:;
CIN>;; & gt 세금
어설 션 (! Cin.fail ());
Cout & lt& lt "사원 지급 입력:";
CIN>;; & gt 임금
어설 션 (! Cin.fail ());
직원 비정규직 근로자
Temp.m _ dep = dep
Temp.m _ insurance = ins
Temp.m _ name = name
Temp.m _ num = num
Temp.m _ salary = 급여
Temp.m _ tax = tax
Emps.push _ back (temp);
Cout & lt& lt 사원 입력 작업이 완료되었습니다. \ n ";;
}
Void del ()
{
If (emps.size()==0)
{
Cout & lt& lt "직원 레코드가 없습니다. \ n ";;
반환;
}
문자열 이름
Bool isfind = false
Cout & lt& lt "삭제할 직원의 이름을 입력하십시오:";
CIN>;; & gt 이름;
목록< 직원> * iteratoriter;
For (ITER = emps.begin (); Iter! = emps.end (); Iter++)
{
If (ITER-> M_name==name)
{
Isfind = true
Emps.erase (ITER);
Cout & lt& lt "이름이 \" "<< 이름<& lt" 인 직원 레코드가 삭제되었습니다. \ n \ ";;
반환;
}
}
만약 (! (isfind)
{
Cout & lt& lt 에는 \ "\" 라는 파일 << 이름<& lt ""직원이 없습니다. \ n ";;
반환;
}
}
Void mod ()
{
If (emps.size()==0)
{
Cout & lt& lt "사원 레코드가 null 입니다. \ n ";;
반환;
}
Bool isfind = false
문자열 이름
Cout & lt& lt "수정할 직원의 이름을 입력하십시오:";
CIN>;; & gt 이름;
목록< 직원> * iteratoriter;
For (ITER = emps.begin (); Iter! = emps.end (); Iter++)
{
If (ITER-> M_name==name)
{
Isfind = true
Cout & lt& lt "이름은 \" "<< 이름<" 가 \ "\" 을 (를) 찾은 직원 레코드입니다. \ n \ ";;
깨뜨리다
}
}
(isfind) 인 경우
{
문자열 num, name, dep.
이중세, ins, 임금
Print (* ITER);
Cout & lt& ltendl
Cout & lt& lt "새 직원 번호를 입력하십시오:";
CIN>;; & gtnum
Cout & lt& lt 신입 사원명을 입력하십시오: ";
CIN>;; & gt 이름;
Cout & lt& lt "새 직원 부서를 입력하십시오:";
CIN>;; & gtdep
Cout & lt& lt "신규 사원 보험 입력:";
CIN>;; & gtins
어설 션 (! Cin.fail ());
Cout & lt& lt "신규 직원 세금 입력:";
CIN>;; & gt 세금
어설 션 (! Cin.fail ());
Cout & lt& lt "신입 사원 임금 입력:";
CIN>;; & gt 임금
어설 션 (! Cin.fail ());
ITER-& gt;; M _ dep = dep
ITER-& gt;; M _ insurance = ins
ITER-& gt;; M _ name = name
ITER-& gt;; M _ num = num
ITER-& gt;; M _ salary = 임금
ITER-& gt;; M _ tax = tax
Cout & lt& lt 1 에 대한 직원 레코드 수정 성공. \ n ';;
}
기타
{
Cout & lt& lt 에는 \ "\" 라는 파일 << 이름<& lt "직원 레코드가 없습니다. \ n \ ";;
}
}
Void show_all ()
{
If (emps.size()==0)
{
Cout & lt& lt "사원 레코드가 null 입니다. \ n ";;
반환;
}
Cout & lt& lt' 는 모든 직원 데이터를 표시합니다. \ n;
Cout & lt< "-\ n";
목록< 직원> * iteratoriter;
For (ITER = emps.begin (); Iter! = emps.end (); Iter++)
{
Cout & lt& ltendl
Print (* ITER);
Cout & lt& ltendl
}
Cout & lt< "-\ n";
}
Void show_name ()
{
If (emps.size()==0)
{
Cout & lt& lt "사원 레코드가 null 입니다. \ n ";;
반환;
}
Bool isfind = false
문자열 이름
Cout & lt& lt 질의할 직원의 이름을 입력하십시오: ";
CIN>;; & gt 이름;
목록< 직원> * iteratoriter;
For (ITER = emps.begin (); Iter! = emps.end (); Iter++)
{
If (ITER-> M_name==name)
{
Isfind = true
Cout & lt& lt "이름은 \" "<< 이름<" 가 \ "\" 을 (를) 찾은 직원 레코드입니다. \ n \ ";;
Print (* ITER);
깨뜨리다
}
}
만약 (! (isfind)
{
Cout & lt& lt 에는 \ "\" 라는 파일 << 이름<& lt ""직원이 없습니다. \ n ";;
반환;
}
}
Void show_dep ()
{
If (emps.size()==0)
{
Cout & lt& lt "사원 레코드가 null 입니다. \ n ";;
반환;
}
Double isfind = 0.00 입니다
Double total _ salary = 0.00 입니다
문자열 dep
Cout & lt& lt "조회할 부서명을 입력하십시오:";
CIN>;; & gtdep
Cout & lt& lt "부서 ["
Cout & lt< "-\ n \ n";
목록< 직원> * iteratoriter;
For (ITER = emps.begin (); Iter! = emps.end (); Iter++)
{
If (ITER-> M_dep==dep)
{
Isfind++;
Total _ salary+= ITER-> M _ 임금
Print (* ITER);
Cout & lt& ltendl
계속;
}
}
Cout & lt< "-\ n";
If (isfind==0)
{
Cout & lt& lt "이름 ["
}
기타
{
Cout & lt& lt "부서 ["
Cout & lt& lt "총 급여:"
Cout & lt& lt "평균 임금:"