MQF 객체 지향 프로그래밍 I 2019 가을
자정 전에 HW2 인해 2019년 10월 1일
사양
럿 거스 주차장 관리 시스템은 Rutgers 대학 껍질 벗기기가 관리 취할 필요가
필요합니다. 이 시스템은 당신의 차고에 주차 된 모든 차량을 추적 할 수 있습니다. 보안을 위해, 당신의
시스템에 주차 된 자동차의 제조사, 모델, 색상, 번호판 말할 수 있어야한다
이 차고. 차를 차고에 주차 시간 5 시간에서 평균이 정규 분포 인
2 시간의 표준 편차. 이 주차장이 할 수있는 $ 4.00 최소 수수료 부과 가정
까지 3 시간 동안 주차를. 당신의 차고는 각 시간 또는 부분 시간당 추가 $ 1.00을 청구
이들 세시간 초과한다. 주어진 24 시간 동안의 최대 요금은 $ 10.00이다. 들어
예, 경우 자동차는 10 시간 30 분에서 차고를 입력 한 다음 14 시간을 10 분 종료
차 3 시간 40 분을 주차하고 4 시간 동안 주차로 간주 될 수있다. 그래서이 될 것입니다
$ 5.00 (첫번째 삼시간 $ 4.00 플러스 $ 1.00 여분의 시간) 충전. 그 다음 20 시간에 종료하는 경우는
9시간 30 분 주차. 그래서 10 시간으로 처리됩니다. 요금은 $ 4.00 $ 1.00 + X 것이다
$ 11.00 (10-3). 최대 요금은 $ 10.00에 덮인되기 때문에, 그래서 부과됩니다
$ 10.00. 그 다음 12 시간에 종료 경우가 있으므로 1 시간 30 분 동안 주차 계산 될
최소 충전 규칙이 적용되고 $ 4.00 부과됩니다.
여러분의 프로그램은 출력은 얼마마다 차 출구 차고 자동차를 충전하여야한다. 위해서는
당신이 시간 진행의 시뮬레이션을 용이하게하기 위해, 화면은 당신이 할 수 있도록하는 옵션이있을 것이다
삼십 (3) 분의 시간을 진행한다. 당신은 당신의 차고 오전 6에서 열리고 닫힌다 가정 할 수
자정. 당신은 단지 앞으로 시간이 있지만 뒤로 수 없습니다. 자동차 차고가 사용하는 입력
의 티켓과 연관 현재 시간. 현재의 차이 사용 종료 유사 차
시간과 비용을 계산하기 위해 그 티켓의 시간을.
시뮬레이션의 끝에서, 시스템 출력 다음과 같이 자동차에 대한 모든 정보 것입니다
시간이 입력 한 메이커 모델 색상 면허 번호 시간에 Exited 총-충전
모든 목록의 끝에서, 시스템은 모든 비용을 합산하여 출력 적립 얼마나.
요구 사항
당신은 당신을 위해 필요로하는 모든 정보가 들어있는 클래스 호출 자동차 작성해야
시스템을 구현합니다. 클래스 자동차는 적어도 하나의 생성자가 더 생성자가되어 포함
그렇게하기로 결정한 경우 허용했다. 당신이 필요한 생각하는 경우 있도록 또한, 게터를 포함하고 세터
당신이 검색 (수) 및 제작자, 모델, 색상, 번호판 번호, 저장 (설정) 정보 등의 수
시스템에 티켓.
상기 차량 객체의 티켓을 나타내는 다른 클래스 호출 티켓을 만듭니다. 티켓 객체는 것
차가 당신의 차고를 입력하는 차 오브젝트에 관련 지을 수. 티켓은 시간에 의해 설명 될 수 있습니다
그리고 자동차가 특정 일의 당신의 차고에 들어갈 때 시간과 분을 기록 분.
그 이후로 우리는 당신이 저장해야하는, 자동차의 주차 시간은 정규 분포라고 가정
차 개체 또는 티켓 객체의 정보를. 그것은 차고에 남아있을 것입니다 시간은 사전 될 것이다
클래스에서 언급 한 바와 같이 C ++ 11 정규 분포를 사용하여 결정. 귀하의 TA는 당신에게 제공 할 수 있습니다
난수 때 테스트 케이스를 제공 생성 씨. 당신이 실행할 때 종자로 시간 (0)를 사용할 수 있습니다
계획된 테스트 케이스를.
메인 프로그램 호출 MyParkingGarage.cpp를 작성합니다. 그것은 (예를 들어, 데이터 구조를 생성한다
벡터를 이용하여 <카>)와,이 중 모든 차량 정보 유지 사용되는
주차장을.
이 시스템은 출력 사용자가 다음을 수행 할 수 있도록 메뉴 화면 것이다
차고에있는 모든 자동차의 정보 인쇄물을
차 입력 (차 추가) 할 수 있도록 허용
(30 분 증가 시간) 사전 시간
특정 자동차에 대한 검색 차고 (들). 예를 들어, 모든 혼다 자동차를 찾을 모두 실버 찾을
색 차를, '123ABC'등 번호판과 자동차 핀들
시간 사전 30 분, 시스템이 출력 모든 차량 및 해당됩니다 때마다
정보를 그 출구가 당신의 차고를 형성한다.
현재 당신의 차고에 주차 된 모든 차량의 정보를 인쇄하려면, 당신은 한 행에 하나의 차를 인쇄합니다
이전이 유인물에 설명 된대로 형식입니다. 이 볼 수 있도록 각 열에 대한 출력을 정렬
깔끔한.
당신이 벡터를 사용하는 경우이 시스템을 구현합니다. 자동차가 당신의 차고에 들어갔을 때, 당신은 puch_back 사용할 수있는
벡터의 끝에 추가하는 벡터 () 멤버 함수를.
자동차가 당신의 차고를 종료 할 때, 당신은 그 차의 삭제 벡터의 삭제 () 멤버 함수를 사용할 수 있습니다
벡터에서 개체를. (사용 지우기 하나 () 또는하지 귀하의 디자인에 따라 달라집니다.)
시스템에 (있다)되어 특정 차량 (들)의 쿼리를 단순화하기 위해, 당신은 사용자 만 할 수 가정 할 수
한 타격의를 선택합니다. 예를 들어, 사용자는 하나 메이커, 모델, 색상, 또는 중 하나만 선택할 수 있습니다
라이센스 번호를. 그것은 사용자가 논리 연산자를 사용할 수 없습니다 'AND', 'OR'쿼리를 형성하는 것을 의미한다. 따라서 사용자는
'메이커 = 혼다'AND 색상 = 실버 '자동차입니다 출력 자동차에 시스템을 요청할 수 없습니다. 또는 요청
출력 '메이커 = 포드 또는 색상 = 빨간색'에 대한 시스템.
사용자 선택 메이커 경우, 시스템은 업체를 대표하는 문자열을 입력하도록 요청합니다. 경우
사용자가 혼다를 입력, 시스템이 다음 검색과 일치하는 시스템 및 출력 차 (들)을 검색합니다
타격의를. 검색 기준으로 사용자 선택 번호판 번호가, 당신의 시스템에 대한 사용자 요청합니다 경우
, 라이센스 번호와 자동차의 정보가 시스템에 존재하는 경우 출력을 입력 그렇지 않습니다
단순히 출력하는 메시지가 해당 라이센스 번호 그런 차가 없다 나타냅니다. 다른 검색은
유사합니다.
예를 들어, 시스템의 세 가지 자동차가있는 경우
ABC123 혼다 어코드 실버
도요타 캠리 레드 dfg234
혼다 시빅 레드 aaa123은
사용자는 모든 실버 색상 차 (들)을 발견하고자하는 경우 다음 시스템을 출력
혼다 어코드 실버 ABC123
사용자가 모든 레드 색상 차 (들) 다음 시스템을 출력 찾을하고자하는 경우
도요타 캠리 레드 dfg234
혼다 시빅 레드 aaa123은
사용자가 원하는 경우를 얼마나 많은 혼다 자동차 (들)을 발견, 시스템 출력 것이다
혼다 어코드 실버 ABC123
혼다 시빅 레드 aaa123
사용자가 번호판 번호 dfg234 어떤 차를, 시스템이 출력됩니다 있는지 확인하고자 할 경우
도요타 캠리 레드 dfg234
테스트는
이 시뮬레이션을 만들려면 주차장 관리 시스템을 쉽게, 당신은 모든 입력 법적 있다고 가정 할 수있다
유효합니다. 그래서 오류 입력이 필요하지 테스팅을.
당신은 당신의 자신의 "테스트 계획"이 시스템을 개발할 때, 귀하의 TA 일부 제공과 함께 올 것이다
나중에 테스트 케이스를.
등급을 매기는 루 브릭
(1) 프로그래밍 스타일 4
(2) 클래스의 사용 6
(3) 적절한 시험 3
(4) 올바른 결과 12
제출 :
(1) 스크린 샷 복사 프로그램을 실행하여 출력을 기록
(2) 넣어 모든 화면 문서로 촬영하여 PDF 파일로 변환은
(3) 폴더에 소스 코드 파일 또는 파일 (.cpp 파일, .H)을 모두 넣습니다. yourLastName-FIRSTNAME-HW2를 사용하여
폴더의 이름으로. 이름이 캐시 스미스 예이라면 스미스 - 캐시-HW2는 폴더입니다
이름
(4) 위의 폴더에 테스트 실행 스크린 샷 파일을 넣어
(5) zip 파일 이름으로 폴더 및 사용 yourLastName-FIRSTNAME-HW2 우편 번호.
(6) 칠판에 파일을 제출합니다.
추가 학점 3 점은
사용자가 AND 및 OR로 조회 할 수 있도록 허용합니다. 노란색 컬러 예를 들어 혼다 자동차하십시오.
벡터의 참고 문헌
우리 교과서의 제 7 장
벡터의와 push_back 기능의 예
https://en.cppreference.com/w/cpp/container/vector의
삭제 기능의 예
https://stackoverflow.com/questions/875103/how-do -i 소거-AN-소자로부터 - stdvector-byindex
http://www.enseignement.polytechnique.fr/informatique/INF478/docs/Cpp/en/cpp/container/
벡터 / erase.html
벡터 크기 함수의 예
http://www.cplusplus.com/reference/vector/vector/size/
전문, 그래서 신뢰할 수 있기 때문에. 필요한 경우, QQ를 추가하십시오 : 99,515,681 또는 이메일 : [email protected]
마이크로 편지 : codehelp