📄 ticketinformation.cpp
字号:
// Tutorial 18: TicketInformation.cpp
// This application reads information about events on different
// dates from a file.
#include <iostream> // required to perform C++ stream I/O
#include <fstream> // required to perform C++ file I/O
#include <string> // required to access string functions
#include <cstdlib> // required for the exit function
using namespace std; // for accessing C++ Standard Library members
// function prototypes
int getDate();
void displayEvent( int );
// function main begins program execution
int main()
{
int date; // event day
// prompt user for and input the day for an event
date = getDate();
// display events (if any) and prompt user for new date
while ( date != 0 )
{
displayEvent( date ); // display event for specified day
date = getDate(); // prompt user for next event date
} // end while
cout << "\n"; // insert newline for readability
return 0; // indicate that program ended successfully
} // end function main
// prompt user for and input date, then return the date if valid
int getDate()
{
int date; // user input
// prompt user for and input the requested date
cout << "\nSelect date (1-31) or 0 to exit: ";
cin >> date;
// ensure that the date is valid before proceeding
while ( date < 0 || date > 31 )
{
cout << "\nError: Enter a date between 1 and 31, inclusive\n"
<< endl;
// prompt user for and input the requested date
cout << "\nSelect date (1-31) or 0 to exit: ";
cin >> date;
} // end while
return date; // return the date
} // end function getDate
// display event information
void displayEvent( int date )
{
// define variables
string time; // event start time
string price; // event price
string name; // event name
string description; // event description
string contents; // line of text from calendarFile
int day; // day of the month for an event
// open file for input
ifstream calendarFile( "calendar.txt" );
// exit program if ifstream could not open the file
if ( !calendarFile )
{
cout << "Error: File could not be opened." << endl;
exit( 1 ); // return an error code to the system
} // end if
// read an event date from the file
calendarFile >> day;
calendarFile.ignore(); // remove newline from input
// repeat while there are more lines in the file
while ( !calendarFile.eof() )
{
// if selected day is equal to the date read from the file
if ( day == date )
{
getline( calendarFile, time ); // event time
getline( calendarFile, price ); // event price
getline( calendarFile, name ); // event name
getline( calendarFile, description ); // event descripion
// display event information
cout << "\nEvent: " << name << endl;
cout << "Time: " << time << endl;
cout << "Price: " << price << endl;
cout << "Description: " << description << endl;
return;
} // end if
else // if date was not equal
{
// move to next date in file by skipping 4 lines of text
for ( int x = 0; x < 4; x++ )
{
getline( calendarFile, contents );
} // end for
} // end else
// read the date of the next event from the file
calendarFile >> day;
calendarFile.ignore(); // remove newline
} // end while
cout << "\nNo event for selected day." << endl;
} // end function displayEvent
/**************************************************************************
* (C) Copyright 1992-2005 by Deitel & Associates, Inc. and *
* Pearson Education, Inc. All Rights Reserved. *
* DISCLAIMER: The authors and publisher of this book have used their *
* best efforts in preparing the book. These efforts include the *
* development, research, and testing of the theories and programs *
* to determine their effectiveness. The authors and publisher make *
* no warranty of any kind, expressed or implied, with regard to these *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or *
* consequential damages in connection with, or arising out of, the *
* furnishing, performance, or use of these programs. *
**************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -