//Nicolas Ruano CS1A Chapter 4, Pp. 220, #2
//
/******************************************************************************
*
* CONVERTING TO ROMAN NUMERALS
* ____________________________________________________________________________
* The program converts numbers n a set of 1-10 into a set of roman numerals,
* based on the set of numbers listed
*
*_____________________________________________________________________________
* INPUT
* NumVal :number value enter by the user
*
* OUTPUT
* number roman of numbers in a set of 1-10
******************************************************************************/
#include <iostream>
using namespace std;
int main() {
int number;
char choice; // For menu option
cout << "Welcome to the Roman Numeral Converter!\n";
do {
// Step 1: Ask user for a number
cout << "\nPlease enter a number from 1 to 10: ";
cin >> number;
// Step 2: Input validation with nested if statements
if (number < 1) {
cout << "Oops! The number is too small. Try a number between 1 and 10.\n";
} else if (number > 10) {
cout << "Oops! The number is too big. Try a number between 1 and 10.\n";
} else {
// Step 3: Use switch to convert number to Roman numeral
cout << "The Roman numeral for " << number << " is ";
switch(number) {
case 1: cout << "I\n"; break;
case 2: cout << "II\n"; break;
case 3: cout << "III\n"; break;
case 4: cout << "IV\n"; break;
case 5: cout << "V\n"; break;
case 6: cout << "VI\n"; break;
case 7: cout << "VII\n"; break;
case 8: cout << "VIII\n"; break;
case 9: cout << "IX\n"; break;
case 10: cout << "X\n"; break;
default: cout << "Error\n"; // Safety net
}
}
// Step 4: Ask if the user wants to convert another number
cout << "\nDo you want to convert another number? (Y/N): ";
cin >> choice;
// Use conditional operator to display a friendly message
cout << ((choice == 'Y' || choice == 'y') ? "Great! Let's do another one." : "Okay! Thanks for using the converter.\n");
} while(choice == 'Y' || choice == 'y');
cout << "Goodbye!\n";
return 0;
}