Skip to main content

C++ Project for Graphic scientific Calculator


#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<dos.h>
#include<stdlib.h>
#include<iostream.h>
#include<graphics.h>
#include<math.h>
#include<string.h>
float *mem;
int X=0, Y=0;
int row=17,col=5;
char dummy;
char flag=’d',flagp=’0';
char bflag=’u',bflagp=’u';
int mflag=0;
char ch,ch1,ch2;
int sflag=0;
int midx,midy;
# define UNCLICKED 0
# define CLICKED 1
# define PI 3.14159
unsigned long factorial(int n);
//unsigned long permutation(int);
//unsigned long combination(int);
char str1[]={“Gaurav Koley, Manoj Soni & Aman Sharma”};
void typeit (int x,int y,int spacing,char string[])
{
char temp[2];
for (int i=0;i<strlen(string);i++)
{
delay(100);
temp[0]=string[i];
temp[1]=’';
outtextxy(x+(i+1)*spacing,y,temp);
}//endfor
}
void front()
{
int x,y,h;
for(x=0;x<=100;x++)
{
settextjustify(CENTER_TEXT,CENTER_TEXT);
setcolor(1);
settextstyle(1,0,4);
setusercharsize(x,6,x,3);
setcolor(15);
moveto(310,135);
outtext(“* *”);
setcolor(6);
moveto(310,130);
outtext(“X X”);
if(x<50)
delay(30);
else
delay(20);
}
for(y=0;y<=100;y++)
{
setcolor(0);
settextstyle(1,0,4);
setusercharsize(y,6,y,3);
moveto(310,135);
outtext(“* *”);
moveto(310,130);
outtext(“X X”);
if(y>20)
{
settextstyle(7,0,3);
setusercharsize(y-20,35,y-20,30);
setcolor(9);
outtext(“CALCULATOR”);
setcolor(2);
outtext(“___________”);
delay(15);
if(y<100)
{
settextstyle(7,0,3);
setusercharsize(y-20,35,y-20,30);
setcolor(0);
outtext(“CALCULATOR”);
}
}
}
//delay(1000);
settextstyle(3,0,2);
delay(50);
outtextxy(midx-200,midy,”Group Members:-”);
//x=10,y=10;
setcolor(6);
settextstyle(4,0,2);
typeit(midx-300,midy+50,15,str1);
getch();
//closegraph();
}
char input();
double add(double,double,char);
double angle_conv(double);
void basecng(double,double);




/************************************************************/
/* */
/* THIS FUNCTION DRAWS THE BUTTONS OF THE CALCULATOR */
/* */
/************************************************************/
void button_3d(int x1,int y1,int x2,int y2,int check,char* text,int color)
{
int up,low;
setfillstyle(1,7);
bar(x1,y1,x2,y2);
if(check==0) //Unclicked
up=8,low=20;
else
up=20,low=8; //Clicked
setcolor(low);
line(x2,y1,x2,y2);
line(x2-1,y1,x2-1,y2);
line(x1,y2,x2,y2);
line(x1+1,y2-1,x2,y2-1);
setcolor(up);
line(x1,y1,x2,y1);
line(x1+1,y1+1,x2-1,y1+1);
line(x1,y1,x1,y2);
line(x1+1,y1+1,x1+1,y2-1);
setcolor(color);
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(x1+(x2 – x1)/2,(y1+(y2 – y1)/2)-2, text);
}
/*********************************************************************/
/* This function makes the opening screen */
/*********************************************************************/
void frontpage(void)
{
int mx, my;
mx = (getmaxx() / 2);
my = (getmaxy() / 2);
//SET baqckground color
setfillstyle(9, 1);
bar(0,0,getmaxx(),getmaxy());
//DRAW a bar, and make it look like a 3d bar
setfillstyle(1,7);
bar(50,20,600,400);
//DRAW lines for the top and left side
setcolor(15);
line(50,20,600,20);
line(51,21,599,21);
line(50,20,50,400);
line(51,21,51,399);
//DRAW lines for the bottom and right side
setcolor(8);
line(600,20,600,400);
line(599,21,599,400);
line(50,400,600,400);
line(51,399,600,399);
//DRAW two 3D bars for the left and right side
setfillstyle(9,8);
bar(70,40,100,380);
//getch();
bar(545,40,575,380);
setcolor(8);
rectangle(70,40,100,380);
rectangle(545,40,575,380);
setcolor(15);
line(100,40,100,380);
line(70,380,100,380);
line(575,40,575,380);
line(545,380,575,380);
//DRAW two 3D divider lines on both sides
setcolor(8);
line(110, 40, 110, 380);
line(535, 40, 535, 380);
setcolor(15);
line(111, 40, 111, 380);
line(536, 40, 536, 380);
//PRINT 3D text
settextstyle(1, 0, 4);
settextjustify(1,1);
setcolor(15);
outtextxy(mx+2, my – 46, “CALCULATOR”);
setcolor(7);
outtextxy(mx + 1, my – 45, “CALCULATOR”);
setcolor(8);
outtextxy(mx + 2, my – 44, “CALCULATOR”);
//PRINT 3D text 2012
setcolor(15);
outtextxy(mx, my + 10, “2012?);
setcolor(7);
outtextxy(mx + 1, my + 11, “2012?);
setcolor(8);
outtextxy(mx + 2, my + 12, “2012?);
getch(); //PAUSE for a while
}
/*********************************************************************/
/* */
/* This function makes the calculating screen */
/* */
/*********************************************************************/
void screen(int x1, int y1, int x2, int y2)
{
setlinestyle(0,0,1);
setfillstyle(SOLID_FILL, 8);
bar(x1, y1, x2, y2);
setfillstyle(SOLID_FILL, BLACK);
bar(x1+1, y1+1, x2-1, y2-1);

settextjustify(CENTER_TEXT, CENTER_TEXT);
setcolor(15);
line(x1+1, y1+1, x1+1, y2-1);
line(x1+1, y1+1, x2-1, y1+1);
line(x1+2, y1+2, x1+2, y2-2);
line(x1+2, y1+2, x2-2, y1+2);
setcolor(8);
line(x1+1, y2-1, x2-1, y2-1);
line(x2-1, y1+1, x2-1, y2-1);
line(x1+2, y2-2, x2-2, y2-2);
line(x2-2, y1+2, x2-2, y2-2);
}
/************************************************************************/
/* */
/* Mouse Related Functions */
/* */
/************************************************************************/
void init_mouse()
{
union REGS iregs, oregs;
iregs.x.ax = 0;
int86 (0×33, &iregs, &oregs);
if (oregs.x.ax == 0)
{
cleardevice();
cout<<”mouse not installedn”;
getch();
exit(1);
}
iregs.x.ax = 1;
int86 (0×33, &iregs ,&oregs);
}
/*************************************************************/
void mouse()
{
int button,x1,y1;
union REGS iregs, oregs;
iregs.x.ax = 3;
int86 (0×33, &iregs ,&oregs);
button = oregs.x.bx & 3;
x1 = oregs.x.cx;
y1 = oregs.x.dx;
if(oregs.x.bx & 1)
{
X = x1 ; Y = y1;
}
if(button == 3)
exit(0);
}

/*************************************************************/
void hide_mouse()
{
union REGS ioRegs;
ioRegs.x.ax=2;
int86(0×33,&ioRegs,&ioRegs);
}

/*************************************************************/
void show_mouse()
{
union REGS ioRegs;
ioRegs.x.ax=1;
int86(0×33,&ioRegs,&ioRegs);
}
/*************************************************************/
void remove_mouse()
{
union REGS ioRegs;
ioRegs.x.ax=0;
int86(0×33,&ioRegs,&ioRegs);
}
/*************************************************************************/
/* */
/* THIS FUNCTION DRAWS THE CALCULATER ON THE SCREEN */
/* */
/*************************************************************************/
void structure()
{
init_mouse();
setbkcolor(0);
cleardevice();
hide_mouse();
//**********************************************************
// Buttons Making
front();
frontpage();
settextstyle(2,0,4);
button_3d(50,20,600,400,UNCLICKED,”",1); // main box
screen(100,50,545,120); // screen
setfillstyle(1,8);
bar(52,22,598,42);
button_3d(575,23,595,40,UNCLICKED,”x”,0);
setcolor(0);
outtextxy(120,30,”Calculator v2.3?);
button_3d(108,140,208,160,UNCLICKED,”DEC”,15); // box of decimal
button_3d(218,140,318,160,UNCLICKED,”OCT”,0); // box of octal
button_3d(328,140,428,160,UNCLICKED,”DEC”,0); // box of hexal
button_3d(438,140,538,160,UNCLICKED,”BIN”,0); // box of binary
button_3d(350,205,380,225,UNCLICKED,”7?,0); // Box Of 7
button_3d(390,205,420,225,UNCLICKED,”8?,0); // Box Of 8
button_3d(430,205,460,225,UNCLICKED,”9?,0); // Box Of 9
button_3d(350,230,380,250,UNCLICKED,”4?,0); // Box Of 4
button_3d(390,230,420,250,UNCLICKED,”5?,0); // Box Of 5
button_3d(430,230,460,250,UNCLICKED,”6?,0); // Box Of 6
button_3d(480,230,510,250,UNCLICKED,”*”,0); // Box Of *
button_3d(515,230,545,250,UNCLICKED,”/”,0); // Box Of /
button_3d(480,205,510,225,UNCLICKED,”AC”,4); //Box Of AllClear (AC)
button_3d(515,205,545,225,UNCLICKED,”CE”,4); //Box Of Clear (C)
button_3d(350,255,380,275,UNCLICKED,”1?,0); // Box Of 1
button_3d(390,255,420,275,UNCLICKED,”2?,0); // Box Of 2
button_3d(430,255,460,275,UNCLICKED,”3?,0); // Box Of 3
button_3d(350,280,380,300,UNCLICKED,”0?,0); // Box Of Zero (0)
button_3d(390,280,420,300,UNCLICKED,”.”,0); // Box Of Period (.)
button_3d(430,280,460,300,UNCLICKED,”pi”,0); // Box Of PiFunction
button_3d(480,255,510,275,UNCLICKED,”-”,0); // Box Of -
button_3d(515,255,545,275,UNCLICKED,”+”,0); // Box Of +
button_3d(350,305,460,325,UNCLICKED,”=”,0); // Box Of Equality
button_3d(480,305,545,325,UNCLICKED,”shift”,BLUE); // Box Of shift
button_3d(480,280,510,300,UNCLICKED,”sqrt”,0); //Box of x^n
button_3d(515,280,545,300,UNCLICKED,”inv”,0); //box of 1/x
button_3d(100,205,150,230,UNCLICKED,”sin”,0); // Box OfSin Function
button_3d(160,205,210,230,UNCLICKED,”cos”,0); // Box Of CosFunction
button_3d(220,205,270,230,UNCLICKED,”tan”,0); // Box Of Tan Function
button_3d(280,205,330,230,UNCLICKED,”fact”,0); // Box Of Factorial Function
button_3d(100,250,150,275,UNCLICKED,”sin^-1?,0); // Box Of sin^-1
button_3d(160,250,210,275,UNCLICKED,”cos^-1?,0); // Box Of cos^-1
button_3d(220,250,270,275,UNCLICKED,”tan^-1?,0); // Box Of tan^-1
// button_3d(280,250,330,275,UNCLICKED,”C”,0); // Box Of Combination
button_3d(100,300,150,325,UNCLICKED,”ln”,0); // Box Of ln
settextjustify(CENTER_TEXT,CENTER_TEXT);
setcolor(BLUE);
settextstyle(2,0,4);
outtextxy(125,290,”e”);
outtextxy(185,290,”10^x”);
outtextxy(245,290,”x^3?);
button_3d(160,300,210,325,UNCLICKED,”log”,0); // Box Of log
button_3d(220,300,270,325,UNCLICKED,”x^2?,0); // Box Of x^2
button_3d(100,350,150,370,UNCLICKED,”deg”,15);
button_3d(160,350,210,370,UNCLICKED,”rad”,0);
button_3d(220,350,270,370,UNCLICKED,”gra”,0);
button_3d(480,350,545,370,UNCLICKED,”Off”,4);
button_3d(350,350,380,370,UNCLICKED,”M+”,0);
button_3d(390,350,420,370,UNCLICKED,”M-”,0);
button_3d(430,350,460,370,UNCLICKED,”MR”,0);
}
/*********************************************************/
/* Main starts */
/*********************************************************/
void main()
{
clrscr();
double y=0,z=0,pnt,pnt1=0,x=0,r=0;
int gdriver = DETECT, gmode, errorcode;
int i;
initgraph(&gdriver, &gmode, “c:\TURBOC3\bgi”);
midx=getmaxx()/2;midy=getmaxy()/2;
structure();
gotoxy(row,col);
cout<<”ttttt”;
gotoxy(row,col);
cout<<”0?;
mem=(float*)malloc(y*sizeof(float));
while( ch!=27&&ch1!=27) //While Escape is not pressed
{ //and if base is not 10
pnt1=0;//no doubleing point entered Yet
ch2=’0';
// for(int a=0;ch!=27;a++)//a indicates whether a no. has been entered or not
while(ch2!=27)
//a=0 means that no no. has been entered yet
{
if(bflagp!=’u')
{
//gotoxy(row,col);
dummy=input();
if(dummy!=’o')
{
gotoxy(row,col);
input();
gotoxy(row,col);
cout<<”tttttt”;
// ch=’0';
}
y=0;z=0;ch=’0';
gotoxy(row,col);
cout<<”tttttt”;
gotoxy(row,col);
cout<<”0?;
// bflagp=’u';
}
ch=input();
if(ch==’>’||ch==’<’||ch==’?')
{ sflag=0;
if(ch==’>’) //M+
*mem+=y;
if(ch==’<’) //M-
*mem-=y;
if(ch==’?') //MR
{
y=*mem;
gotoxy(row,col);
cout<<”tttttt”;
gotoxy(row,col);
printf(“%g”,y);
}
if(*mem==0)
mflag=0;
if(*mem!=0)
mflag=1;
}
if(mflag==0)
{
gotoxy(row,7);
cout<<” “;
}
if(mflag!=0)
{
gotoxy(row,7);
cout<<”M”;
}
gotoxy(row,col);
if(ch==’a')
{ sflag=0;
y=0;
gotoxy(row,col);
cout<<”ttttt”;
gotoxy(row,col);
cout<<”0?;
}
if(ch==’o')
//for clearing the screen of the calculater
{
sflag=0;
y=0;z=0;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
cout<<”0?;
gotoxy(row,col);
break;
}
if(ch==’q')
{
sflag=0;
y=sqrt(y);
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,y);
}
if(ch==’m')
{
sflag=0;
y=1/y;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,y);
}
if(ch==’!')
{
sflag=0;
y=factorial(y);
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,y);
}
if(ch==’+'||ch==’-'||ch==’/'||ch==’\’||ch==’='||ch==’*'||ch==’P'||ch==’C')
{
sflag=0;
break;
}
if(ch==’.') //case for a decimal point
{
sflag=0;
if(pnt1==0) //i.e no decimal has been entered yet
{
gotoxy(row,col);
cout<<”tttt “;//double
gotoxy(row,col);
printf(“%g.”,y);
pnt1=.1; //ie one decimal point no has been entered
continue; //go back to the begining and get the next number
}
else //decimal point has alredy been entered and thus no change in the screen
{
sflag=0;
continue; //go back to the begining
}
}//out of the ‘.’ condition
if(pnt1!=0) //ie we have a doubleing point
{ sflag=0;
if(ch<=’9'&&ch>=’0') //input integer
{
// cout<<”%c”<<ch;
x=(double)ch;//type cast the character into double to perforn further operations
x-=48; //since character digit indoubleing -48 gives the corresponding ASCII
x=x*pnt1; //make it a decimal
y=x+y; //add it in result
pnt1*=.1; //shift to the second doubleing point
gotoxy(row,col);
printf(“%g”,y);
gotoxy(row,col);
continue; //back to the top
}
}
//if no decimal point number then proceed
if(ch<=’9'&&ch>=’0')
{ sflag=0;
x=(double)ch; //typecast to double
x-=48; //get corresponding ASCII
y=(y*10)+x; //add to right of result
gotoxy(row,col); //go back to start of the calc screen
cout<<”tttt “; //clear the screen
gotoxy(row,col);
printf(“%g”,y); //print the number
}
if(ch==’u'||ch==’v'||ch==’w'||ch==’x')
{ sflag=0;
if(bflagp==bflag&&bflag==’u')
continue;
else
basecng(y,pnt1);
}
if(ch==’d'||ch==’r'||ch==’g')
{sflag=0;
y=angle_conv(y);
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,y);
// gotoxy(row,col);
// printf(“%g”,y);
// continue;
}
if(ch==’s'||ch==’c'||ch==’t'||ch==’i'||ch==’j'||ch==’k'||ch==’n'||ch==’l'||ch==’p'||ch==’h')
//ie the user opted for a function
{
if(ch==’s'||ch==’c'||ch==’t') //sin /cos/tan
{ sflag=0;
if(flag!=’r')
{
flagp=flag;
flag=’r';
y=angle_conv(y);
flag=flagp;
}
// gotoxy(row,col);
// printf(“%g”,y);getch();
switch(ch)
{
case ‘s’: y=sin(y); break;
case ‘c’: y=cos(y); break;
case ‘t’: y=tan(y); break;
}
}
if(ch==’i'||ch==’j'||ch==’k')
{sflag=0;
if(flag!=’r')
{
// flagp=flag;
flagp=’r';
//y=angle_conv(y);
}
switch(ch)
{
case ‘i’: y=asin(y); break;
case ‘j’: y=acos(y); break;
case ‘k’: y=atan(y); break;
}
if(flag!=’r')
y=angle_conv(y);
}
else if(ch==’n')
{
if(sflag==1)
{
y=exp(y);
sflag=0;
}
else
y=log(y); //ln
}
else if(ch==’l')
{
if(sflag==1)
{
y=pow(10,y);
sflag=0;
}
else
y=log10(y); //log
}
else if(ch==’p')
{
if(sflag==1)
{
y=pow(y,3);
sflag=0;
}
else
y=pow(y,2); //square
}
else if(ch==’h')
{
sflag=0;
y=PI; //pi
}
gotoxy(row,col);
cout<<”tttt “;//Clear the screen
gotoxy(row,col);
printf(“%g”,y);
}//else condition
}//out of second condition ie we now have the first no. or function or operater
for(;ch!=27&&ch1!=’='&&ch!=’=';)//ie the characters input are not ESCAPE or Equal to
{
pnt1=0;z=0;
if(ch==’o'||ch1==’o') // For Clear The Screen
{
sflag=0;
y=0;z=0;
gotoxy(row,col);
cout<<”tttt “;
// gotoxy(col,row);
gotoxy(row,col);
cout<<”0?;
gotoxy(row,col);
break;
}
for(;ch1!=27;)
{
gotoxy(row,col);
// printf(“%g”,z);
// z=0;
ch1=input();
if(ch1==’>’||ch1==’<’||ch1==’?')
{
if(ch1==’>’) //M+
*mem+=z;
if(ch1==’<’) //M-
*mem-=z;
if(ch1==’?') //MR
{
z=*mem;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,z);
}
if(*mem==0)
mflag=0;
if(*mem!=0)
mflag=1;
}
if(mflag==0)
{
gotoxy(row,7);
cout<<” “;
}
if(mflag!=0)
{
gotoxy(row,7);
cout<<”M”;
}
gotoxy(row,col);
if(ch1==’a')
{
z=0;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
cout<<”0?;
}
if(ch==’o'||ch1==’o') // For Clear The Screen
{
y=0;z=0;
gotoxy(row,col);
//cout<<” “;
cout<<”tttt “;
gotoxy(row,col);
cout<<”0?;
gotoxy(row,col);
break;
}
if(ch1==’q')
{
z=sqrt(z);
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,z);
}
if(ch1==’m')
{
z=1/z;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,z);
}
if(ch1==’.')
{
if(pnt1==0)
{
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
//cout<<z<<”.”;
cout<<”%g.”<<z;
pnt1=.1;
continue;
}
else
continue;
}
if(pnt1!=0)
{
if(ch1<=’9'&&ch1>=’0')
{
// cout<<”%c”<<ch1;
x=(double)ch1;
x-=48;
x=x*pnt1;
z=x+z;
pnt1=pnt1*.1;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,z);
continue;
}
}
if(ch1==’+'||ch1==’-'||ch1==’*'||ch1==’/'||ch1==’='||ch1==’P'||ch1==’C')
break;
if(ch1>=’0'&&ch1<=’9')
{
x=(double)ch1;
x=x-48;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
z=(z*10)+x;
printf(“%g”,z);
}
if(ch==’u')
if(ch==’d'||ch==’r'||ch==’g')
{
z=angle_conv(z);
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,z);
// continue;
}
if(ch1==’s'||ch1==’c'||ch1==’t'||ch1==’i'||ch1==’j'||ch1==’k'||ch1==’n'||ch1==’l'||ch1==’p'||ch1==’h')
//ie the user opted for a function
{
if(ch1==’s'||ch1==’c'||ch1==’t') //sin
{
if(flag!=’r')
{
flagp=flag;
flag=’r';
angle_conv(z);
flag=flagp;
}
switch(ch1)
{
case ‘s’: z=sin(z); break;
case ‘c’: z=cos(z); break;
case ‘t’: z=tan(z); break;
}
}
if(ch1==’i'||ch1==’j'||ch1==’k')
{
if(flag!=’r')
flagp=’r';
switch(ch1)
{
case ‘i’: z=asin(z); break;
case ‘j’: z=acos(z); break;
case ‘k’: z=atan(z); break;
}
z=angle_conv(z);
}
else if(ch1==’l')
z=log10(z); //log
else if(ch1==’p')
z=pow(z,2); //square
else if(ch1==’h')
z=PI; //pi
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,z);
gotoxy(row,col);
}
}
if(ch1==’+'||ch1==’-'||ch1==’=')
{
y=add(y,z,ch);
if(ch2!=’0')
{
y=add(r,y,ch2);
ch2=’0';
}
}
else
{
if(ch==’*'||ch==’/')
y=add(y,z,ch);
else
{
ch2=ch;
r=y;
y=z;
}
}
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,y);
ch=ch1;
ch1=’0';
if(ch==’='||ch1==’=')
break;
}
if(ch==’o'||ch1==’o') // For Clear The Screen
{ y=0;z=0;
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
cout<<”0?;
gotoxy(row,col);
continue;
}
gotoxy(row,col);
cout<<”tttt “;
gotoxy(row,col);
printf(“%g”,y);
z=0;
}
// getch();
closegraph();
remove_mouse();
exit(0);
}
/************************************************************/
/* This function gets the user’s Input */
/************************************************************/
char input()
{
X=0;Y=0;
char ch;
show_mouse();
if(bflag!=’u')
{
button_3d(108,140,208,160,UNCLICKED,”DEC”,15);
button_3d(218,140,318,160,UNCLICKED,”OCT”,0);
button_3d(328,140,428,160,UNCLICKED,”HEX”,0);
button_3d(438,140,538,160,UNCLICKED,”BIN”,0);
bflag=’u';
}
do
{
mouse();
if (X>=350 && X<=380 && Y>=205 && Y<=225) // Condition For 7
{
hide_mouse();
button_3d(350,205,380,225,CLICKED,”7?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(350,205,380,225,UNCLICKED,”7?,0);
show_mouse();
ch=’7';
return ch;
}
//**********************************************
if (X>=390 && X<=420 && Y>=205 && Y<=225) // Condition For 8
{
hide_mouse();
button_3d(390,205,420,225,CLICKED,”8?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(390,205,420,225,UNCLICKED,”8?,0);
show_mouse();
ch=’8';
return ch;
}
//*****************************************
if (X>=430 && X<=460 && Y>=205 && Y<=225) // Condition For 9
{
hide_mouse();
button_3d(430,205,460,225,CLICKED,”9?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(430,205,460,225,UNCLICKED,”9?,0);
show_mouse();
ch=’9';
return ch;
}
//***********************************
if (X>=350 && X<=380 && Y>=230 && Y<=250) // Condition For 4
{
hide_mouse();
button_3d(350,230,380,250,CLICKED,”4?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(350,230,380,250,UNCLICKED,”4?,0);
show_mouse();
ch=’4';
return ch;
}
//***********************************
if (X>=390 && X<=420 && Y>=230 && Y<=250) // Condition For 5
{
hide_mouse();
button_3d(390,230,420,250,CLICKED,”5?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(390,230,420,250,UNCLICKED,”5?,0);
show_mouse();
ch=’5';
return ch;
}
//***********************************
if (X>=430 && X<=460 && Y>=230 && Y<=250) // Condition For 6
{
hide_mouse();
button_3d(430,230,460,250,CLICKED,”6?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(430,230,460,250,UNCLICKED,”6?,0);
show_mouse();
ch=’6';
return ch;
}
//***********************************
if (X>=480 && X<=510 && Y>=230 && Y<=250) // Condition For *
{
hide_mouse();
button_3d(480,230,510,250,CLICKED,”*”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(480,230,510,250,UNCLICKED,”*”,0);
show_mouse();
ch=’*';
return ch;
}
//***********************************
if (X>=515 && X<=545 && Y>=230 && Y<=250) // Condition For /
{
hide_mouse();
button_3d(515,230,545,250,CLICKED,”/”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(515,230,545,250,UNCLICKED,”/”,0);
show_mouse();
ch=’/';
return ch;
}
//***********************************
int a,b;
if (X>=350 && X<=380 && Y>=255 && Y<=275) // Condition For 1
{
hide_mouse();
button_3d(350,255,380,275,CLICKED,”1?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(350,255,380,275,UNCLICKED,”1?,0);
show_mouse();
ch=’1';
return ch;
}
// *************************************
if (X>=390 && X<=420 && Y>=255 && Y<=275) // Condition For 2
{
hide_mouse();
button_3d(390,255,420,275,CLICKED,”2?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(390,255,420,275,UNCLICKED,”2?,0);
show_mouse();
ch=’2';
return ch;
}
// *************************************
if (X>=430 && X<=460 && Y>=255 && Y<=275) // Condition For 3
{
hide_mouse();
button_3d(430,255,460,275,CLICKED,”3?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(430,255,460,275,UNCLICKED,”3?,0);
show_mouse();
ch=’3';
return ch;
}
// *************************************
if (X>=350 && X<=380 && Y>=280 && Y<=300) // Condition For 0
{
hide_mouse();
button_3d(350,280,380,300,CLICKED,”0?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(350,280,380,300,UNCLICKED,”0?,0);
show_mouse();
ch=’0';
return ch;
}
// *************************************
if (X>=390 && X<=420 && Y>=280 && Y<=300) // Condition For .
{
hide_mouse();
button_3d(390,280,420,300,CLICKED,”.”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(390,280,420,300,UNCLICKED,”.”,0);
show_mouse();
ch=’.';
return ch;
}
//**********************************************
if (X>=430 && X<=460 && Y>=280 && Y<=300) // Condition For pi
{
hide_mouse();
button_3d(430,280,460,300,CLICKED,”pi”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(430,280,460,300,UNCLICKED,”pi”,0);
show_mouse();
ch=’h';
return ch;
}
//***********************************************
if (X>=480 && X<=510 && Y>=255 && Y<=275) // Condition For -
{
hide_mouse();
button_3d(480,255,510,275,CLICKED,”-”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(480,255,510,275,UNCLICKED,”-”,0);
show_mouse();
ch=’-';
return ch;
}
//**************************************************
if (X>=515 && X<=545 && Y>=255 && Y<=275) // Condition For +
{
hide_mouse();
button_3d(515,255,545,275,CLICKED,”+”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(515,255,545,275,UNCLICKED,”+”,0);
show_mouse();
ch=’+';
return ch;
}
//*****************************************************
if (X>=350 && X<=460 && Y>=305 && Y<=325) // Condition For =
{
hide_mouse();
button_3d(350,305,460,325,CLICKED,”=”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(350,305,460,325,UNCLICKED,”=”,0);
show_mouse();
ch=’=';
return ch;
}
//*****************************************************
if (X>=480 && X<=545 && Y>=305 && Y<=325) // Condition For shift
{
hide_mouse();
button_3d(480,305,545,325,CLICKED,”shift”,BLUE);
show_mouse();
delay(250);
hide_mouse();
button_3d(480,305,545,325,UNCLICKED,”shift”,BLUE);
show_mouse();
ch=’~';
sflag=1;
return ch;
}
//*************************************
if (X>=480 && X<=510 && Y>=205 && Y<=225) // Condition For AC
{
hide_mouse();
button_3d(480,205,510,225,CLICKED,”AC”,4);
show_mouse();
delay(250);
hide_mouse();
button_3d(480,205,510,225,UNCLICKED,”AC”,4);
show_mouse();
ch=’o';
return ch;
}
//*********************//
if (X>=515 && X<=545 && Y>=205 && Y<=225) // Condition For C
{
hide_mouse();
button_3d(515,205,545,225,CLICKED,”CE”,4);
show_mouse();
delay(250);
hide_mouse();
button_3d(515,205,545,225,UNCLICKED,”CE”,4);
show_mouse();
ch=’a';
return ch;
}
// ****************************************
if (X>=100 && X<=150 && Y>=205 && Y<=230) // Condition For Sin
{
hide_mouse();
button_3d(100,205,150,230,CLICKED,”Sin”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(100,205,150,230,UNCLICKED,”Sin”,0);
show_mouse();
ch=’s';
return ch;
}
//***********************************
if (X>=160 && X<=210 && Y>=205 && Y<=230) // Condition For Cos
{
hide_mouse();
button_3d(160,205,210,230,CLICKED,”Cos”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(160,205,210,230,UNCLICKED,”Cos”,0);
show_mouse();
ch=’c';
return ch;
}
//***********************************
if(X>=515&&X<=545&&Y>=280&&Y<=300) //inverse
{
hide_mouse();
button_3d(515,280,545,300,CLICKED,”inv”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(515,280,545,300,UNCLICKED,”inv”,0);
show_mouse();
ch=’m';
return ch;
}
if (X>=220 && X<=270 && Y>=205 && Y<=230) // Condition For Tan
{
hide_mouse();
button_3d(220,205,270,230,CLICKED,”Tan”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(220,205,270,230,UNCLICKED,”Tan”,0);
show_mouse();
ch=’t';
return ch;
}
//*********************************** */
if (X>=100 && X<=150 && Y>=250 && Y<=275) // Condition For sin^-1
{
hide_mouse();
button_3d(100,250,150,275,CLICKED,”sin^-1?,0);
show_mouse();
delay(150);
hide_mouse();
button_3d(100,250,150,275,UNCLICKED,”sin^-1?,0);
show_mouse();
ch=’i';
return ch;
}
//**************************
if (X>=160 && X<=210 && Y>=250 && Y<=275) // Condition For cos^-1
{
hide_mouse();
button_3d(160,250,210,275,CLICKED,”cos^-1?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(160,250,210,275,UNCLICKED,”cos^-1?,0);
show_mouse();
ch=’j';
return ch;
}
//**************************
if (X>=430 && X<=460 && Y>=350 && Y<=370) // Condition For MR
{
hide_mouse();
button_3d(430,350,460,370,CLICKED,”MR”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(430,350,460,370,UNCLICKED,”MR”,0);
show_mouse();
ch=’?';
return ch;
}
if (X>=390 && X<=420 && Y>=350 && Y<=370) // Condition For M-
{
hide_mouse();
button_3d(390,350,420,370,CLICKED,”M-”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(390,350,420,370,UNCLICKED,”M-”,0);
show_mouse();
ch=’<’;
return ch;
}
if (X>=350 && X<=380 && Y>=350 && Y<=370) // Condition For M+
{
hide_mouse();
button_3d(350,350,380,370,CLICKED,”M+”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(350,350,380,370,UNCLICKED,”M+”,0);
show_mouse();
ch=’>’;
return ch;
}
if (X>=220 && X<=270 && Y>=250 && Y<=275) // Condition For tan^-1
{
hide_mouse();
button_3d(220,250,270,275,CLICKED,”tan^-1?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(220,250,270,275,UNCLICKED,”tan^-1?,0);
show_mouse();
ch=’k';
return ch;
}
//**************************
if (X>=100 && X<=150 && Y>=300 && Y<=325) // Condition For ln
{
hide_mouse();
button_3d(100,300,150,325,CLICKED,”ln”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(100,300,150,325,UNCLICKED,”ln”,0);
show_mouse();
ch=’n';
return ch;
}
//**************************
if (X>=160 && X<=210 && Y>=300 && Y<=325) // Condition For log
{
hide_mouse();
button_3d(160,300,210,325,CLICKED,”log”,0);
show_mouse();
delay(150);
hide_mouse();
button_3d(160,300,210,325,UNCLICKED,”log”,0);
show_mouse();
ch=’l';
return ch;
}
//**************************
if (X>=220 && X<=270 && Y>=300 && Y<=325) // Condition For X^2
{
hide_mouse();
button_3d(220,300,270,325,CLICKED,”x^2?,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(220,300,270,325,UNCLICKED,”x^2?,0);
show_mouse();
ch=’p';
return ch;
}
if (X>=100 && X<=150 && Y>=350 && Y<=370) // Condition For deg
{
hide_mouse();
button_3d(100,350,150,370,CLICKED,”deg”,15);
button_3d(160,350,210,370,UNCLICKED,”rad”,0);
button_3d(220,350,270,370,UNCLICKED,”gra”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(100,350,150,370,UNCLICKED,”deg”,15);
show_mouse();
ch=’d';
flagp=flag;
flag=ch;
return ch;
}
//**************************
if (X>=160 && X<=210 && Y>=350 && Y<=370) // Condition For rad
{
hide_mouse();
button_3d(100,350,150,370,UNCLICKED,”deg”,0);
button_3d(160,350,210,370,CLICKED,”rad”,15);
button_3d(220,350,270,370,UNCLICKED,”gra”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(160,350,210,370,UNCLICKED,”rad”,15);
show_mouse();
ch=’r';
flagp=flag;
flag=ch;
return ch;
}
if (X>=220 && X<=270 && Y>=350 && Y<=370) // Condition For gra
{
hide_mouse();
button_3d(100,350,150,370,UNCLICKED,”deg”,0);
button_3d(160,350,210,370,UNCLICKED,”rad”,0);
button_3d(220,350,270,370,CLICKED,”gra”,15);
show_mouse();
delay(250);
hide_mouse();
button_3d(220,350,270,370,UNCLICKED,”gra”,15);
show_mouse();
ch=’g';
flagp=flag;
flag=ch;
return ch;
}
if ((X>=480 && X<=545 &&Y>=350 &&Y <=370)||(X>=575&&X<=595&&Y>=23&&Y<=40)) //OFF
{
free(mem);
exit(0);
}
if (X>=108 && X<=208 && Y>=140 && Y<=160) // Condition For dec
{
hide_mouse();
button_3d(108,140,208,160,CLICKED,”DEC”,15);
button_3d(218,140,318,160,UNCLICKED,”OCT”,0);
button_3d(328,140,428,160,UNCLICKED,”HEX”,0);
button_3d(438,140,538,160,UNCLICKED,”BIN”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(108,140,208,160,UNCLICKED,”DEC”,15);
show_mouse();
ch=’u';
bflagp=bflag;
bflag=ch;
return ch;
}
if (X>=218 && X<=318 && Y>=140 && Y<=160) // Condition For oct
{
hide_mouse();
button_3d(108,140,208,160,UNCLICKED,”DEC”,0);
button_3d(218,140,318,160,CLICKED,”OCT”,15);
button_3d(328,140,428,160,UNCLICKED,”HEX”,0);
button_3d(438,140,538,160,UNCLICKED,”BIN”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(218,140,318,160,UNCLICKED,”OCT”,15);
show_mouse();
ch=’v';
bflagp=bflag;
bflag=ch;
return ch;
}
if (X>=328 && X<=428 && Y>=140 && Y<=160) // Condition For hex
{
hide_mouse();
button_3d(108,140,208,160,UNCLICKED,”DEC”,0);
button_3d(218,140,318,160,UNCLICKED,”OCT”,0);
button_3d(328,140,428,160,CLICKED,”HEX”,15);
button_3d(438,140,538,160,UNCLICKED,”BIN”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(328,140,428,160,UNCLICKED,”HEX”,15);
show_mouse();
ch=’w';
bflagp=bflag;
bflag=ch;
return ch;
}
if (X>=438 && X<=538 && Y>=140 && Y<=160) // Condition For dec
{
hide_mouse();
button_3d(108,140,208,160,UNCLICKED,”DEC”,0);
button_3d(218,140,318,160,UNCLICKED,”OCT”,0);
button_3d(328,140,428,160,UNCLICKED,”HEX”,0);
button_3d(438,140,538,160,CLICKED,”BIN”,15);
show_mouse();
delay(250);
hide_mouse();
button_3d(438,140,538,160,UNCLICKED,”BIN”,15);
show_mouse();
ch=’x';
bflagp=bflag;
bflag=ch;
return ch;
}
if(X>=480&&X<=510&&Y>=280&&Y<=300) //sqrt
{
hide_mouse();
button_3d(480,280,510,300,CLICKED,”sqrt”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(480,280,510,300,UNCLICKED,”sqrt”,0);
show_mouse();
ch=’q';
return ch;
}
if (X>=280 && X<=330 && Y>=205 && Y<=230) // Condition For Factorial
{
hide_mouse();
button_3d(280,205,330,230,CLICKED,”fact”,0);
show_mouse();
delay(250);
hide_mouse();
button_3d(280,205,330,230,UNCLICKED,”fact”,0);
show_mouse();
ch=’!';
return ch;
}
//***********************************
}while(kbhit() == 0);
ch=getch();
return ch;
}
/*************************************************************************/
/* This function performs the Calculations */
/*************************************************************************/
double add(double x,double y,char ch)
{
switch(ch){
case ‘+’: y=x+y;break;
case ‘-’: y=x-y;break;
case ‘*’: y=x*y;break;
case ‘/’: y=x/y;
}
return y;
}
double angle_conv(double no)
{
if(flagp==’d')
{
if(flag==’r')
{ no=no*PI/180; }
if(flag==’g')
{ no=no*1.1111111; }
}
else if(flagp==’r')
{
if(flag==’d')
{ no=no*180/PI; }
if(flag==’g')
{ no=no*180/PI*1.1111111; }
}
else if(flagp==’g')
{
if(flag==’r')
{ no=no/(180*1.1111111)*PI; }
if(flag==’d')
{ no=no/1.1111111; }
}
return(no);
}
void basecng(double y,double pnt1)
{
char str[17];
if(pnt1!=0)
{
gotoxy(row,col);
printf(“Not supported”);
getch();
bflag=’u';
bflagp=’0';
main();
}
if(bflagp!=’u')
{
gotoxy(row,col);
printf(“Not supported”);
getch();
bflagp=’0';
bflag=’u';
main();
}
switch(bflag)
{
case ‘v’:
itoa(y,str,8);
gotoxy(row,col);
printf(“tttt “);
gotoxy(row,col);
printf(“%s”,str);
bflagp=’0';
break;
case ‘w’:
itoa(y,str,16);
gotoxy(row,col);
printf(“tttt “);
gotoxy(row,col);
printf(“%s”,str);
bflagp=’0';
// getch();
break;
case ‘x’:
itoa(y,str,2);
gotoxy(row,col);
printf(“tttt “);
gotoxy(row,col);
printf(“%s”,str);
// getch();
bflagp=’0';
break;
}
bflag=’u';
}
unsigned long factorial(int n)
{
unsigned long fact = 1;
int i;
for(i = n; i > 0; i–){
fact = fact*i;
}
return fact;
}



Popular posts from this blog

C++ Program to find the sum, difference, product and quotient of two integers

#include <iostream.h> #include <conio.h> void main() {   clrscr();   int x = 10;   int y = 2;   int sum, difference, product, quotient;   sum = x + y;   difference = x - y;   product = x * y;   quotient = x / y;   cout << "The sum of " << x << " & " << y << " is " << sum << "." << endl;   cout << "The difference of " << x << " & " << "y <<  is " << difference << "." << endl;   cout << "The product of " << x << " & " << y << " is " << product << "." << endl;   cout << "The quotient of " << x << " & " << y << " is " << quotient << "." << endl;   getch(); }

What is Dynamic Memory Allocation in C++ Program

In the computer world, anything that is processed be it an instruction or any data first needs to be loaded and located in internal memory.  In C++ programs also any data that is processed while executing the program is held in the internal memory.  What is Dynamic Memory Allocation? Dynamic Memory allocation means that the memory that will be used during the program is not known beforehand and is allocated dynamically and on the go. It is allocated during the runtime as and when required by the program. In C++ there are two operators used in dynamic memory allocation  1. New  2. Delete New operator in dynamic memory allocation The new operator in C++ is used to create objects of all types. The new operator will allocate memory of the size of the data type specified in the program.  For Example iptr = new int ;  Storing initial values will allocate needed amount of memory from the free store to hold the value of the specified data-type and store the startin...

What is iostream.h in C++ Programing Language ?

In C++ programing language, all header files end with .H extension. In standard C++, all devices are accessed and used as a file.  One such header file is iostream.h in C++ programming language. In this, all input and output devices are treated as files.  Let's quickly look at what are the input and output devices mean in C++ program.  Standard Input Device - Keyboard  Standard Output Device   - Monitor  Standard Error Device - Screen or monitor In C++, input and output are not defined within, and are implemented with the help of a component of the C++ standard library which is I/O library.  A file is read simply as a stream of bytes at the lowest level. But at a user level, a file consists of possibly mixed data types which can be characters, arithmetic values class, objects etc.  What are the predefined streams in I/O Library? As discussed above there are input, output and error library in c++, they have some predefined streams objects as well w...