Sample – understanding the concept of objects

by Nideesh C on February 8, 2011 · 0 comments

in C++




#include <iostream.h>
#include <math.h>
#include <stdlib.h>

enum Color {Red, Blue, White, Green, Yellow};

const double DUMMY = 0.0; // when data is not needed
const Color DUMMYC = White; // when color is not needed

void show (Color);
void point (char, double);
void colorPoint (char, double, Color);

void main () {

point(‘O’, DUMMY);
point(‘P’, DUMMY);
point(‘X’, 8.0);
point(‘P’, DUMMY);
point(‘Y’, 7.0);
point(‘P’, DUMMY);
point(‘X’, 2.0);
point(‘P’, DUMMY);
point(‘X’, 3.0);
point(‘P’, DUMMY);
point(‘O’, DUMMY);
point(‘P’, DUMMY);
colorPoint(‘O’,DUMMY,DUMMYC);
colorPoint(‘P’,DUMMY,DUMMYC);
colorPoint(‘C’,DUMMY,Blue);
colorPoint(‘P’,DUMMY,DUMMYC);
colorPoint(‘X’,2.0,DUMMYC);
colorPoint(‘P’,DUMMY,DUMMYC);
}

void point (char message, double data) {
static double x_coord = 0.0;
static double y_coord = 0.0;
static double distance = 0.0;

switch (message) {
case ‘X’: // move along x direction
x_coord = x_coord + data;
break;
case ‘Y’: // move along y direction
y_coord = y_coord + data;
break;
case ‘O’: // move to origin
x_coord = 0.0;
y_coord = 0.0;
break;
case ‘P’: // print coordinates, distance
cout << “I am currently at x = ” << x_coord << “, y = ” << y_coord << endl;
cout << “My distance from the origin is ” << distance << endl;
break;
default:
cout << “Unknown message to point” << endl;
exit(-1);
}
distance = sqrt (x_coord * x_coord + y_coord * y_coord);
return;
}

void colorPoint (char message, double data, Color color) {
static Color col = White;

switch (message) {
case ‘X’:
case ‘Y’:
case ‘O’:
point(message,data);
break;
case ‘C’: // set color
col = color;
break;
case ‘P’: // print coordinates, distance, and color
point(‘P’,DUMMY);
cout << “Also my color is “;
show(col);
cout << endl;
break;
default:
cout << “Unknown message to colorPoint” << endl;
exit(-1);
}
return;
}

void show (Color col) {
switch (col) {
case Red:
cout << “Red”;
break;
case Blue:
cout << “Blue”;
break;
case White:
cout << “White”;
break;
case Green:
cout << “Green”;
break;
case Yellow:
cout << “Yellow”;
break;
}
}

Not Satisfied ? Just search & get the result

Related Posts Plugin for WordPress, Blogger...
Be Sociable, Share!

Related posts:

  1. Sample – understanding life time and scope
  2. Sample – understanding scope
  3. Sample – understanding call-by-value and call-by-reference
  4. Sample – compute distance between cities
  5. Sample – functions

Leave a Comment

Previous post:

Next post: