操纵用户输入(数学)

时间:2013-10-14 17:04:59

标签: c#

我是C#的2周nube。我试图让用户输入一个数值(IE:你想要多少?),然后取出该值并计算税收和总额。我无法弄清楚如何做到这一点,并想知道是否有人可以告诉我?谢谢,我目前的剧本如下:

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();    
        }
    }
}

4 个答案:

答案 0 :(得分:0)

你应该用

解析字符串
int ordered = int.Parse(NumberOrdered);

继续用这个整数计算。

答案 1 :(得分: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");

答案 2 :(得分: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();
}

希望这有帮助!

答案 3 :(得分:-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);