C++ How To Program Plus Mylab Programming With Pearson Etext -- Access Card Package (10th Edition)
Question
Book Icon
Chapter 13, Problem 13.15E
Program Plan Intro

Program Plan:

  • Make a header file Point.h
  • Declare header definition- include necessary header files and then create point class declaration.
  • Make stream insertion and stream extraction overloaded function as friend to the class.
  • Declare two private integers to store number point as xCoordinate and YCoordinate.
  • End point header.
  • Create “Point.cpp” file for defining function of header “Point.h”.
  • Include all necessary header file and also "point.h" for making point class declared in header file available here.
  • Overload the stream insertion operator, to display xCoordinate and YCoordinate.
  • Overload the stream extraction operator, to check if input is in form "(x,y)” or not.
  • Declare array p to get input from stream, extractx and extracy to extract value of xCoordinate and YCoordinate from the stream.
  • Determine the size of stream "p".
  • Set initial value of fail to 1.
  • Check if first and last character of input is '(' and ')' respectively, if not se fail to 1.
  • In the else part. run two loops to get x and y value of point which is seperated by ','.
  • Run for loop from position 1 till ',' is found or till counter 'i' reaches size of input 'p'. Which means no ',' is entered, thus wrong input.
  • Check if character is digit or not, if not a digit, then set fail=1, else extrcat value in extractx.
  • After execution of for loop, check if “fail ==1 (some incorrect input) or i != size (which means no comma found)”. If both cases are false, then use a similar for loop to extract value of y.
  • Check if “fail==1” (some wrong input) and set ios::failbit and clear the input.
  • If fail is still 0, then put values of extractx and extact y in xCoordinate and YCoordinate respectively.
  • Return the input.
  • Make "Main.cpp" to write main function, which must include "point.h"
  • Declare "p" as object of point class.
  • Use cin>>p which itself will call overloaded extraction and check for input.
  • Check the rdstate for goodbit, if failbit not set then display point using cout<<p. which will again call insertion overload for display.
  • Else error message is displayed.
  • Return and exit.

Program Description:

Write a point class, which checks for valid input data by overloading stream insertion and stream extraction operator functions.

Blurred answer
Students have asked these similar questions
(FRP7) Write a function that reads data from a file. The file has already been opened and verified. The data should be saved in the array of type ship. The size of the array is passed in the int parameter and the number of records read is return in the last parameter, by reference.  The file should be read until end of file has been reached or the array is full. struct ship{       string shipCaptain;       string shipName; }; The function prototype isvoid readFile( ifstream&, ship[ ], int, int& ); ifstream - The already open file  ship[ ] - array of structs where the data from the file will be stored. int - the size of the array. int& - the number of records read from the file. This value is set by the function before returning return- the number of records read from the file, returned by the function.    The amount of data in the file is unknown but there is no bad data. The file format is the shipsName followed by the shipsCaptiain . Example: MillenniumFalcon   HansSolo
State whether the following are true or false. If the answer is false, explain why.a) A pointer that’s declared to be void can be dereferenced.
state the statement either true or false.
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning