找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
伊莉需要你的贊助和支持搞笑、娛樂、精彩的影片讓你看你準備好成為出色的版主了嗎?
office三上銀魂中出中字無碼 ge
邱軍adobe 20看門狗 d我們的七皇家moodyzフソーサリ

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[簡]為了在異世界也能

[繁]秒殺外掛太強了,

[繁/無修正]婚戒物語

板橋中山路二段 這種

[繁]我獨自升級10-

[繁]異修羅12- (第一
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 5320|回復: 2

[求助] 作業求助[複製鏈接]

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
9
積分
1571 點
潛水值
26300 米
發表於 2016-11-3 02:03 AM|顯示全部樓層
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
本帖最後由 chenyy1023 於 2016-11-11 03:17 AM 編輯

如標題  小弟的程式能力不佳,因此只好向各位大大求助






附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

Rank: 1

帖子
76
積分
193 點
潛水值
4402 米
發表於 2016-11-5 12:19 AM|顯示全部樓層
本帖最後由 跨越青春嶺 於 2016-11-5 01:28 PM 編輯

要好好認真上課,幫你[1][2][5][7][10][11][12][13][14][16],這花了我三天三夜...
剩下的[8][15],如果你有心的話,看我的程式碼就能寫出來了,不會太難...
程式碼看不懂是正常的,因為你給老師看程式碼,可能他還要去研究一下......
瀏覽完整內容,請先 註冊登入會員

點評

chenyy1023 感謝大大您的幫助 因為對於迴圈的使用判斷 小弟剛接觸實在是無法馬上融會貫通 希望能從大大的程式碼中學會如何判斷  發表於 2016-11-6 05:43 PM
rr09192084 您這個大量使用LINQ語法,沒有點功力會有點吃力。  發表於 2016-11-5 08:10 PM
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
310
積分
178 點
潛水值
13319 米
發表於 2018-1-25 01:00 AM|顯示全部樓層
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
我一定是太無聊了才會幹這種事情


Program.cs
  1. using System;

  2. namespace homework_15
  3. {
  4.     internal class Program
  5.     {
  6.         private static int _userDistance;
  7.         private static readonly Car Taxi = new Car();

  8.         private static void Main(string[] args)
  9.         {
  10.             while (true)
  11.             {
  12.                 Console.Write("請輸入里程,用以計算車費 (輸入非數字則離開程式):");
  13.                 var userInput = Console.ReadLine();
  14.                 var isNumber = int.TryParse(userInput, out _userDistance);

  15.                 if (isNumber)
  16.                 {
  17.                     var totalPrice = Taxi.Pay(_userDistance);
  18.                     var memo = Taxi.AskDetail();
  19.                     Console.WriteLine([        DISCUZ_CODE_0        ]quot;車費為 ${totalPrice} 元");
  20.                     Console.WriteLine(memo);
  21.                 }
  22.                 else
  23.                 {
  24.                     Console.WriteLine("BYE!");
  25.                     Console.ReadKey();
  26.                     Environment.Exit(0);
  27.                 }
  28.             }
  29.         }
  30.     }
  31. }
複製代碼

Car.cs
  1. using System.Text;

  2. namespace homework_15
  3. {
  4.     public class Car
  5.     {
  6.         private decimal _totalPrice;
  7.         private int _distance;
  8.         private readonly int _baseDistance;
  9.         private readonly int _basePrice;
  10.         private readonly int _moreDistance;
  11.         private readonly int _morePrice;
  12.         private int _lastDistance;
  13.         private int _moreCount;
  14.         private string _memo;
  15.         private readonly StringBuilder _sb = new StringBuilder();

  16.         public Car()
  17.         {
  18.             _baseDistance = 1500;
  19.             _basePrice = 70;
  20.             _moreDistance = 500;
  21.             _morePrice = 6;
  22.         }

  23.         public Car(int baseDistance, int basePrice, int moreDistance, int morePrice)
  24.         {
  25.             _baseDistance = baseDistance;
  26.             _basePrice = basePrice;
  27.             _moreDistance = moreDistance;
  28.             _morePrice = morePrice;
  29.         }

  30.         public decimal Pay(int distance)
  31.         {
  32.             ResetDistanceAndPrice(distance);
  33.             if (_distance <= _baseDistance)
  34.             {
  35.                 _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_distance} 公尺 < {_baseDistance} 公尺 1 次, {_basePrice} 元");
  36.                 return _basePrice;
  37.             }

  38.             _totalPrice += ComputeBaseDistance();
  39.             _totalPrice += ComputeMoreDistance();
  40.             _totalPrice += ComputeLastDistance();

  41.             return _totalPrice;
  42.         }

  43.         private decimal ComputeLastDistance()
  44.         {
  45.             _lastDistance = _distance % _moreDistance;
  46.             if (_lastDistance > 0)
  47.                 _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_lastDistance} 公尺 < {_moreDistance} 公尺 1 次, {_morePrice} 元");
  48.             return _morePrice;
  49.         }

  50.         private decimal ComputeMoreDistance()
  51.         {
  52.             _moreCount = _distance / _moreDistance;
  53.             if (_moreCount > 0)
  54.                 _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_moreDistance} 公尺 {_moreCount} 次, {_moreCount * _morePrice} 元");

  55.             return _morePrice * _moreCount;
  56.         }

  57.         private int ComputeBaseDistance()
  58.         {
  59.             _distance -= _baseDistance;
  60.             _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_baseDistance} 公尺 1 次, {_basePrice} 元");
  61.             return _basePrice;
  62.         }

  63.         private void ResetDistanceAndPrice(int distance)
  64.         {
  65.             _lastDistance = 0;
  66.             _moreCount = 0;
  67.             _distance = distance;
  68.             _totalPrice = 0;
  69.         }

  70.         public string AskDetail()
  71.         {
  72.             _memo = _sb.ToString();
  73.             _sb.Clear();
  74.             return _memo;
  75.         }
  76.     }
  77. }
複製代碼

UnitTest.cs
  1. using FluentAssert;
  2. using homework_15;
  3. using Microsoft.VisualStudio.TestTools.UnitTesting;

  4. namespace homework_15_Test
  5. {
  6.     [TestClass]
  7.     public class UnitTest1
  8.     {
  9.         private Car _taxi;

  10.         [TestInitialize]
  11.         public void TestInit()
  12.         {
  13.             _taxi = new Car();
  14.         }

  15.         [TestMethod]
  16.         public void Input_2300_Should_Return_82()
  17.         {
  18.             var actual = _taxi.Pay(2300);
  19.             actual.ShouldBeEqualTo(82);
  20.         }

  21.         [TestMethod]
  22.         public void Input_1500_Should_Return_70()
  23.         {
  24.             var actual = _taxi.Pay(1500);
  25.             actual.ShouldBeEqualTo(70);
  26.         }

  27.         [TestMethod]
  28.         public void Under_1500_Always_Return_70()
  29.         {
  30.             var actual = _taxi.Pay(1300);
  31.             actual.ShouldBeEqualTo(70);
  32.         }

  33.         [TestMethod]
  34.         public void Input_1800_Should_Return_76()
  35.         {
  36.             var actual = _taxi.Pay(1800);
  37.             actual.ShouldBeEqualTo(76);
  38.         }

  39.         [TestMethod]
  40.         public void Input_3010_Should_Return_94()
  41.         {
  42.             var actual = _taxi.Pay(3010);
  43.             actual.ShouldBeEqualTo(94);
  44.         }
  45.     }
  46. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
有那麼重要嗎?
其實沒有嘛~

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部