मैं एक होमवर्क असाइनमेंट किया है, यहाँ है समस्या बयान:सी # फ़ाइल आई/ओ क्षमता
आपका कार्यक्रम के रूप में काम करना चाहिए इस प्रकार है:
- उपयोगकर्ता से पूछें कि आप एक फ़ाइल नाम देने के लिए। फ़ाइल का नाम प्राप्त करें और इसे सेव करें।
- फ़ाइल खोलें।
- फ़ाइल से तापमान और हवा की गति को पढ़ें। दोनों मानों को डबल के रूप में घोषित चर में संग्रहीत किया जाना चाहिए। फ़ाइल एक पाठ फ़ाइल है। फ़ाइल की प्रत्येक पंक्ति में तापमान और हवा की गति मान होता है।
एक प्रोग्रामर लिखा पद्धति का उपयोग करके सर्द हवा कारक की गणना करें, और के रूप में परिणाम प्रदर्शित:
टी के लिए = फ़ाइल हवा सर्द सूचकांक से फ़ाइल और वी = हवा की गति से तापमान = गणना परिणाम डिग्री फेरनहाइट ।
दशमलव बिंदु के बाद दो अंकों के साथ सभी संख्याओं को दिखाएं। (याद रखें- कोई जादू संख्या नहीं!)
फ़ाइल के अंत तक इन चरणों को दोहराएं।
मैं काम पूरा कर लिया है, मेरे कोड के नीचे है, अगर वहाँ इसे और अधिक कुशल बनाने के लिए किसी भी तरह से था मैं बस सोच रहा था, या अगर कोई कुछ अलग और रचनात्मक तरीकों से इस समस्या को पूरा करने के लिए कर रहे हैं, मैं पहले से ही कर दिया इसमें 50/50 मिल गया, लेकिन मैं सिर्फ उत्सुक हूं कि आप में से कुछ उन्नत और कुशल प्रोग्रामर इस समस्या से कैसे संपर्क करेंगे।
using System;
using System.IO;
class Program
{
// declare constants to use in wind chill factor equation - no magic numbers
const double FIRST_EQUATION_NUMBER = 35.74;
const double SECOND_EQUATION_NUMBER = 0.6215;
const double THIRD_EQUATION_NUMBER = 35.75;
const double FOURTH_EQUATION_NUMBER = 0.4275;
const double EQUATION_EXPONENT = 0.16;
const int DEGREE_SYMBOL_NUMBER = 176;
static void Main()
{
// declare and initialize some variables
string filePath = "";
string line = "";
double temperature = 0.0;
double windSpeed = 0.0;
double windChillFactor = 0.0;
char degreeSymbol = (char)DEGREE_SYMBOL_NUMBER;
// ask user for a file path
Console.Write("Please enter a valid file path: ");
filePath = Console.ReadLine();
// create a new instance of the StreamReader class
StreamReader windChillDoc = new StreamReader(@filePath);
// start the read loop
do
{
// read in a line and save it as a string variable
line = windChillDoc.ReadLine();
// is resulting string empty? If not, continue execution
if (line != null)
{
string[] values = line.Split();
temperature = double.Parse(values[0]);
windSpeed = double.Parse(values[1]);
windChillFactor = WindChillCalc(temperature, windSpeed);
Console.WriteLine("\nFor a temperature {0:f2} F{1}", temperature, degreeSymbol);
Console.WriteLine("and a wind velocity {0:f2}mph", windSpeed);
Console.WriteLine("The wind chill factor = {0:f2}{1}\n", windChillFactor, degreeSymbol);
}
} while (line != null);
windChillDoc.Close();
Console.WriteLine("\nReached the end of the file, press enter to exit this program");
Console.ReadLine();
}//End Main()
/// <summary>
/// The WindChillCalc Method
/// Evaluates a wind chill factor at a given temperature and windspeed
/// </summary>
/// <param name="temperature">A given temperature</param>
/// <param name="ws">A given windspeed</param>
/// <returns>The calculated wind chill factor, as a double</returns>
static double WindChillCalc(double temperature, double ws)
{
double wci = 0.0;
wci = FIRST_EQUATION_NUMBER + (SECOND_EQUATION_NUMBER * temperature) - (THIRD_EQUATION_NUMBER * (Math.Pow(ws, EQUATION_EXPONENT))) + (FOURTH_EQUATION_NUMBER * temperature * (Math.Pow(ws, EQUATION_EXPONENT)));
return wci;
}
}//End class Program
मुझे यह बताने में संकोच न करें कि आप इसके बारे में क्या सोचते हैं।
जब आपके पास एक ऐसा फ़ंक्शन होता है जो एक सेट समीकरण के आधार पर गणना परिणाम देता है, तो समारोह के सारांश में समीकरण समीकरण करना अच्छा होता है। –