/* * -------------------------------------------------------------------- * CS2S03/SE2S03, November 2011 * Assignment 5, Question 3 * File: PE0906.cpp * -------------------------------------------------------------------- * This program reads a string and diplays it logical * units (tokens) on the screen. * -------------------------------------------------------------------- */ #include "genlib.h" #include "simpio.h" #include "scanner.h" #include /* Private function prototypes */ void DivideAndDisplay(Scanner &scanner, string str); /* Main program */ int main() { Scanner scanner; scanner.setSpaceOption(Scanner::PreserveSpaces); /* Default Setting - Not Required */ scanner.setStringOption(Scanner::ScanQuotesAsStrings); /* Non-Default Setting - Required */ while (true) { cout << "********************************" << endl; cout << "Enter a string: "; string str = GetLine(); if (str == "") break; DivideAndDisplay(scanner, str); } return 0; } /* * Function: DivideAndDisplay * Usage: DivideAndDisplay(scanner, str) * ------------------------------------- * This function divides a string into its logical units * and prints the result on the screen. */ void DivideAndDisplay(Scanner &scanner, string str) { scanner.setInput(str); while (scanner.hasMoreTokens()) { cout << scanner.nextToken() << endl; } }