#include <msoftcon.h> //for graphics functions
////////////////////////////////////////////////////////////////
class shape {
protected:
int xCo, yCo; //coordinates of shape
color fillcolor; //color
fstyle fillstyle; //fill pattern
public: //no-arg constructor
shape() : xCo(0), yCo(0), fillcolor(cWHITE),
fillstyle(SOLID_FILL)
{ } //4-arg constructor
shape(int x, int y, color fc, fstyle fs) :
xCo(x), yCo(y), fillcolor(fc), fillstyle(fs)
{ }
void draw() const //set color and fill style
{
set_color(fillcolor);
set_fill_style(fillstyle);
}
};
////////////////////////////////////////////////////////////////
class circle : public shape
{
private:
int radius; //(xCo, yCo) is center
public:
circle() : shape() //no-arg constr
{ }
//5-arg constructor
circle(int x, int y, int r, color fc, fstyle fs)
: shape(x, y, fc, fs), radius(r)
{ }
void draw() const //draw the circle
{
shape::draw();
draw_circle(xCo, yCo, radius);
}
};
////////////////////////////////////////////////////////////////
class rect : public shape
{
private:
int width, height; //(xCo, yCo) is upper-left corner
public:
rect() : shape(), height(0), width(0) //no-arg ctor
{ } //6-arg ctor
rect(int x, int y, int h, int w, color fc, fstyle fs) :
shape(x, y, fc, fs), height(h), width(w) { }
void draw() const //draw the rectangle
{
shape::draw();
draw_rectangle(xCo, yCo, xCo + width, yCo + height);
set_color(cWHITE); //draw diagonal
draw_line(xCo, yCo, xCo + width, yCo + height);
}
};
////////////////////////////////////////////////////////////////
class tria : public shape
{
private:
int height; //(xCo, yCo) is tip of pyramid
public:
tria() : shape(), height(0) //no-arg constructor
{ } //5-arg constructor
tria(int x, int y, int h, color fc, fstyle fs) :
shape(x, y, fc, fs), height(h)
{ }
void draw() const //draw the triangle
{
shape::draw();
draw_pyramid(xCo, yCo, height);
}
};
////////////////////////////////////////////////////////////////
int main()
{
init_graphics(); //initialize graphics system
circle cir(40, 12, 5, cBLUE, X_FILL); //create circle
rect rec(12, 7, 10, 15, cRED, SOLID_FILL); //create rectangle
tria tri(60, 7, 11, cGREEN, MEDIUM_FILL); //create triangle
cir.draw(); //draw all shapes
rec.draw();
tri.draw();
set_cursor_pos(1, 25); //lower-left corner
return 0;
} Write, Run & Share C++ code online using OneCompiler's C++ online compiler for free. It's one of the robust, feature-rich online compilers for C++ language, running on the latest version 17. Getting started with the OneCompiler's C++ compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C++ and start coding!
OneCompiler's C++ online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Enter name:";
getline (cin, name);
cout << "Hello " << name;
return 0;
}
C++ is a widely used middle-level programming language.
When ever you want to perform a set of operations based on a condition If-Else is used.
if(conditional-expression) {
//code
}
else {
//code
}
You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.
Switch is an alternative to If-Else-If ladder.
switch(conditional-expression){
case value1:
// code
break; // optional
case value2:
// code
break; // optional
......
default:
code to be executed when all the above cases are not matched;
}
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement){
//code
}
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while (condition) {
// code
}
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity. Function gets run only when it is called.
return_type function_name(parameters);
function_name (parameters)
return_type function_name(parameters) {
// code
}