2013-03-13 52 views
-1

我有一個任務,我完全不理解。我們專注於在本章陳述的同時,一邊做。問題如下:Visual Studio編程

「肯頓公司的工資管理員希望有一個程序,允許他爲三個商店中的每一個輸入未知數量的工資金額:商店1,商店2和商店3。程序應計算總工資單,然後在屏幕上顯示結果。「

我完全失去了從哪裏開始。我猜混淆了我的是「未知數量的工資總額」。我不知道如何讓用戶轉換進入下一個商店工資金額。問題是關於使用標記值的說明,但它也沒有說不使用標記值。

任何幫助或建議將完全讚賞!

+1

允許一個特殊的輸入表示 「未來商店」。例如,空行或「-1」作爲工資單。 – 2013-03-13 03:07:12

+1

您可以要求用戶輸入一個金額,或者只需按回車鍵(即空輸入)即可停止。這樣,您可以繼續收集金額,直到用戶決定停止。 – 2013-03-13 03:07:13

+1

我真的很想相信這不是一個「做我的作業」的問題。那麼,到目前爲止你嘗試過了什麼?我沒有看到VS編程專門做了什麼。這是一個如何編寫解決方案到簡單程序的問題。 – 2013-03-13 03:07:26

回答

2

由於有三家商店,您可能希望保留每個單獨的工資金額,即使這些規格似乎並不在意。這樣,您可以使用特殊的商店代碼0來表示您已完成。

僞代碼如下:

store1 = 0 
store2 = 0 
store3 = 0 
print "Enter store, or 0 to end: " 
input storenum 
while storenum <> 0: 
    print "Enter a payroll amount: " 
    input amount 
    select storenum: 
     case 1: 
      store1 += amount 
      end case 
     case 2: 
      store2 += amount 
      end case 
     case 3: 
      store3 += amount 
      end case 
    end select 
    print 
    print "Enter store # or 0 to end" 
    input storenum 
end while 
print 
print "Store 1 payroll is ", store1 
print "Store 2 payroll is ", store2 
print "Store 3 payroll is ", store3 
print 
print "Total payroll is ", store1 + store2 + store3 

這將導致像成績單:

Enter store, or 0 to end: 3 
Enter a payroll amount: 33 

Enter store, or 0 to end: 2 
Enter a payroll amount: 22 

Enter store, or 0 to end: 3 
Enter a payroll amount: 11 

Enter store, or 0 to end: 0 

Store 1 payroll is 0 
Store 2 payroll is 22 
Store 3 payroll is 44 

Total payroll is 66 
+0

我認爲我的問題是我試圖將所有三個商店合併在一個聲明中。我沒有考慮到我可以使用三種不同的聲明,每種商店一種。我使用了一個外部do while語句,一個inner do while語句和一個內部語句。很明顯,它沒有工作,最終只是看起來像一個巨大的混亂。 – user2163574 2013-03-13 03:25:58

+0

如果我不使用switch語句,我可以使用case語句嗎? – user2163574 2013-03-13 03:34:09

+0

@ user2163574,不,不在C++中。如果出於某種原因你不能使用'select/case'(就像你的教育者不允許),你可以用嵌套的'if/else'結構實現相同的結果)。 – paxdiablo 2013-03-13 04:01:03