✏️ تعديل: Problem #45
تعديل محتوى الموضوع
→ رجوع للموضوع
عنوان الموضوع
التصنيف
التاقات (مفصولة بفاصلة)
ملاحظة التعديل (اختياري)
المحتوى
```cpp #include <iostream> // Include iostream for input/output operations. #include <string> // Include string to return month names. using namespace std; // Use the standard namespace to avoid prefixing std:: to standard functions. // Enum: enMonthOfYear // Purpose: Represents the months of the year with corresponding numerical values. enum enMonthOfYear { Jan = 1, Feb = 2, Mar = 3, Apr = 4, May = 5, Jun = 6, Jul = 7, Aug = 8, Sep = 9, Oct = 10, Nov = 11, Dec = 12 }; // Function: ReadNumberInRange // Purpose: Prompts the user to enter a number within a specified range and ensures valid input. // Parameters: // - Message: A string containing the prompt message to be displayed. // - From: The lower bound of the acceptable range. // - To: The upper bound of the acceptable range. // Returns: A validated integer representing the user's input. int ReadNumberInRange(string Message, int From, int To) { int Number = 0; // Variable to store the user's input. // Keep prompting the user until a valid number within the specified range is entered. do { cout << Message << endl; // Display the provided message. cin >> Number; // Read the number entered by the user. } while (Number < From || Number > To); // Repeat if the input is out of range. return Number; // Return the validated number. } // Function: ReadMonthOfYear // Purpose: Prompts the user to enter a month number (1-12) and returns the corresponding enum value. // Returns: The selected month as an enMonthOfYear enum. enMonthOfYear ReadMonthOfYear() { // Read a number between 1 and 12 and cast it to enMonthOfYear enum. return (enMonthOfYear) ReadNumberInRange("Please enter a month [1 to 12]:", 1, 12); } // Function: GetMonthOfYear // Purpose: Converts an enMonthOfYear enum value into a string representing the month's name. // Parameter: // - Month: An enMonthOfYear value representing the month. // Returns: A string containing the name of the corresponding month. string GetMonthOfYear(enMonthOfYear Month) { // Use a switch statement to return the correct month name. switch (Month) { case enMonthOfYear::Jan: return "January"; case enMonthOfYear::Feb: return "February"; case enMonthOfYear::Mar: return "March"; case enMonthOfYear::Apr: return "April"; case enMonthOfYear::May: return "May"; case enMonthOfYear::Jun: return "June"; // Fixed typo: Changed "Jun" to "June" case enMonthOfYear::Jul: return "July"; case enMonthOfYear::Aug: return "August"; case enMonthOfYear::Sep: return "September"; case enMonthOfYear::Oct: return "October"; case enMonthOfYear::Nov: return "November"; case enMonthOfYear::Dec: return "December"; default: return "Not a valid Month"; // Default case (should never be reached). } } // Main function: Program entry point. int main() { // Read a month number from the user, determine the corresponding month name, and display it. cout << GetMonthOfYear(ReadMonthOfYear()) << endl; return 0; // Return 0 to indicate successful execution. } ```
👁️ معاينة فورية
💡 كل بلوك قابل للسحب والترتيب. يدعم
Markdown
:
## عنوان
·
**bold**
·
- قائمة
·
```dart code```
·
[[اسم الموضوع]]
💾 حفظ التعديلات