//--------------------------------------------------------- // Given the number of each type of ticket sold, this // program will generate a ticket sales report. // // Tickets are sold in three classes: prestige, advantage, // and general. Prestige ticket holders get the best seats, // and the advantage ticket holders get the next best. // // The ticket sales data is stored in a text file // containing threes rows of data. Each row contains two // space-delimited values: ticket price followed by number // of tickets sold. The first row corresponds to the // prestige tickets, the second row to the advantage // tickets, and the third row to general admission. // // D. Searls // Asbury College // Sep 2007 //--------------------------------------------------------- #include <iostream> #include <iomanip> #include <fstream> using namespace std; int main() { string inFileName; ifstream infile; string outFileName; ofstream outfile; double prestigePrice; int prestigeNumber; double prestigeSales; double advantagePrice; int advantageNumber; double advantageSales; double generalPrice; int generalNumber; double generalSales; int totalNumber; double totalSales; // Get the names of the input and output files cout << "Enter the name of the data file: "; getline(cin, inFileName); cout << "Enter the name of the output file: "; getline(cin, outFileName); // Read the data from the input file infile.open(inFileName.c_str()); infile >> prestigePrice >> prestigeNumber >> advantagePrice >> advantageNumber >> generalPrice >> generalNumber; infile.close(); // Perform the calculations prestigeSales = prestigePrice * (double)prestigeNumber; advantageSales = advantagePrice * (double)advantageNumber; generalSales = generalPrice * (double)generalNumber; totalNumber = prestigeNumber + advantageNumber + generalNumber; totalSales = prestigeSales + advantageSales + generalSales; // Write the report to the standard output cout << fixed << setprecision(2); cout << endl; cout << " TICKET SALES REPORT" << endl; cout << endl; cout << "Level Price Number Revenue" << endl; cout << "----------------------------------" << endl; cout << "Prestige " << setw(5) << prestigePrice << setw(8) << prestigeNumber << setw(9) << prestigeSales << endl; cout << "Advantage " << setw(5) << advantagePrice << setw(8) << advantageNumber << setw(9) << advantageSales << endl; cout << "General " << setw(5) << generalPrice << setw(8) << generalNumber << setw(9) << generalSales << endl; cout << "----------------------------------" << endl; cout << "Total " << setw(13) << totalNumber << setw(9) << totalSales << endl; cout << endl; // Write the report to the output file outfile.open(outFileName.c_str()); outfile << fixed << setprecision(2); outfile << endl; outfile << " TICKET SALES REPORT" << endl; outfile << endl; outfile << "Level Price Number Revenue" << endl; outfile << "----------------------------------" << endl; outfile << "Prestige " << setw(5) << prestigePrice << setw(8) << prestigeNumber << setw(9) << prestigeSales << endl; outfile << "Advantage " << setw(5) << advantagePrice << setw(8) << advantageNumber << setw(9) << advantageSales << endl; outfile << "General " << setw(5) << generalPrice << setw(8) << generalNumber << setw(9) << generalSales << endl; outfile << "----------------------------------" << endl; outfile << "Total " << setw(13) << totalNumber << setw(9) << totalSales << endl; outfile.close(); return 0; }