Question: C++ - Did I write this code correctly? I am unable to output the conversion I created, It keeps saying File not Exist. I have
C++ - Did I write this code correctly? I am unable to output the conversion I created, It keeps saying "File not Exist. I have the file on my notepad, not sure if I am missing a step or so I am not sure if I am missing something. Here are the instructions:
Prompt
In this assignment, you are presented with a text document that includes six cities and their average yearly temperature in Fahrenheit. Your goal is to read that data, convert it to Celsius using the provided formula, and then write that new data to its own file.
To begin your work, open Visual Studio and create a new C++ project. Save the provided FahrenheitTemperature.txt document in a location where you will easily be able to access it while you work in Visual Studio. For this assignment, you will be submitting only your C++ (.cpp) file. You do not need to submit the final converted data; the C++ code you create just needs to be able to generate that file.
Specifically, you must address the following rubric criteria:
Develop code to read data from a text file. Your work should be completed using C++. Read the provided document, FahrenheitTemperature.txt, which includes data on the average yearly temperature for six different cities in degrees Fahrenheit. Note that a space separates each city from its temperature. Assume the citys name does not include any spaces or special characters (the name should consist of only a single word). Also assume the provided temperature is presented as an integer. Consider the following steps as you work:
Open the provided file so it is ready to be read. Remember the file is named FahrenheitTemperature.txt. Watch out for the class you use, and make sure it is for reading a file and not writing to a file.
Read data from the provided file. Remember, to read this file you will need to declare a variable. Begin by reading the first value and putting it in the first variable. Then read the next value and put it in the second variable.
Once this is complete, be sure to close the file. This releases the file so it can be used again.
Develop code to write data to a text file. Your work should be completed using C++. Title the new document you are creating CelsiusTemperature.txt. The name of the output file needs to be different from the name of the input file so you do not overwrite and erase the input file. Consider the following steps as you work:
Declare a variable to point to the file that will be written to. Watch out for the class you use, and make sure it is for writing to a file and not reading a file.
Create the code instructions for writing data to the new output file. In this new file, include space for both the name of the city and the temperature in Celsius for each city included in the original input file. You will need to complete the Fahrenheit-to-Celsius conversion calculation before you write to the new file. Use the following formula to make this conversion. Note that F represents the temperature in degrees Fahrenheit while C represents the temperature in degrees Celsius.
Close the file once you are done writing to it. If you attempt to look at the results in the file before completing this step, your file may appear empty.
***************************************
Here is the .txt file:
Toronto 47 Lima 66 Istanbul 57 Lagos 81 Shanghai 61 Sydney 64
***************************************
Here is my code:
// Used for input & output functions #include
// Used for file handling #include
using namespace std;
// Main function int main() { // Open file for reading data ifstream fin("FahrenheitTemperature.txt");
// If file can't open if (!fin) { // Print an error cout << "Error: File not exist..";
// Exit from program return 0; }
// Set start index / count of number of data in input file int i = 0;
// Used to store city names string name[6];
// Used to store temperature of each city double tempF[6];
// Read line by line name & temperature from file till end of file while (fin >> name[i] >> tempF[i]) { // Increase i by 1 for next index i++; }
// Close the input file fin.close();
// Open file for writing data ofstream fout("CelsiusTemperature.txt");
// Loop for each city name & temperature in Fahrenheit for (int j = 0; j < i; j++) { // Write the city name & convert temperature in Celsius & write it also fout << name[j] << " " << (tempF[j] - 32.0) * (5.0 / 9.0) << " "; }
// Close the output file fout.close();
return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
