2017-04-09 4 views
-2

私はこれに最大の手数料を加え、それを行う方法を混乱させる必要があります。私は のconst decimal MAX_FEE = 20.00Mを追加しました。コードにして、いくつかの異なった方法を試みたが、:(助けてください最大料金を追加するC#

static void Main(string[] args) 
    { 
     int[] hours = new int[31]; 
     const decimal HOURLY_RATE = 2.5M; 
     const decimal MAX_FEE = 20.00M; 
     decimal pay; 
     int counter = 0; 
     string line; 
     StreamReader fileSR = new StreamReader("hours.txt"); 
     line = fileSR.ReadLine(); 
     while (line != null) 
     { 
      hours[counter] = int.Parse(line); 
      counter = counter + 1; 
      line = fileSR.ReadLine(); 
     } 
     fileSR.Close(); 
     Console.WriteLine("hours  pay"); 
     for (int i = 0; i < hours.Length; i++) 
     { 
      pay = hours[i] * HOURLY_RATE; 
      Console.WriteLine("{0,4} {1,10}", hours[i], pay.ToString("C")); 
     } 
     Console.ReadKey(); 




    } 
} 

}

プログラムがある場合は有料列に20 $を表示する必要がある場合、彼らは、そのような他のIFSやなどの作業を、didntの10時間

+0

あなたのwhileループで何が起こる –

+0

申し訳ありません私の悪い、ファイルをタイプミス30ですか? l inesそれは31でなければなりません、それはリストの一番下にゼロを表示します、私は平均を計算するためにそれも働いています – Simbeazy

+0

それは大丈夫です。私が得ようとしているのは、ファイルに常に 'x'の数の行があると仮定するのは悪いことです:' int [31] '。ファイルの行数が50行の場合、例外が発生します。配列の代わりに 'List 'を使用してください。 –

答えて

0

私が正しく理解していれば、あなたが20を超えないようにする必要がある上:あなたのファイルは、30本の以上のラインを持っている場合

pay = Math.Min(hours[i] * HOURLY_RATE, MAX_FEE); 
+0

大丈夫固定それは今、感謝の仲間、私は一日中、平均してトラブルを抱えて、運がいいみんなありがとう:) – Simbeazy

関連する問題