Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[3054] 이 문제의 답죠 정리해주세요..틀린부분도 수정도 해주세요..
서천석 [] 1175 읽음    2003-10-22 12:53
<문제>
A회사의 급여체계는 다음과 같다.
정규직:기본급 800000원+수당
임시직:기본급 400000원+근무일수(1일 20000원)
아르바이트:근무일수(1일 20000원)
*****************************************************
출력결과(예시)
이름     구분        기본급                     실급여
k         정규직      800000                      1200000
L         임시직      400000                      800000
P       아르바이트     0                           400000
*****************************************************
<조건>
1.class 이용한 프로그램을 작성하라.
2 멤버변수는 이름, 구분, 기본급, 수당, 근무일수, 실급여
3. 멤버함수는 생성자 2개, 급여계산, 출력
4. 정규직은`R`  , 임시직은 `T` , 아르바이트는 `A`로 구분


(제가 푼 답)틀린 부분 수정죠 해주세요..글구 정리두..

출력시 위의 내용만 출력하면 되나여.. 클래스 기본 Get,Set연산을 빼고 간단히 해보면 class CPay { public: CPay(void); CPay::CPay(char cDivision,char* strName);//구분과 이름을 받는다 ~CPay(void); char* m_strName;//이름 char m_cDivision;//구분 long m_lBasic;//기본급 long m_lBouns;//수당 long m_lWages;//실급여 int m_nWorkDays;//근무일수 bool CalcPay(long lBonus);//수당또 는 근무일수를 인자로 받는다 void PrintPay();//멤버변수값 출력 }; C문법이 올간만이라....암튼 클래스구성은 문제에 나와있는대로...하고.. 복사생성자에서 구분을 나누어주고 ... CPay::CPay(char cDivision,char* strName) { if(cDivision == 'R')//정규직이면 { m_cDivision = cDivision; m_lBasic=800000; } else if(cDivision == 'T') { m_cDivision = cDivision; m_lBasic=400000; }else { m_cDivision = cDivision; m_lBasic=0; } m_strName = strName; m_lBouns=0;//수당 m_lWages=0;//실급여 m_nWorkDays=0;//근무일수 } 계산함수에서 계산하고.. bool CPay::CalcPay(long lBonus)//수당또는 근 무일수 { bool bSuccess = false; if (m_cDivision == 'R') { m_lWages = m_lBasic + lBonus;//기본급 + 수당 bSuccess = true; }else if (m_cDivision == 'T') { m_lWages = m_lBasic + (lBonus * 20000); bSuccess = true; }else { m_lWages = lBonus * 20000; bSuccess = true; } return bSuccess; } 출력함수에서 출력하면... void CPay::PrintPay() { char* strDivision=""; if (m_cDivision == 'R') { strDivision="정규직"; }else if (m_cDivision == 'T') { strDivision="임시직"; }else { strDivision="아르바이트"; } cout << m_strName<< strDivision << m_lBasic << m_lWages; } 쓰는쪽에선 CPay test('R',"빨간무"); test.CalcPay(1000000); cout << "이름\t" << "구분\t" << "기 본급\t" << "실급여" <<endl; test.PrintPay();
이거죠 정리죠 해주세요....그리구 어디가 틀려는지도 알려주세요...  글구 수정도 해주세요..부탁드립니다.

+ -

관련 글 리스트
3054 이 문제의 답죠 정리해주세요..틀린부분도 수정도 해주세요.. 서천석 1175 2003/10/22
4284     Re:이 문제의 답죠 정리해주세요..틀린부분도 수정도 해주세요.. utime->김성하 1119 2003/10/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.