자판기에서 사용 가능한 코인 번호를 어떻게 추적 할 수 있습니까?

아담 리치

저는 1 달러짜리 지폐를 받고 쿼터, 센트, 센트로 거스름돈을주는 간단한 자판기를위한 C ++로 된 학교 프로젝트를 가지고 있습니다. 모든 항목은 1 달러 미만입니다. 하지만 기계에서 사용 가능한 변경 사항을 추적 할 수있는 추가 기능을 추가해야하는데 어떻게해야하는지 모르겠습니다. 그리고 이것은 내가 작성한 코드입니다.

#include <iostream>
#include <string>
using namespace std;

int main()
{
    //set the variables
    int Qav=5 ;
    int Dav=5 ;
    int Nav=5 ;
    int purchaseAmount ;
    cout << "Simple Vending Program for Adam Ashouri (Regular Version)" <<endl;
    cout <<endl;
    cout <<endl;
    cout << "Enter a purchase amount [5 - 100] -->";
    cin >> purchaseAmount;
    int chaneBack = 100 - purchaseAmount ;

    changecalculator ();

}
    void changecalculator ()
{
    int purchaseAmount ;
    int QBack ,DBack ,NBack ;
    int chaneBack = 100 - purchaseAmount ;

    if (purchaseAmount %5 == 0)
    {
        cout << "You entered a purchase amount of " << purchaseAmount << " cents." <<endl;
        cout <<endl;
        QBack = chaneBack / 25 ;
        DBack = (chaneBack % 25) / 10;
        NBack = (chaneBack %25 %10) / 5;
        cout <<"Your change of " <<chaneBack <<" cents is given as " <<QBack <<" Q, " <<DBack <<"          D,and " <<NBack <<" N." <<endl;
        int coinsNum = QBack + DBack + NBack;
        cout << "The value of your " <<coinsNum <<" coins adds up to " <<chaneBack <<" cents." <<endl;
        cout << "Thank you for using my program.";

    }
    else
    { 
        cout << "Unable to process an invalid purchase amout of " <<purchaseAmount <<" cents." <<endl;
        cout << "Thank you for using my program." <<endl;

    }
}
일리아

우선, 현재 프로그램이 작동하지 않습니다. 왜냐하면 purchaseAmountfunction 내부 로 전송하지 않기 때문 changecalculator()입니다. 다음과 같이해야합니다.

1) 함수의 서명을 다음과 같이 변경하십시오. void changecalculator(int iPurchaseAmount)

2) purchaseAmount함수 내에서 전송 (즉, 다음과 같이 호출 changecalculator(purchaseAmount);)

3) iPurchaseAmount함수 본문 내부의 값을 사용 하고 줄 int purchaseAmount;제거 하십시오.

그리고 주요 질문 (사용 가능한 코인 수 절약)에 대해 :

좋습니다 . 프로그램 본문에 Qav, DavNav(사용 가능한 동전)을 추가했습니다 . 맞습니다. 이제 changecalculator()함수 내에서 이러한 값을 전송해야 합니다. 함수의 다음 서명을 사용해보십시오 void changecalculator(int iPurchaseAmount, int& ioQav, int& ioDav, int& ioNav)(이 값은 함수 본문 내에서 사용할 수 있습니다). 이 함수를 다음과 같이 호출하십시오 changecalculator(purchaseAmount, Qav, Dav, Nav);..

그 후에는 이러한 값을 분석하고 함수 내에서 변경하기 만하면됩니다. 값 변경을 추가해 보겠습니다 (이 함수를 많이 호출하는 경우 필요함). QBack, DBack계산 후 다음 줄을 추가하십시오 NBack.

ioQav -= QBack;
ioDav -= DBack;
ioNav -= NBack;

그리고이 작업의 가장 복잡한 부분은 값의 분석이다 ioQav, ioDav, ioNav계산하기 전에 QBack, DBackNBack. 분기별로 해보겠습니다.

QBack = std::min(chaneBack / 25, ioQav);

사용 가능한 분기 수와 최적 분기 수의 두 가지 중 가장 작은 값을 계산합니다. 따라서이 선은 정확히 필요한 것을 계산합니다. 그 후에 다임 수를 계산할 수 있습니다.

chaneBack -= QBack * 25; // subtract quarters
DBack = std::min(chaneBack / 10, ioDav);

이 논리를 이해하면 NBack.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ruby를 사용하여 번호가 Dudeney 번호인지 어떻게 확인할 수 있습니까?

분류에서Dev

Platform of Trust에서 ID를 만들 때 사용할 수있는 사용 가능한 컨텍스트 링크가 무엇인지 어떻게 알 수 있습니까?

분류에서Dev

내 전화 (및 일부 앱)가 내 연락처의 번호에 추가 할 국가 코드 접두사 (예 : +1, +505, +49 ...)를 어떻게 알 수 있습니까?

분류에서Dev

Ruby 프로그램에서 유니 코드 / 한국어 문자를 어떻게 사용할 수 있습니까?

분류에서Dev

파이썬에 쌓인 동일한 데코레이터를 어떻게 사용할 수 있습니까?

분류에서Dev

기호가 사용자 입력에 있는지 어떻게 확인할 수 있습니까?

분류에서Dev

정적 코드 및 상자 템플릿에서 스크립트를 어떻게 사용할 수 있습니까?

분류에서Dev

공유 기본 설정의 추상적 인 표현을 사용할 수 있도록 dagger 2를 어떻게 사용할 수 있습니까?

분류에서Dev

Excel 차트에서 행 번호를 어떻게 사용할 수 있습니까?

분류에서Dev

내 Linux 시스템에서 사용중인 포트와 사용 가능한 포트를 어떻게 확인할 수 있습니까?

분류에서Dev

동일한 jQuery 함수에서 두 개의 추가를 어떻게 사용할 수 있습니까?

분류에서Dev

다음 코드에 숫자를 어떻게 추가 할 수 있습니까?

분류에서Dev

ionic 3 앱에서 사용 가능한 RAM을 어떻게 확인할 수 있습니까?

분류에서Dev

어떻게 int 배열의 합계 특정 인덱스 번호에 IntStream를 사용할 수 있습니까?

분류에서Dev

내 코드에 지수를 어떻게 추가 할 수 있습니까?

분류에서Dev

Ruby / Rails에서 사용자 권한 코드를 어떻게 정리할 수 있습니까?

분류에서Dev

사용 가능한 터미널 정의를 어떻게 확인할 수 있습니까?

분류에서Dev

확인하는 데 사용할 수있는 Atom에 대해 허용 가능한 pkgver를 제공하기 위해 git을 어떻게 얻습니까?

분류에서Dev

비 정적 메서드에 대한 설명자를 어떻게 사용할 수 있습니까?

분류에서Dev

WIX에서 기존 사용자 인터페이스를 어떻게 사용자 정의 할 수 있습니까?

분류에서Dev

Laravel에서 요청 사용자를 어떻게 확인할 수 있습니까?

분류에서Dev

인접한 셀에 데이터가있을 때만 COUNTIFS를 어떻게 사용할 수 있습니까?

분류에서Dev

이 간단한 코드로 가져 오기 및 내보내기를 어떻게 사용할 수 있습니까?

분류에서Dev

내 VBA 코드를 셀 범위에 어떻게 적용 할 수 있습니까?

분류에서Dev

사용자가 추적을 거부 할 수 있도록 django-tracking2를 어떻게 수정할 수 있습니까?

분류에서Dev

총 기능 수를 어떻게 추정 할 수 있습니까?

분류에서Dev

Expo SDK에서 인앱 구매를 어떻게 추가 할 수 있습니까?

분류에서Dev

AngularJS에서 편집 가능한 세 번째 버튼을 어떻게 추가 할 수 있습니까?

분류에서Dev

JQuery에서 "this"와 함께 인접한 형제 선택자를 어떻게 사용할 수 있습니까?

Related 관련 기사

  1. 1

    Ruby를 사용하여 번호가 Dudeney 번호인지 어떻게 확인할 수 있습니까?

  2. 2

    Platform of Trust에서 ID를 만들 때 사용할 수있는 사용 가능한 컨텍스트 링크가 무엇인지 어떻게 알 수 있습니까?

  3. 3

    내 전화 (및 일부 앱)가 내 연락처의 번호에 추가 할 국가 코드 접두사 (예 : +1, +505, +49 ...)를 어떻게 알 수 있습니까?

  4. 4

    Ruby 프로그램에서 유니 코드 / 한국어 문자를 어떻게 사용할 수 있습니까?

  5. 5

    파이썬에 쌓인 동일한 데코레이터를 어떻게 사용할 수 있습니까?

  6. 6

    기호가 사용자 입력에 있는지 어떻게 확인할 수 있습니까?

  7. 7

    정적 코드 및 상자 템플릿에서 스크립트를 어떻게 사용할 수 있습니까?

  8. 8

    공유 기본 설정의 추상적 인 표현을 사용할 수 있도록 dagger 2를 어떻게 사용할 수 있습니까?

  9. 9

    Excel 차트에서 행 번호를 어떻게 사용할 수 있습니까?

  10. 10

    내 Linux 시스템에서 사용중인 포트와 사용 가능한 포트를 어떻게 확인할 수 있습니까?

  11. 11

    동일한 jQuery 함수에서 두 개의 추가를 어떻게 사용할 수 있습니까?

  12. 12

    다음 코드에 숫자를 어떻게 추가 할 수 있습니까?

  13. 13

    ionic 3 앱에서 사용 가능한 RAM을 어떻게 확인할 수 있습니까?

  14. 14

    어떻게 int 배열의 합계 특정 인덱스 번호에 IntStream를 사용할 수 있습니까?

  15. 15

    내 코드에 지수를 어떻게 추가 할 수 있습니까?

  16. 16

    Ruby / Rails에서 사용자 권한 코드를 어떻게 정리할 수 있습니까?

  17. 17

    사용 가능한 터미널 정의를 어떻게 확인할 수 있습니까?

  18. 18

    확인하는 데 사용할 수있는 Atom에 대해 허용 가능한 pkgver를 제공하기 위해 git을 어떻게 얻습니까?

  19. 19

    비 정적 메서드에 대한 설명자를 어떻게 사용할 수 있습니까?

  20. 20

    WIX에서 기존 사용자 인터페이스를 어떻게 사용자 정의 할 수 있습니까?

  21. 21

    Laravel에서 요청 사용자를 어떻게 확인할 수 있습니까?

  22. 22

    인접한 셀에 데이터가있을 때만 COUNTIFS를 어떻게 사용할 수 있습니까?

  23. 23

    이 간단한 코드로 가져 오기 및 내보내기를 어떻게 사용할 수 있습니까?

  24. 24

    내 VBA 코드를 셀 범위에 어떻게 적용 할 수 있습니까?

  25. 25

    사용자가 추적을 거부 할 수 있도록 django-tracking2를 어떻게 수정할 수 있습니까?

  26. 26

    총 기능 수를 어떻게 추정 할 수 있습니까?

  27. 27

    Expo SDK에서 인앱 구매를 어떻게 추가 할 수 있습니까?

  28. 28

    AngularJS에서 편집 가능한 세 번째 버튼을 어떻게 추가 할 수 있습니까?

  29. 29

    JQuery에서 "this"와 함께 인접한 형제 선택자를 어떻게 사용할 수 있습니까?

뜨겁다태그

보관