2013-10-14 95 views
-4

我是C#的2周nube。我试图让用户输入一个数值(IE:你想要多少?),然后取这个值并计算税和总额。我无法弄清楚如何做到这一点,并想知道是否有人可以告诉我?谢谢,我现在的脚本是波纹管:处理用户输入(Mathmatical)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Welcome to Infinate Happiness Ranch.\nPlease enter your order information bellow. "); 

      Console.WriteLine(); 

      Console.WriteLine("Please enter your first and last name:"); 
      string FirstName = Console.ReadLine(); 

      Console.WriteLine("Please enter your street address:"); 
      string Address = Console.ReadLine(); 

      Console.WriteLine("Please enter your city:"); 
      string City = Console.ReadLine(); 

      Console.WriteLine("Please enter your two letter state abreviation:"); 
      string StateCode = Console.ReadLine(); 

      Console.WriteLine("Please enter your zip code:"); 
      string ZipCode = Console.ReadLine(); 

      Console.WriteLine("Please enter the number of Tribbles \nyou wish to purchase for $29.99 plus tax"); 
      string NumberOrdered = Console.ReadLine(); 

      Console.WriteLine("Invoice \nName {0}", FirstName); 
      Console.WriteLine("Address {0}", Address); 
      Console.WriteLine("City {0}", City); 
      Console.WriteLine("StateCode {0}", StateCode); 
      Console.WriteLine("ZipCode {0}", ZipCode); 
      Console.WriteLine("NumberOrdered {0}", NumberOrdered); 
      // PROGRAM WORKS UNTIL HERE. 
      NumberOrdered = m; 
      TotalBeforeTax = m * 29.99; //'n' is total b4 tax 
      o = n * 0.9;// 'o' is total tax due 
      p = o + n; // 'p' is total due 

      Console.WriteLine("Your total is {0} {1}", n); 
      Console.WriteLine("Your tax is {0}", o); 
      Console.WriteLine("Your total charge is {0}", p); 
      Console.WriteLine("Thank you for your order"); 
      Console.WriteLine(); 

      //Console.WriteLine("Name:" + FirstName); 
      Console.Read();  
     } 
    } 
} 
+3

你的程序不能编译。永远不要说你的程序“不起作用”。解释你期望发生什么,以及发生了什么。 –

+0

什么是'm'?我没有看到它的定义。 –

+0

这是一个相当长的程序。也许你可以删除所有不必要的东西,比如“使用”等? –

回答

-3

只是一些建议,您可以在Console.WriteLine非字符串变量(),如:

Console.WriteLine("Your tax is " + o); 

这是最专业的开发商做。不需要复杂的C/C++风格的解析。

另外,你似乎没有声明变量o和p。试试这个:

double o = Convert.toDouble(n * 0.9);

double o =(double)(n * 0.9);

+0

这是一个相当大的泛化...没有理由引导人们远离字符串格式的方法。 – RQDQ

+0

有很多。这是一种更直观的编码方式,使其更容易理解并减少人为错误的可能性,特别是在处理不同类型的多个变量时。 – user2450099

+0

不好的建议。不回答这个问题。 –

0

你应该解析字符串

int ordered = int.Parse(NumberOrdered); 

,并继续与这个整数来计算。

0

由于用户以字符串形式输入信息,因此应该将订购的数字转换为整数。另外,为了保留小数点,您需要将数字存储为诸如此类数量的双精度数。

int numOrdered = Convert.ToInt32(NumberOrdered); 
double TotalBeforeTax = numOrdered * 29.99; 

double beforeTax = TotalBeforeTax * 0.9; 
double afterTax = beforeTax + TotalBeforeTax; 

Console.WriteLine("Your total is {0}", TotalBeforeTax); 
Console.WriteLine("Your tax is {0}", beforeTax); 
Console.WriteLine("Your total charge is {0}", afterTax); 
Console.WriteLine("Thank you for your order"); 
0

您忘记声明一些变量并分配一些值。

试试这个:

static float m; 
static float n; 
static float o; 
static float p; 
static float TotalBeforeTax; 
static void Main(string[] args) 
{ 
    Console.WriteLine("Welcome to Infinate Happiness Ranch.\nPlease enter your order information bellow. "); 
    Console.WriteLine(); 

    Console.WriteLine("Please enter your first and last name:"); 
    string FirstName = Console.ReadLine(); 

    Console.WriteLine("Please enter your street address:"); 
    string Address = Console.ReadLine(); 

    Console.WriteLine("Please enter your city:"); 
    string City = Console.ReadLine(); 

    Console.WriteLine("Please enter your two letter state abreviation:"); 
    string StateCode = Console.ReadLine(); 

    Console.WriteLine("Please enter your zip code:"); 
    string ZipCode = Console.ReadLine(); 

    Console.WriteLine("Please enter the number of Tribbles \nyou wish to purchase for $29.99 plus tax"); 
    string NumberOrdered = Console.ReadLine(); 

    Console.WriteLine("Invoice \nName {0}", FirstName); 
    Console.WriteLine("Address {0}", Address); 
    Console.WriteLine("City {0}", City); 
    Console.WriteLine("StateCode {0}", StateCode); 
    Console.WriteLine("ZipCode {0}", ZipCode); 
    Console.WriteLine("NumberOrdered {0}", NumberOrdered); 
    //PROGRAM WORKS UNTIL HERE ? HELP ? ? ? ? ? 
    //NumberOrdered = m; 
    m = float.Parse(NumberOrdered); 
    TotalBeforeTax = m * 29.99f; //'n' is total b4 tax 
    n = TotalBeforeTax; 
    o = n * 0.9f;//'o' is total tax due 
    p = o + n; //'p' is total due 

    Console.WriteLine("Your total is {0}", n); 
    Console.WriteLine("Your tax is {0}", o); 
    Console.WriteLine("Your total charge is {0}", p); 
    Console.WriteLine("Thank you for your order"); 
    Console.WriteLine(); 
    Console.Read(); 
} 

希望这有助于!