簡體   English   中英

為什么我的netpay沒有顯示答案?

[英]why does my netpay display no answer?

我正在編寫工資單的代碼。 一個功能詢問用戶工作時間和小時工資。 另一個函數接受小時數和費率作為參數,並計算並返回總工資。 然后將Grosspay發送到將計算並返回payrolltax(.22)的函數。 然后調用一個函數,該函數將接受總薪水和稅收作為參數並返回凈薪。 最后將所有數據發送到一個功能,該功能將顯示所有值(總時數,小時費率,總薪水,稅額和凈額)。 我的netpay顯示0,而tax顯示錯誤的答案。 誰能告訴我我哪里出問題了?

/* Payroll Check */
#include <stdio.h>

float askhoursworked();
float askhourlyrate();
float calculategrosspay(float hours,float rate);
float calculatepayrolltax(float grosspay);
float calculatenetpay(float grosspay,float tax);
float displayallvalues(float ,float ,float,float ,float );

int main()
{
      float hours;
      float rate;
      float grosspay;
      float tax;
      float netpay;
      float values;

      hours=askhoursworked();
      rate= askhourlyrate();

      tax=  calculatepayrolltax( grosspay);
      netpay= calculatenetpay( grosspay,tax);
      grosspay=calculategrosspay( hours,  rate);

      values= displayallvalues( hours, rate, tax, grosspay, netpay);

      return 0;
}


 float askhoursworked()
 { 
       float hours;
       printf("\n Please enter hours worked \t");
       scanf("%f",&hours);

       return hours;
 }

 float askhourlyrate()
 { 
    float rate;
    printf("\n Please enter your payrate \t");
    scanf("%f",&rate);

    return rate; 
 }

float calculategrosspay(float hours,float rate)
{
    float grosspay;
    grosspay=hours*rate;

    return grosspay;
}

float calculatenetpay(float grosspay,float tax)
{
    float netpay;
    netpay=grosspay-tax;

    return netpay;
}

float calculatepayrolltax(float grosspay)
{
    float tax;
    tax=grosspay*.22;

    return tax;
}

float displayallvalues(float hours,float rate,float tax,float grosspay,float netpay)
{
    printf("\n Your total hours are %.2f",hours);
    printf("\n Your hourly rate  %.2f",rate);
    printf("\n Your grosspay is %.2f",grosspay);
    printf("\n Your taxes are %.2f",hours);
    printf("\n Your netpay is %.2f",netpay);
}

在C語言中,使用單遍編譯器。 這意味着在這里,秩序最重要。 您正在最后計算總薪水。 您正在將其用於計算凈工資和稅金。

這是正確的方法。

 hours = askhoursworked ();
 rate = askhourlyrate ();
 grosspay = calculategrosspay (hours, rate);
 tax = calculatepayrolltax (grosspay);
 netpay = calculatenetpay (grosspay, tax);

在線編譯器上檢查

編輯您還以錯誤的方式打印了輸出。

  printf ("\n Your total hours are %.2f", hours);
  printf ("\n Your hourly rate  %.2f", rate);
  printf ("\n Your grosspay is %.2f", grosspay);
  printf ("\n Your taxes are %.2f", tax);
  printf ("\n Your netpay is %.2f", netpay);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM