2016-09-16 71 views
-1

我在這裏是新的,並試圖用C++編寫代碼。 我的程序第1天有一個格式問題,任何人都可以幫我嗎? 謝謝!格式問題與c + +有人可以幫助我嗎?

以下是分配細節。

對於這項任務,編寫一個程序,該程序將計算一個人在有限(隨機)時間段內掙多少錢,如果他/她的薪水在第一天是隨機數並且每天繼續增加一倍。

因此,如果一個人的起薪爲0.04美元,他們將在工作的第一天賺取0.04美元,第二天爲0.08美元,第三天爲0.16美元......在三天內,該人將獲得0.28美元。

如果再舉幾個例子,這個人第四天將賺取0.32美元,第五天爲1.04美元(薪水爲0.64美元,獎金爲0.40美元),第六天爲1.28美元,爲期6天的工作總共爲2.92美元。

#include <iostream> 
#include <iomanip> 
#include <cstdlib> 
#include <ctime> 

using namespace std; 

int main() 


{ 

srand(1); 

srand(time(0)); 


    float salary = 0, bonus = 0, totalpay = 0; 
    int days = 0, salary2; 

salary = rand() % 6 + 1; 
salary = salary/100; 
days = rand() % 31; 
totalpay = salary; 

    cout << "Starting salary: " << salary << endl 
     << "Days worked: " << days << endl 
     << "************************************" << endl 
     << setw(30) << "Daily Salary" << setw(30) << "Amount Earned" << setw(30) << endl; 

    for (int d = 0; d < days; d++) 
    { 

     cout << "Day " << d + 1 << ":" << '\t' 
     << fixed << setprecision(2) << setw(18) << salary << '\t' 
     << setw(18)<< (totalpay+bonus) << endl; 

     salary *= 2; 

     if ((d+1) % 5 == 0) 
      bonus = salary * 10; 
     else 
      bonus = 0.00; 

     totalpay += salary; 



    } 



return 0;   

    enter code here 

} 

*****這是我的輸出****

Starting salary: 0.02 
Days worked: 20 
************************************ 
        Daily Salary     Amount Earned 
          Day 1:      0.02     0. 
02 
Day 2:    0.04     0.06 
Day 3:    0.08     0.14 
Day 4:    0.16     0.30 
Day 5:    0.32     0.62 
Day 6:    0.64     7.66 
Day 7:    1.28     2.54 
Day 8:    2.56     5.10 
Day 9:    5.12     10.22 
Day 10:    10.24     20.46 
Day 11:    20.48     245.74 
Day 12:    40.96     81.90 
Day 13:    81.92     163.82 
Day 14:    163.84     327.66 
Day 15:    327.68     655.34 
Day 16:    655.36     7864.30 
Day 17:   1310.72     2621.42 
Day 18:   2621.44     5242.86 
Day 19:   5242.88    10485.74 
Day 20:   10485.76    20971.50 

-------------------------------- 
Process exited after 0.1105 seconds with return value 0 
Press any key to continue . . . 
+0

如果您有輸出問題,您需要顯示預期輸出和輸出。 – NathanOliver

+0

謝謝,我修復了我的帖子。 –

回答

1

試試這個變化:

-   << setw(30) << "Daily Salary" << setw(30) << "Amount Earned" << setw(30) << endl; 
+   << setw(30) << "Daily Salary" << setw(30) << "Amount Earned" << endl; 

endl前的最後setw(30)被應用於下一個一段文字,在你的情況下,在第一次迭代"Day "

+0

謝謝!你修好了! –

+0

@BradleyTourt把Jose當作骨頭,並將其標記爲答案。何塞,我建議填補一點,所以它不會被刪除只是一個代碼的答案。添加你做了什麼,爲什麼,以及爲什麼它的作品。 – user4581301

0

在你的代碼...

 << setw(30) << "Daily Salary" << setw(30) << "Amount Earned" << setw(30) << endl; 

for (int d = 0; d < days; d++) 
{ 
    cout << "Day " << d + 1 << ":" << '\t' 

setw(30)endl;之前申請"Day ",而不是endlendl不能使用setw

相關問題