2015-10-04 61 views
2

我需要一些帮助。我是vbscript的新手,我有一个问题/问题。Vbscript循环,如果然后问题

我想给最终用户启动程序的能力。 我已经完成了有关MSDN的研究,并搜索了涉及基于if语句,子程序,函数和做的教程的各种其他站点,直到循环为止,而所有循环教程或解释都有一个循环遍历数字和字符串长度的程序。我公司开发的普通股的交易程序:这个程序结束

'Stock Transaction Program 

Option Explicit 
Dim stockPrice, commission, stocksBought, stockCommission, stockTotal, totalCost, tryAgain 


Wscript.StdOut.Write "Stock price: " 
stockPrice = CDbl(Wscript.StdIn.ReadLine) 
Wscript.StdOut.Write "Number of stocks bought: " 
stocksBought = CDbl(Wscript.StdIn.ReadLine) 
Wscript.StdOut.Write "Stock Commission percentage in whole number (i.e 2 for 2%): " 
commission = CDbl(Wscript.StdIn.ReadLine) 

stockTotal = stockPrice * stocksBought 
stockCommission = commission * stockTotal/100 
totalCost = stockCommission + stockTotal 

Wscript.StdOut.WriteLine "You payed a total commission of $" & stockCommission & " on the stocks you bought." 
Wscript.StdOut.WriteLine "Your total price for you purchasing " & stocksBought & " stocks is $" & totalCost & "." 

后,我将给予最终用户一个选项,以评估另一支股票price..etc。

Wscript.Stdout.Writeline "Would you evaluate another stock price? (i.e y or n): " 
tryAgain = lcase(wscript.stdin.readline) 

我的逻辑假定你现在会与一些类型的if语句,基本上说着手:如果TRYAGAIN等于“Y”,然后用感谢着手重回巅峰,如果“N”则退出程序你的结论是,如果无效字符,则表明最终用户输入了无效响应,允许他们再次尝试运行。

我想不起来。函数和子例程需要参数(我假设)和子例程不提供数据输出。函数做但这个代码不分类。我希望他们是一个可以让程序重新开始的语法。我认为某种循环可能是答案,但我没有知识或经验。

他们的任何人都可以帮助我?

谢谢

回答

0

这可能是最简单的解决方案之一。

Option Explicit 
Dim stockPrice, .... , tryAgain 

Do 
    '.... 
    ' your stocks code 
    '.... 

    Wscript.Stdout.Writeline "Would you evaluate another stock price? (i.e y or n): " 
    tryAgain = lcase(wscript.stdin.readline) 

Loop While tryAgain="y" 
+0

非常感谢!我以为我尝试过,但我想我错了。它工作完美。你教过我一个使用VBScript的有价值的工具!保持良好的答案! –