現在独学でやっているプログラミング初心者です。
C#(.Netframework)について質問があります。
前提・実現したいこと
現在、初心者向けの本を読んでいて、その本の「ポイント計算プログラム」を作る課題で行き詰っています。
①商品の金額を入力
②商品の金額の1%がポイントになる(四捨五入で整数に)
③日付を入力して5の倍数の日はポイントを5倍に
発生している問題・エラーメッセージ
商品の金額を入力してくださいが3回出てしまいます。
該当のソースコード
C#
1 2using System; 3using System.Collections.Generic; 4using System.Linq; 5using System.Text; 6using System.Threading.Tasks; 7 8namespace PointSystem 9{ 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 ItemValue(); 15 Point(); 16 SaleDay(); 17 } 18 19 20 21 public static int Point() 22 { 23 //ポイント計算 24 int itemValue = ItemValue(); 25 return (int)(itemValue * 0.01); 26 27 } 28 29 public static int ItemValue() 30 { 31 Console.WriteLine("商品の値段を入力してください:"); 32 var item = Console.ReadLine(); 33 var itemValue = int.Parse(item); 34 return itemValue; 35 } 36 37 public static void SaleDay() 38 { 39 Console.WriteLine("今日は何日ですか?:"); 40 var day = Console.ReadLine(); 41 var date = int.Parse(day); 42 var point = Point(); 43 44 //ポイント5倍の日か判定 45 if (date % 5 == 0) 46 { 47 Console.WriteLine("今日はポイント5倍の日です"); 48 point *= 5; 49 Console.WriteLine("獲得ポイントは{0}です",point); 50 } 51 else 52 { 53 Console.WriteLine("獲得ポイントは{0}です。",point); 54 } 55 } 56 } 57}
試したこと
MainメソッドにてSaleDay以外のメソッドを呼び出さなかった場合、金額を入力する回数が1回だけで済むのですが、どうしてなのでしょうか?
すべてのメソッドを呼び出す必要がないのでしょうか?
補足情報(FW/ツールのバージョンなど)
独学の初心者なので、見やすいコードの書き方なども教えていただけるとありがたいです。
回答3件
あなたの回答
tips
プレビュー