I am at wit's end on how to incorporate File I/O into my C++ program. After learning on Udemy I am trying to find the best way to use functions having the main at the bottom. I understand # include is needed for both I?O, I just am clueless with this program how to incorporate it in this simple program. Can I get help understanding File I/O for C++ so that I can add to this project? #include #include using namespace std; 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; } 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; } int main() { string arr[] = {"red", "blue", "yellow"}; int color1, color2; string mixedColor; char choice; do { color1 = getUserInput(); color2 = getUserInput(); mixedColor = mixColors(color1, color2); 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'); cout << "Goodbye!" << endl; return 0; }
I am at wit's end on how to incorporate File I/O into my C++ program. After learning on Udemy I am trying to find the best way to use functions having the main at the bottom. I understand # include is needed for both I?O, I just am clueless with this program how to incorporate it in this simple program. Can I get help understanding File I/O for C++ so that I can add to this project? #include #include using namespace std; 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; } 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; } int main() { string arr[] = {"red", "blue", "yellow"}; int color1, color2; string mixedColor; char choice; do { color1 = getUserInput(); color2 = getUserInput(); mixedColor = mixColors(color1, color2); 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'); cout << "Goodbye!" << endl; return 0; }
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Topic Video
Question
I am at wit's end on how to incorporate File I/O into my C++ program. After learning on Udemy I am trying to find the best way to use functions having the main at the bottom.
I understand # include <fstream> is needed for both I?O, I just am clueless with this program how to incorporate it in this simple program.
Can I get help understanding File I/O for C++ so that I can add to this project?
#include <iostream>
#include <string>
using namespace std;
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;
}
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;
}
int main() {
string arr[] = {"red", "blue", "yellow"};
int color1, color2;
string mixedColor;
char choice;
do {
color1 = getUserInput();
color2 = getUserInput();
mixedColor = mixColors(color1, color2);
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');
cout << "Goodbye!" << endl;
return 0;
}
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 5 steps with 5 images
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question
I have this code now.
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
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;
}
//reads colors from a file
int getUserInput(ifstream& inFile) {
int color;
inFile >> color;
return color;
}
void writeOutputToFile(ofstream& outFile, int color1, int color2, const string & mixedColor){
outFile << "Mixed color selected (" << color1 << " and " << color2 << ") is " << mixedColor << endl;
}
//writes mixed color results to a file
int main() {
ifstream inputFile("input.txt"); //opens input file
ofstream outputFile("output.txt"); // opens output file
if (!inputFile || !outputFile) {
cerr << "Error opening files!" << endl;
return 1;
}
string arr[] = {"red", "blue", "yellow"};
int color1, color2;
string mixedColor;
char choice;
do {
color1 = getUserInput(inputFile);
color2 = getUserInput(inputFile);
mixedColor = mixColors(color1, color2);
writeOutputToFile(outputFile, color1, color2, mixedColor);
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');
cout << "Goodbye!" << endl;
return 0;
}
I continue to see an error opening the files. I have a new file output.txt saved to my computer but there is no input file and the program is not running.
What am I doing wrong?
Solution
by Bartleby Expert
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education