none
Loop Control.. RRS feed

  • 問題

  • 唔該大家幫幫我功課上問題..

    本身自己對PRGRAM好差 諗左好耐都唔得..

    要用CONSOLE黎OUTPUT..

    問題

    Screen output 1:
    Choose your order, type (A/B/C): K
    Wrong response! You may only choose A, B, or C: A
    Do you want to order a drink? (Y/N): Y
    Cold drink? (Y/N): Y
    Total amount is 37, thank you!

    點樣可以用loop Control黎控制 USER一定要輸入A/B/C..輸入其他要SHOW個Wrong Response...

    希望大家幫到我

    唔該


    • 已編輯 SLL413 2012年10月27日 上午 09:57
    2012年10月27日 上午 09:53

解答

  • 您好,
    可參考 Console.ReadKey 方法 + While 等相關方式

    建議可以先把「C# 程式設計手冊」看一看哦,希望對您有幫助。

    比較那些是否符合那些字元,可以用Array去Contains 輸入的字串,如下的 req.Contains(req1) ,表示輸入字元符合,

    所以不符合要一直請User輸入就可以用while去包。

    以下的類似程式,請您參考了解它們。

    static void Main(string[] args)
    {
    	Console.Write("Choose your order, type (A/B/C):");
    	char[] req = new char[] {'A', 'B', 'C'};
    	char req1 = Convert.ToChar(Console.ReadKey().Key );
    	while (req.Contains(req1) == false)
    	{
    		Console.WriteLine();
    		Console.Write("Wrong response! You may only choose A, B, or C:");
    		req1 = Convert.ToChar(Console.ReadKey().Key);
    		
    	}
    	Console.WriteLine();
    	Console.Write("Do you want to order a drink? (Y/N):");
    	char req2 = Convert.ToChar(Console.ReadKey().Key);
    	//........
    	Console.WriteLine("Order:" + req1);
    	Console.WriteLine("drink:" + req2);
    	 
    	Console.Read();
    }


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/



    2012年10月27日 上午 10:15

所有回覆

  • 您好,
    可參考 Console.ReadKey 方法 + While 等相關方式

    建議可以先把「C# 程式設計手冊」看一看哦,希望對您有幫助。

    比較那些是否符合那些字元,可以用Array去Contains 輸入的字串,如下的 req.Contains(req1) ,表示輸入字元符合,

    所以不符合要一直請User輸入就可以用while去包。

    以下的類似程式,請您參考了解它們。

    static void Main(string[] args)
    {
    	Console.Write("Choose your order, type (A/B/C):");
    	char[] req = new char[] {'A', 'B', 'C'};
    	char req1 = Convert.ToChar(Console.ReadKey().Key );
    	while (req.Contains(req1) == false)
    	{
    		Console.WriteLine();
    		Console.Write("Wrong response! You may only choose A, B, or C:");
    		req1 = Convert.ToChar(Console.ReadKey().Key);
    		
    	}
    	Console.WriteLine();
    	Console.Write("Do you want to order a drink? (Y/N):");
    	char req2 = Convert.ToChar(Console.ReadKey().Key);
    	//........
    	Console.WriteLine("Order:" + req1);
    	Console.WriteLine("drink:" + req2);
    	 
    	Console.Read();
    }


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/



    2012年10月27日 上午 10:15
  • 香港的朋友你好,這裡是台灣區的論壇,多數網友都習慣看普通話的繁體中文,若要在這發問,請尊重這裡的語系習慣,使用繁體中文。

    否則可能只有等看得懂香港語助詞的網友回應了。


    學習不是查個 Google 套個書上的範例就算了,而是去熟悉了解每個程式碼背後的意義,否則就算學個幾百年,它也不會是你的。

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2012年10月27日 下午 12:09
    版主
  • 十分抱歉..因為我是第一次上來這個網的

    希望不會介意

    十分感謝!

    2012年10月27日 下午 12:45
  • 十分感謝你的答案..

    我真的想了很久..PROGRAM新手呢

    2012年10月27日 下午 12:47
  • 別客氣,有任何問題,請再提出來討論!

    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年10月27日 下午 03:42
  • 還有,請你把這問題標為"已解答"

    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    2012年10月30日 上午 04:28