4

私は C# コーディングの世界に新たに導入されました。現在、私は合計移動距離と合計移動時間を使用して平均速度を計算するプログラムで作業しており、その結果にニューヨーク市からマイアミまでの時間を掛けて、ニューヨーク市からマイアミまでの距離を取得します。textBoxesフォームに 4 つbutton、計算用に1 つ配置しました。

関数の構築に助けが必要です。たとえば、速度を計算するには: 速度 = 距離/時間。その情報を CalculateVelocity() 関数内の適切な形式にするにはどうすればよいですか?

4 つの TextBoxes とそのラベル (ユーザーがデータを入力する場所):

Starting Mileage
Ending Mileage
Total Driving Time 
Time from NY city to MIAMI

コード - 私が使用している関数:

 private double CalculateVelocity()
    {
        //Calculate Velocity
    }

    public double GetTime()
    {
            //Get Time
            return GetTime;
    }

    private double CalculateDistance(double velocity, double time)
    {
        //Calculate Distance
    }

    private double DisplayResults(double velocity, double time, double distance)
    {
        //Display Results
    }

    private double ClearTextboxes()
    {
        //Clear textboxes
    }

    // Property to GetTime
   private double GetTime
        {
            get
            {
                // variable to hold time
                double time = double.MinValue;

                // Safely parse the text into a double
                if (double.TryParse(tbTime.Text, out time))
                {
                    return time;
                }

                // Could just as easily return time here   
                return double.MinValue;
            }
            set
            {
                // Set tbTime
                tbTime.Text = value.ToString();
            }
        }

    private void button1_Click(object sender, EventArgs e)
    {
        //Calculate and display result in a label
    }
4

2 に答える 2

3

CalculateVelocity次のようになります。

private double CalculateVelocity()
{
     double time = GetTime(); //assuming you have set up GetTime()
     double distance = endingMileageBox - startingMileageBox;
     return distance/time; 
}

ここendingMileageBoxで、は終了マイレージテキストボックスstartingMileageBoxの値であり、は開始マイレージテキストボックスの値です。


あなたのコメントによると、これは次のようにCalculateDistanceなります:

private double CalculateDistance(double velocity, double time)
{
    //note that this assumes the units match up. If not, you'll need to do some conversions here
    return velocity * time;
}    

}

于 2012-09-25T13:48:30.127 に答える
2

必要な引数を追加するだけで、次のように機能する関数を呼び出す前に、テキスト ボックスから解析を行うことができます (方法を知っていることを示したように)。

private static double CalculateVelocityMPH(double distanceMiles, double timeHours) 
{ 
    return distanceMiles / timeHours;
}

私がポストフィックスとして持っているようなユニットを選択して指定する際に価値があります。

次に、時刻テキスト ボックスを解析するときに、and を使用TimeSpan.Parse.TotalHoursてメソッドを呼び出します。

于 2012-09-25T13:45:43.913 に答える