2016-10-24 2 views
0

그래서 은행 계좌 (학교 실습실)를 계산하는 프로그램을 만들고 있는데,이 함수는 계좌에서 인출 된 수표를 계산하는 것입니다. 예금으로 잘. 여기 함수에 * double과 double을 추가하려고합니다.

는 내 (내가 사용한다는 것을) 여기

int main(void) 
{ 
    char code; 
    double amount, service, balance; 
    double amtCheck, amtDeposit, openBalance, closeBalance; 
    int numCheck, numDeposit; 

    if (!(fpIn = fopen("account.txt", "r"))) { 
     printf("account.txt could not be opened for input."); 
     exit (1); 
    } 
    if (!(fpOut = fopen("csis.txt", "w"))) { 
     printf("csis.txt could not be opened for output."); 
     exit (1); 
    } 

    amount = 0.0; 
    service = 0.0; 
    balance = 0.0; 
    amtCheck = 0.0; 
    amtDeposit = 0.0; 
    openBalance = 0.0; 
    closeBalance = 0.0; 
    numCheck = 0.0; 
    numDeposit = 0.0; 

    outputHeaders(); 

    while (!feof(fpIn)){ 
     fscanf(fpIn, "%c %lf\n", &code, &amount); 
     if (code == 'I') { 
      initialBalance(amount, &balance, &service, &openBalance); 
     } 
     else if (code == 'D'){ 
      deposit(amount, &balance, &service, &numDeposit, &amtDeposit); 
     } 
     else 
     { 
      check(amount, &balance, &service, &numCheck, &amtCheck); 
     } 
    } 

    closeBalance = balance - service; 
    outputSummary(numDeposit, amtDeposit, numCheck, amtCheck, openBalance, service, closeBalance); 
    fclose(fpIn); 
    fclose(fpOut); 
    return 0; 

} 

주 내 기능 (내가 사용한다는 것을)

void check(double amount, double *balance, double *service, int *numCheck, double *amtCheck) 
{ 
    ++*numCheck; 
    service = numCheck * 0.06; 
    amtCheck += amount; 
    balance -= amtCheck; 
} 

서비스가 서비스 요금과 $ 0.06 당입니다입니다 확인 입금. numCheck는 철회 된 수표입니다. amtCheck는 수표에 인출 된 금액입니다. 잔액은 해당 월 말에 인출 한 총 금액 ($)입니다.

(void check) 서비스에 numCheck * 0.06 (service = numCheck * 0.06)의 제품을 지정하려고하는데 어떤 이유로 그것이 나를 허용하지 않습니다. amtCheck + amount의 값을 amtCheck (amtCheck + = amount)에 할당하려고 시도하는 것과 동시에 나 또한 허용하지 않습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?

은 (내가뿐만 아니라 예금을 계산하는 다른 기능을 가지고 있지만 같은 문제 가지고) 그 값을 사용하거나 값을 할당 할 때 당신은 당신의 포인터 역 참조 할 필요가

+0

'뿐만 아니라 같은 problem' 을 가진 – John3136

+0

service = numDeposit * 0.03; \t amtDeposit + = amount; 그것들은 일하지 않는다! – RodsCode

+0

은 표현식이 \t에 대한 산술 유형을 가져야한다고 말합니다. service = numDeposit * 0.03; amtDeposit + = amount의 경우; 그것은 정수형을 가지고 있어야한다고 말합니다. – RodsCode

답변

1

합니다. 예를 들어 : "문제는 무엇인가"

*service = (*numCheck)*0.06; 
관련 문제