2017-02-28 6 views
5

मैं उपयोगकर्ता से अपने वजन के लिए पूछना चाहता हूं; उदाहरण के लिए;सी # में रीडलाइन के माध्यम से एक अलग स्थिति में मूल्य कैसे सम्मिलित करें?

Console.Write("Please enter your weight: {I want it to be inserted here} kg"); 
यहाँ

इनपुट किलो के बाद सम्मिलित किया जाएगा, हालांकि मैं यह बस से पहले "किलो" होने के लिए इतना है कि उपयोगकर्ता पता हो सकता है कि एक किलो मूल्य की उम्मीद की जा रही है चाहते हैं, और है कि अधिक जानकारी के लिए आवश्यक नहीं कर रहे हैं (जैसे किलो/एलबीएस ..)

अग्रिम धन्यवाद।

+2

मुझे लगता है कि यह संभव नहीं है। आप लिख सकते हैं "कृपया अपना वजन (किलो में) दर्ज करें:" यह स्पष्ट करने के लिए कि किस इकाई में उसे अपना वजन दर्ज करना है। –

+2

कंसोल इनपुट सुंदर प्रारूप नहीं करता है, बस रीडलाइन() करें और स्ट्रिंग को संसाधित करें। –

उत्तर

1

आप कंसोल के लिए अपने प्रश्न लिखने के लिए (मैं इसे इस तरह करना होगा)

Console.WriteLine("Please enter your weight (kg):"); 

तो मूल्य वापस आने के लिए के लिए प्रतीक्षा की जरूरत है।

यह

string userInput = Console.ReadLine(); 

उपयोगकर्ता डॉलर चिन्ह पर एक स्ट्रिंग स्ट्रिंग प्रक्षेप के लिए अनुमति देता है का उपयोग करने के लिए इंतजार करेंगे। सी # के आपके संस्करण के आधार पर, यह काम नहीं कर सकता है।

Console.WriteLine($"Your weight is {userInput}kg."); 
+0

यदि यह डॉलर चिह्न का उपयोग कर स्ट्रिंग इंटरपोलेशन की वजह से काम नहीं करता है, तो बस निम्न कार्य करें: कंसोल। ("आपका वजन है" + उपयोगकर्ता इनपुट + "किलो"); मैं कंसोल की बजाय Console.WriteLine की भी सिफारिश करूंगा। इस विशेष उदाहरण के लिए लिखें। https://msdn.microsoft.com/en-us/library/zdf6yhx5(v=vs.110).aspx –

+0

मैक्सिमेलियन 1986 के उत्तर से सावधान रहें। आप कंसोल के परिणाम को स्टोर नहीं कर सकते हैं। एक पूर्णांक में रीडलाइन। –

-1
int weight = Console.ReadLine(); 
if (weight != null) 
Console.WriteLine(string.format("Please enter your weight: {1} kg", weight)); 

यह अनियंत्रित कोड है। लेकिन ऐसा कुछ होना चाहिए।

+1

मुझे समझ में नहीं आता कि एक पूर्णांक कैसे शून्य हो सकता है। और स्ट्रिंग में। फर्मेट, यह {0} होना चाहिए, {1} ... – Kzrystof

3

आपको उपयोगकर्ता इनपुट की प्रत्येक कुंजी को पढ़ना होगा और फिर उस स्थान पर कर्सरपॉजिशन सेट करना होगा जिसे आप उपयोगकर्ता वजन प्रदर्शित करना चाहते हैं। इसके बाद आप इसे कंसोल पर लिखते हैं।

Console.Write("enter weight = kg"); 
Console.SetCursorPosition(0, 8); 
metric.weightKgs = byte.Parse(Console.ReadLine()); 

यह सब कर्सर स्थिति के नीचे आता है और यह सटीक स्थान खोजने के साथ प्रयोग करना:

static void Main(string[] args) 
{ 
    string prompt = "Please enter your weight: "; 
    Console.Write(prompt + " kg"); 
    ConsoleKeyInfo keyInfo; 
    string weightInput = string.Empty; 
    while ((keyInfo = Console.ReadKey()).Key != ConsoleKey.Enter) 
    { 
     //set position of the cursor to the point where the user inputs wight 
     Console.SetCursorPosition(prompt.Length, 0); 
     //if a wrong value is entered the user can remove it 
     if (keyInfo.Key.Equals(ConsoleKey.Backspace) && weightInput.Length > 0) 
     { 
      weightInput = weightInput.Substring(0, weightInput.Length - 1); 
     } 
     else 
     { 
      //append typed char to the input before writing it 
      weightInput += keyInfo.KeyChar.ToString(); 
     } 
     Console.Write(weightInput + " kg "); 
    } 

    //process weightInput here 
} 
+2

मैं इस समाधान को पसंद करूंगा, क्योंकि आप अंक के लिए प्रत्येक इनपुट जांच सकते हैं। तो 'एबीसी किग्रा' लिखना संभव नहीं होगा। यदि आप किलो के बाद अंतरिक्ष के लिए आश्चर्य करते हैं, तो यह अंतिम चरित्र को साफ़ करने के लिए है, अन्यथा यह थोड़ी देर बाद '70 किलोग्राम 'होगा – Matt

2

मैं एक साधारण सवाल का जवाब मिल गया है।

संबंधित मुद्दे

 संबंधित मुद्दे