How can I make the do-while loop include user-friendly behavior through the addition of input validation to the code to make sure the user's color selections are within the permitted range (0 to 2) and to prompt them to re-enter if necessary? #include #include #include using namespace std; /* the function 'mixColors' takes the 'color' variable prompted from the 'getUserInput' function then uses a series of if statements to determine what mixed color two colors ('color1' and 'color2') create: 'purple', 'orange', or 'green' with 'No mix' elsewise. 'mixedColor' is returned as a result */ string mixColors(int color1, int color2) { string mixedColor; if ((color1 == 0 && color2 == 1) || (color1 == 1 && color2 == 0)) { mixedColor = "purple"; } else if ((color1 == 0 && color2 == 2) || (color1 == 2 && color2 == 0)) { mixedColor = "orange"; } else if ((color1 == 1 && color2 == 2) || (color1 == 2 && color2 == 1)) { mixedColor = "green"; } else { mixedColor = "No Mix"; } return mixedColor; } /* the 'getUserInput' function is called before the 'mixColors' function to retrieve user input storing data from user into the color 'variable' using 'main' functions array */ int getUserInput() { int color; cout << "Enter a prime color: " << endl; cout << "'0' for red, '1' for blue', and '2' for yellow: "; cin >> color; return color; } /* the 'main' function is the basis of the program! the 'main' function contains: an array of prime colors used in the 'getUserInput' function; int variables 'color1' and 'color2'; a string varible 'mixedColor' from the 'mixColors' function; a vairable 'choice' for the do-while loop inside this 'main' function; an ofstream that creates and opens a file named 'color_mixer_results.txt' with an 'outputFile' created/opened to truncate user results until user prompts exit with the do while loop set to mix again if answer is 'y' or 'Y' (exits with all other entries) */ int main() { string arr[] = {"red", "blue", "yellow"}; int color1, color2; string mixedColor; char choice; ofstream outputFile("color_mixer_results.txt"); // opens file that truncates do { color1 = getUserInput(); color2 = getUserInput(); mixedColor = mixColors(color1, color2); // below is where input inside do while loop is writ to .txt file outputFile << "Mixed color for your selection (" << color1 << " and " << color2 << ") is " << mixedColor << endl; cout << "Mixed color for your selection (" << color1 << " and " << color2 << ") is " << mixedColor << endl; cout << "Would you like to mix again? (Y/N): "; cin >> choice; } while (toupper(choice) == 'Y'); outputFile.close(); // closing output file cout << "Results have been saved in 'color_mix_results.txt'. Goodbye!" << endl; return 0; }
Types of Loop
Loops are the elements of programming in which a part of code is repeated a particular number of times. Loop executes the series of statements many times till the conditional statement becomes false.
Loops
Any task which is repeated more than one time is called a loop. Basically, loops can be divided into three types as while, do-while and for loop. There are so many programming languages like C, C++, JAVA, PYTHON, and many more where looping statements can be used for repetitive execution.
While Loop
Loop is a feature in the programming language. It helps us to execute a set of instructions regularly. The block of code executes until some conditions provided within that Loop are true.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 3 images