2013-03-13 69 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