Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   Monthly Salary wages (http://www.go4expert.com/forums/monthly-salary-wages-t13251/)

knavkannu 25Aug2008 15:15

Monthly Salary wages
 
Code:

#include<string.h>
#include<math.h>
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<fstream.h>
#include<iomanip.h>
typedef char mon[44];
mon m[]={
          "January",
          "February",
          "March",
          "April",
          "May",
          "June",
          "July",
          "August",
          "September",
          "October",
          "November",
          "December"
          };

class table
{
char c1,c,c2,c3,c4,c5;
public:
void showtable();
};
void table::showtable()
{
c1=218;c=179;c2=196;c3=191;c4=217;c5=192;
gotoxy(1,1);
cout<<"Salary and wages sheet for the Month";
gotoxy(72,1);
cout<<"Unit-II";
gotoxy(2,3);
cout<<"S.";
gotoxy(2,4);
cout<<"No";
for(int a=3;a<=24;a++)
{
gotoxy(4,a);
cout<<c;
}
gotoxy(10,3);
cout<<"Name";
for(a=3;a<=24;a++)
{
gotoxy(18,a);
cout<<c;
}
gotoxy(19,3);
cout<<"T.No";
for(a=3;a<=24;a++)
{
gotoxy(23,a);
cout<<c;
}
gotoxy(25,3);
cout<<"Rate";
for(a=3;a<=24;a++)
{
gotoxy(30,a);
cout<<c;
}
gotoxy(31,3);
cout<<"Days";
for(a=3;a<=24;a++)
{
gotoxy(35,a);
cout<<c;
}
gotoxy(37,3);
cout<<"Sal";
for(a=3;a<=24;a++)
{
gotoxy(43,a);
cout<<c;
 }
gotoxy(44,3);
cout<<"O.T";
for(a=3;a<=24;a++)
{
gotoxy(48,a);
cout<<c;
}
gotoxy(51,3);
cout<<"O.T";
gotoxy(51,4);
cout<<"Sal";
for(a=3;a<=24;a++)
{
gotoxy(57,a);
cout<<c;
}
gotoxy(58,3);
cout<<"Add";
for(a=3;a<=24;a++)
{
gotoxy(62,a);
cout<<c;
}
gotoxy(65,3);
cout<<"Net";
for(a=3;a<=24;a++)
{
gotoxy(72,a);
cout<<c;
}
gotoxy(73,3);
cout<<"Sign.";
}
void box(int x,int y,int xx,int yy)
{
gotoxy(x,y);
printf("%c",218);
gotoxy(xx,y);
printf("%c",191);
gotoxy(x,yy);
printf("%c",192);
gotoxy(xx,yy);
printf("%c",217);
x++;
for(int s=x;s<xx;s++)
{
gotoxy(s,y);
printf("%c",196);
gotoxy(s,yy);
printf("%c",196);
}
x--;
y++;
for(int d=y;d<yy;d++)
{
gotoxy(x,d);
printf("%c",179);
gotoxy(xx,d);
printf("%c",179);
}
y+=2;
x++;
/*for(d=x;d<xx;d++)
{
gotoxy(d,y);
printf("%c",196);
} */
}

void normalvideo(int x,int y,char s[44])
{
gotoxy(x,y);
cprintf("%s",s);
}
void reversevideo(int x,int y,char s[44])
{
textcolor(5+143);
textbackground(3);
gotoxy(x,y);
cprintf("%s",s);
textcolor(BLUE);
textbackground(GREEN);
}
class date
{
public:
int month,year;
void entermonth();
void enteryear();
int returnmonth();
int returnyear();
};


class personid
{
double rate,token;
int sno;
char name[33];
public:
void readfile();
void addtopersonid(int,char[20],double,double);
int returnserialpersonid();
void deletepersonid(double);
double returntokensno(double);
char *returnname(double);
double returnrate(double);
int valid(double);
int token_valid(double);
int token_valid2(double,double);
void modify_record(double);
void modified(int,char[20],double,double);
};
class rec
{
char name[33];
double token,rate,days,sal,ot,otsal,deduct,add,net;
int sno;
public:
int returnsno(int,int);
void addrec();
void addtofile(int,char[20],double,double,double,double,double,double,
double,double,double,int,int);
void deletefromfile(int,int,double);
void readfile();
void menu();
int monno();
void indi_record();
};
void personid::addtopersonid(int s,char a[20],double d, double r)
{
sno=s;
strcpy(name,a);
token=d;
rate=r;
fstream f;
f.open("Pers",ios::out|ios::app);
f.write((char*)this,sizeof(personid));
f.close();
}

void personid::readfile()
{
rec rr;
int count=0;
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
start:
int r=6;
while(f.read((char*)this,sizeof(personid)))
{
count++;
gotoxy(3,4);
cout<<"S.No";
gotoxy(12,4);
cout<<"Name";
gotoxy(32,4);
cout<<"Token";
gotoxy(45,4);
cout<<"Rate";
gotoxy(3,r);
cout<<sno;
gotoxy(12,r);
cout<<name;
gotoxy(32,r);
cout<<token;
gotoxy(45,r);
cout<<rate;
r+=2;
if(r==26)
{
getch();
clrscr();
goto start;
}
}
if(count==0)
{
gotoxy(24,4);
cout<<"No record found";
}

f.clear();
f.close();
}
double personid::returntokensno(double t)
{
double s=0;
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(personid)))
{
if(t==token)
{
s=sno;
break;
}
}
f.clear();
f.close();
return(s);
}
void personid::deletepersonid(double t)
{
int count=0;
rec r;
fstream f,ff;
f.open("Pers",ios::in);
while(f.read((char*)this,sizeof(personid)))
{
if(t==token)
{
count++;
}
}
f.clear();
f.close();
if(count==0)
{
cout<<"There is no such token number";
}
else
{
double sn=returntokensno(t);
f.open("Temp",ios::out);
ff.open("Pers",ios::in);
ff.seekg(0);
while(!ff.eof())
{
ff.read((char*)this,sizeof(personid));
if(ff.eof())
break;
if(token!=t)
{
//f.write((char*)this,sizeof(personid));
if(sno>sn)
{
sno--;
f.write((char*)this,sizeof(personid));
}
else
{
f.write((char*)this,sizeof(personid));
}
}
}
f.close();
ff.clear();
ff.close();
f.open("Temp",ios::in);
ff.open("Pers",ios::out);
f.seekg(0);
while(!f.eof())
{
f.read((char*)this,sizeof(personid));
if(f.eof())
break;
ff.write((char*)this,sizeof(personid));
}
f.clear();
f.close();
ff.close();
}
}
int personid::returnserialpersonid()
{
int w=0;
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(personid)))
{
w=sno;
}
f.clear();
f.close();
return(w);
}
char *personid::returnname(double t)
{
char indi_name[20];
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(personid)))
{
if(t==token)
{
strcpy(indi_name,name);
}
}
f.close();
f.clear();
return(indi_name);
}
double personid::returnrate(double t)
{
double r;
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(personid)))
{
if(t==token)
{
r=rate;
}
}
f.clear();
f.close();
return(r);
}
int personid::valid(double t)
{
int c=0;
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(personid)))
{
if(t==token)
{
c++;
}
}
f.clear();
f.close();
if(c==1)
return 1;
else
return 0;
}
int personid::token_valid(double t)
{
int c=0;
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(personid)))
{
if(t==token)
{
c++;
}
}
f.clear();
f.close();
if(c==0)
return 1;
else
return 0;
}
int personid::token_valid2(double t,double tt)
{
int c=0;
fstream f;
f.open("Pers",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(personid)))
{
if(t!=tt&&tt==token)
{
c++;
}
}
f.clear();
f.close();
if(c==0)
return 1;
else
return 0;
}

void personid::modify_record(double t)
{
rec r;
if(!valid(t))
{
clrscr();
gotoxy(33,7);
cout<<"No such token number exist";
}
else
{
clrscr();
int sn=returntokensno(t);
char a[20],s[20];
double tok,rat;
gotoxy(3,5);
strcpy(a,returnname(t));
cout<<"Name = "<<a;
gotoxy(3,7);
cout<<"Rate = "<<returnrate(t);
gotoxy(26,12);
cout<<"Enter Name  = ";
gotoxy(26,14);
cout<<"Enter Token  = ";
gotoxy(26,16);
cout<<"Enter Rate = ";
gotoxy(40,12);
cin>>s;
double h,first,second,items[20];
int x=0,num,v,g,no[4];
char cc;
int row=14,col=40;
for(int ss=0;ss<=1;ss++)
{
s2:
x=0;
col=40;
sss:
gotoxy(col,row);
do
{
cc=getch();
if(cc==8&&x==0)
{
gotoxy(40,14);
goto s2;
}
else if(cc==8)
{
x--;
col--;
gotoxy(col,row);
cout<<" ";
goto sss;
}
else if(cc==113||cc==81)
{
clrscr();
r.menu();
}
cout<<cc;
col++;
num=-1;
for(v=48;v<=57;v++)
{
num++;
if(cc==v)
{
no[x++]=num;
break;
}
}
}while(cc!=13&&cc!=46);
if(cc==46)
{
g=x-1;h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
first=h;
s3:
x=0;
//col=25;
ssss:
gotoxy(col,row);
do
{
cc=getch();
if(cc==72)
{
gotoxy(40,row);
cout<<"                    ";
row-=2;
gotoxy(40,row);
cout<<"                    ";
ss--;
goto s3;
}
else if(cc==8&&x==0)
{
gotoxy(40,14);
goto s3;
}
else if(cc==8)
{
x--;
col--;
gotoxy(col,row);
cout<<" ";
goto ssss;
}
else if(cc==113||cc==81)
{
clrscr();
r.menu();
}
cout<<cc;
col++;
num=-1;
for(v=48;v<=57;v++)
{
num++;
if(cc==v)
{
no[x++]=num;
break;
}
}
}while(cc!=13);
g=x-1;h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
second=h;
second=second/(pow(10,x));
items[ss]=first+second;
}
else
{
double g=x-1,h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
items[ss]=h;
}
if(ss==0)
{
if(!token_valid2(t,items[0]))
{
clrscr();
gotoxy(25,7);
cout<<"That Token number is already in use";
getch();
r.menu();
}
}
row+=2;
}
char hh;
do
{
gotoxy(48,5);
cout<<"Want to add record: -";
gotoxy(50,7);
cout<<"Press y for yes";
gotoxy(50,9);
cout<<"Press n for no";
gotoxy(68,8);
hh=getch();
if(hh!='y'&&hh!='n'&&hh!='Y'&&hh!='N')
{
gotoxy(68,8);
cout<<" ";
}
else
{
gotoxy(68,8);
cout<<hh;
getch();
}
}while(hh!='y'&&hh!='n'&&hh!='Y'&&hh!='N');
if(hh=='y'||hh=='Y')
{
modified(sn,s,items[0],items[1]);
clrscr();
gotoxy(33,4);
cout<<"Record Modified";
}
}
}
void personid::modified(int sn,char n[20],double t,double r)
{
sno=sn;
strcpy(name,n);
token=t;
rate=r;
fstream f;
f.open("Pers",ios::out|ios::ate);
f.seekp((sn-1)*sizeof(personid));
f.write((char*)this,sizeof(personid));
}
void rec::readfile()
{
date d;
int month=d.returnmonth();
int year= d.returnyear();
if(month==0&&year==0)
{
clrscr();
gotoxy(15,5);
cout<<"First select month and enter year from the main menu";
getch();
clrscr();
menu();
}
else if(year==0)
{
clrscr();
gotoxy(5,3);
cout<<"Month="<<m[d.month-1];
gotoxy(20,5);
cout<<"First please enter year";
getch();
clrscr();
menu();
}
else if(month==0)
{
clrscr();
gotoxy(5,3);
cout<<"Year="<<d.year;
gotoxy(20,5);
cout<<"First please enter month";
getch();
clrscr();
menu();
}
else
{
table t;
char s[20],ss[20];
itoa(month,s,10);
itoa(year,ss,10);
strcat(s,ss);
//cout<<s;getch();
fstream f;
f.open(s,ios::in);
f.seekg(0);
int count=0;
start:
int r=6;
while(f.read((char*)this,sizeof(rec)))
{
box(1,2,79,25);
for(int dd=2;dd<79;dd++)
{
gotoxy(dd,5);
printf("%c",196);
}
t.showtable();
gotoxy(38,1);
cout<<m[month-1];
cout<<" and year ";
cout<<year;
count++;
gotoxy(2,r);
cout<<sno;
gotoxy(5,r);
cout<<name;
gotoxy(19,r);
cout<<token;
gotoxy(24,r);
cout<<rate;
gotoxy(31,r);
cout<<days;
gotoxy(36,r);
cout<<sal;
gotoxy(44,r);
cout<<ot;
gotoxy(49,r);
cout<<otsal;
gotoxy(58,r);
cout<<add;
gotoxy(63,r);
cout.setf(ios::fixed);
cout<<setprecision(2)<<net;
r++;
for(int ddd=2;ddd<79;ddd++)
{
gotoxy(ddd,r);
printf("%c",196);
}
r++;
if(r==26)
{
getch();
clrscr();
goto start;
}
}
if(count==0)
{
gotoxy(24,4);
cout<<"No record found for "<<m[month-1]<<" "<<year;
getch();
clrscr();
menu();
}
f.clear();
f.close();
}
}
void rec::addtofile(int nn,char n[20],double t,double r,double d,double sa,
double over,double oversal,double a,double dd,double ne,int m,int y)
{
sno=nn;
strcpy(name,n);
token=t;
rate=r;
days=d;
sal=sa;
ot=over;
otsal=oversal;
add=a;
deduct=dd;
net=ne;
char s[20],ss[20];
itoa(m,s,10);
itoa(y,ss,10);
strcat(s,ss);
fstream f;
f.open(s,ios::out|ios::app);
f.write((char*)this,sizeof(rec));
f.close();
//cout<<s;getch();
}
void rec::deletefromfile(int month,int year,double t)
{
char s[20],ss[20];
itoa(month,s,10);
itoa(year,ss,10);
strcat(s,ss);
fstream f,ff;
f.open(s,ios::in);
ff.open("abc",ios::out);
f.seekg(0);
while(!f.eof())
{
f.read((char*)this,sizeof(rec));
if(f.eof())
break;
if(token!=t)
ff.write((char*)this,sizeof(rec));
}
f.clear();
f.close();
ff.close();
f.open(s,ios::out);
ff.open("abc",ios::in);
ff.seekg(0);
while(!ff.eof())
{
ff.read((char*)this,sizeof(rec));
if(ff.eof())
break;
if(token!=t)
f.write((char*)this,sizeof(rec));
}
ff.clear();
ff.close();
f.close();
}

int date::returnyear()
{
int y=0;
fstream f;
f.open("year",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(date)))
{
y=year;
}
f.clear();
f.close();
return (y);
}



int date::returnmonth()
{
int s=0;
fstream f;
f.open("month",ios::in);
f.seekg(0);
while(f.read((char*)this,sizeof(date)))
{
s=month;
}
f.clear();
f.close();
return (s);
}

void date::entermonth()
{
int s=0,d;
rec r;
d=r.monno();
month=s+d;
fstream f;
f.open("month",ios::trunc|ios::out);
f.write((char*)this,sizeof(date));
f.close();
}

void date::enteryear()
{
start:
textcolor(WHITE);
textbackground(BLACK);
clrscr();
rec r;
gotoxy(10,3);
cout<<"Enter year";
char w;
int y1,y2,y3,y4,s,a;
gotoxy(22,4);
w=getch();
if(w==27)
{
clrscr();
r.menu();
}
cout<<w;
y1=int(w);
s=-1;
for(a=48;a<=57;a++)
{
s++;
if(a==y1)
break;
}
y1=s;
if(y1!=2)
{
clrscr();
gotoxy(27,10);
cout<<"Please enter year between 2000-2099";
getch();
clrscr();
goto start;
}
gotoxy(23,4);
w=getch();
if(w==27)
{
clrscr();
r.menu();
}
cout<<w;
y2=int(w);
s=-1;
for(a=48;a<=57;a++)
{
s++;
if(a==y2)
break;
}
y2=s;
gotoxy(24,4);
w=getch();
if(w==27)
{
clrscr();
r.menu();
}
cout<<w;
y3=int(w);
s=-1;
for(a=48;a<=57;a++)
{
s++;
if(a==y3)
break;
}
y3=s;
gotoxy(25,4);
w=getch();
if(w==27)
{
clrscr();
r.menu();
}
cout<<w;
y4=int(w);
s=-1;
for(a=48;a<=57;a++)
{
s++;
if(a==y4)
break;
}
y4=s;
year=(y1*1000)+(y2*100)+(y3*10)+y4;
fstream f;
f.open("year",ios::out);
f.write((char*)this,sizeof(date));
f.close();
}

int rec::returnsno(int month,int year)
{
char s[10],ss[10];
itoa(month,s,10);
itoa(year,ss,10);
strcat(s,ss);
fstream f;
f.open(s,ios::in);
f.seekg(0);
int w=0;
while(f.read((char*)this,sizeof(rec)))
{
w=sno;
}
f.clear();
f.close();
return(w);
}
void rec::indi_record()
{
start:
date d;
int month=d.returnmonth();
int year= d.returnyear();
char s[20],ss[20];
itoa(month,s,10);
itoa(year,ss,10);
strcat(s,ss);
if(month==0&&year==0)
{
clrscr();
gotoxy(15,5);
cout<<"First select month and enter year from the main menu";
getch();
clrscr();
menu();
}
else if(year==0)
{
clrscr();
gotoxy(5,3);
cout<<"Month="<<m[d.month-1];
gotoxy(20,5);
cout<<"First please enter year";
getch();
clrscr();
menu();
}
else if(month==0)
{
clrscr();
gotoxy(5,3);
cout<<"Year="<<d.year;
gotoxy(20,5);
cout<<"First please enter month";
getch();
clrscr();
menu();
}

else
{
personid pi;
int ssno=returnsno(month,year);
ssno++;
int sn=pi.returnserialpersonid();
sn++;
textcolor(WHITE);
textbackground(BLACK);
clrscr();
gotoxy(20,2);
cout<<m[month-1];
char cc;
box(9,2,45,20);
gotoxy(60,2);
cout<<m[month-1]<<","<<year;
gotoxy(26,4);
cout<<"Enter";
gotoxy(12,6);
cout<<"Name";
gotoxy(12,8);
cout<<"T.No.";
gotoxy(12,10);
cout<<"Rate";
gotoxy(12,12);
cout<<"Days";
gotoxy(12,14);
cout<<"OT";
gotoxy(12,16);
cout<<"Deduction";
gotoxy(12,18);
cout<<"Add";
int cou=0;
double tok;
do
{
gotoxy(25,8);
cout<<"Enter token number";
getch();
cou++;
}while(cou!=1);
start2:
gotoxy(10,22);
cout<<"                                              ";
gotoxy(25,8);
cout<<"                    ";
gotoxy(25,10);
cout<<"                    ";
gotoxy(25,8);
cin>>tok;
char abc[20];
if(!pi.valid(tok))
{
gotoxy(25,8);
cout<<"No such token number";
gotoxy(25,10);
cout<<"exist in the record";
gotoxy(10,22);
cout<<"Exit = 'Menu'";
gotoxy(26,22);
cout<<"Continue = 'Any Key'";
cc=getch();
if(cc==27)
{
menu();
}
goto start2;
}
else
{
gotoxy(10,22);
cout<<"                                              ";
gotoxy(25,6);
strcpy(abc,pi.returnname(tok));
cout<<abc;
gotoxy(25,10);
cout<<pi.returnrate(tok);
}
char nname[20];
int ddays;
int col=25,row=6;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
ddays=31;
}
else if(month==4||month==6||month==9||month==11)
{
ddays=30;
}
else if(month==2)
{
if((year%4)==0)
{
ddays=29;
}
else
{
ddays=28;
}
}

double first,second,g,h,aa,x,v,num,no[20],items[6]={0},column[22];
verystart:
row=12;col=25;
for(int ss=0;ss<=3;ss++)
{
s2:
x=0;
col=25;
sss:
gotoxy(col,row);
do
{
cc=getch();
if(cc==27)
{
clrscr();
goto start;
}
if(ss!=0)
{
if(cc==72)
{
gotoxy(25,row);
cout<<"                    ";
row-=2;
gotoxy(25,row);
cout<<"                    ";
aa=items[ss];
ss--;
items[ss+1]=aa;
goto s2;
}
}
else if(cc==8&&x==0)
{
gotoxy(25,12);
goto s2;
}
else if(cc==8)
{
x--;
col--;
gotoxy(col,row);
cout<<" ";
goto sss;
}

else if(cc==113||cc==81)
{
clrscr();
menu();
}

cout<<cc;
col++;
num=-1;
for(v=48;v<=57;v++)
{
num++;
if(cc==v)
{
no[x++]=num;
break;
}
}
}while(cc!=13&&cc!=46);
if(cc==46)
{
g=x-1;h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
first=h;
s3:
x=0;
//col=25;
ssss:
gotoxy(col,row);
do
{
cc=getch();
if(cc==27)
{
clrscr();
goto start;
}
else if(cc==72)
{
gotoxy(25,row);
cout<<"                    ";
row-=2;
gotoxy(25,row);
cout<<"                    ";
aa=items[ss];
ss--;
items[ss+1]=aa;
goto s3;
}
else if(cc==8)
{
x--;
col--;
gotoxy(col,row);
cout<<" ";
goto ssss;
}
else if(cc==113||cc==81)
{
clrscr();
menu();
}
cout<<cc;
col++;
num=-1;
for(v=48;v<=57;v++)
{
num++;
if(cc==v)
{
no[x++]=num;
break;
}
}
}while(cc!=13);
g=x-1;h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
second=h;
second=second/(pow(10,x));
items[ss]=first+second;
}
else
{
double g=x-1,h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
items[ss]=h;
}
//gotoxy(35,row);
//cout<<items[ss];
row+=2;
column[ss]=col;
if(ss==0)
{
if(items[ss]>ddays)
{
ss--;
gotoxy(25,12);
cout<<m[month-1]<<" month has";
gotoxy(25,14);
cout<<"only "<<ddays<<" days";
getch();
gotoxy(25,12);
cout<<"                  ";
gotoxy(25,14);
cout<<"                  ";
row-=2;
}
}
}
gotoxy(35,12);
cout<<items[0];
gotoxy(35,14);
cout<<items[1];
gotoxy(35,16);
cout<<items[2];
gotoxy(35,18);
cout<<items[3];
double day=pi.returnrate(tok)/ddays;
double dddays=items[0];
double ssal=dddays*day;
double oot=items[1];
double overtimesal=day/8;
double ootsal=oot*overtimesal;
double ddeduct=items[2];
double aadd=items[3];
double nnet=ssal+ootsal+aadd-ddeduct;
gotoxy(40,40);
cout<<nnet;
char hh;
do
{
gotoxy(48,5);
cout<<"Want to add record: -";
gotoxy(50,7);
cout<<"Press y for yes";
gotoxy(50,9);
cout<<"Press n for no";
gotoxy(68,8);
hh=getch();
if(hh!='y'&&hh!='n'&&hh!='Y'&&hh!='N')
{
gotoxy(68,8);
cout<<" ";
}
else
{
gotoxy(68,8);
cout<<hh;
getch();
}
}while(hh!='y'&&hh!='n'&&hh!='Y'&&hh!='N');
if(hh=='y'||hh=='Y')
{
addtofile(ssno,pi.returnname(tok),tok,pi.returnrate(tok),dddays,ssal,oot,ootsal,aadd,ddeduct,nnet,
month,year);
//pi.addtopersonid(sn,nname,ttoken,rrate);
}
clrscr();
gotoxy(15,30);
cout<<"<Enter>=Continue";
gotoxy(50,30);
cout<<"Escape=<Esc>";
do
{
hh=getch();
}while(hh!=13&&hh!=27);
if(hh==13)
goto start;
else if(hh==27)
menu();
}
}

void rec::addrec()
{
start:
date d;
int month=d.returnmonth();
int year= d.returnyear();
char s[20],ss[20];
itoa(month,s,10);
itoa(year,ss,10);
strcat(s,ss);
if(month==0&&year==0)
{
clrscr();
gotoxy(15,5);
cout<<"First select month and enter year from the main menu";
getch();
clrscr();
menu();
}
else if(year==0)
{
clrscr();
gotoxy(5,3);
cout<<"Month="<<m[d.month-1];
gotoxy(20,5);
cout<<"First please enter year";
getch();
clrscr();
menu();
}
else if(month==0)
{
clrscr();
gotoxy(5,3);
cout<<"Year="<<d.year;
gotoxy(20,5);
cout<<"First please enter month";
getch();
clrscr();
menu();
}

else
{
personid pi;
int ssno=returnsno(month,year);
ssno++;
if(ssno==1)
{
addtofile(0,"Gaurav",0,0,0,0,0,0,0,0,0,month,year);
deletefromfile(month,year,0);
}
int sn=pi.returnserialpersonid();
sn++;
if(sn==1)
{
pi.addtopersonid(0,"Anil",0,0);
pi.deletepersonid(0);
}
textcolor(WHITE);
textbackground(BLACK);
clrscr();
gotoxy(20,2);
cout<<m[month-1];
char cc;
box(9,2,45,20);
gotoxy(60,2);
cout<<m[month-1]<<","<<year;
gotoxy(26,4);
cout<<"Enter";
gotoxy(12,6);
cout<<"Name";
gotoxy(12,8);
cout<<"T.No.";
gotoxy(12,10);
cout<<"Rate";
gotoxy(12,12);
cout<<"Days";
gotoxy(12,14);
cout<<"OT";
gotoxy(12,16);
cout<<"Deduction";
gotoxy(12,18);
cout<<"Add";
int col=25,row=6;
/*do
{
gotoxy(col,row);
cc=getch();
cout<<cc;
a[c++]=cc;
col++;
if(cc==27)
{
clrscr();
goto start;
}
else if(cc==113||cc==81)
{
clrscr();
menu();
}
}while(cc!=13);*/
char nname[20];
gotoxy(col,row);
gets(nname);
int ddays;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
ddays=31;
}
else if(month==4||month==6||month==9||month==11)
{
ddays=30;
}
else if(month==2)
{
if((year%4)==0)
{
ddays=29;
}
else
{
ddays=28;
}
}

double first,second,g,h,aa,x,v,num,no[20],items[6]={0},column[22];
verystart:
row=8;col=25;
for(int ss=0;ss<=5;ss++)
{
s2:
x=0;
col=25;
sss:
gotoxy(col,row);
do
{
cc=getch();
if(cc==27)
{
clrscr();
goto start;
}
else if(cc==72)
{
gotoxy(25,row);
cout<<"                    ";
row-=2;
gotoxy(25,row);
cout<<"                    ";
aa=items[ss];
ss--;
items[ss+1]=aa;
goto s2;
}
else if(cc==8&&x==0)
{
gotoxy(25,12);
goto s2;
}
else if(cc==8)
{
x--;
col--;
gotoxy(col,row);
cout<<" ";
goto sss;
}
else if(cc==113||cc==81)
{
clrscr();
menu();
}

cout<<cc;
col++;
num=-1;
for(v=48;v<=57;v++)
{
num++;
if(cc==v)
{
no[x++]=num;
break;
}
}
}while(cc!=13&&cc!=46);
if(cc==46)
{
g=x-1;h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
first=h;
s3:
x=0;
//col=25;
ssss:
gotoxy(col,row);
do
{
cc=getch();
if(cc==27)
{
clrscr();
goto start;
}
else if(cc==72)
{
gotoxy(25,row);
cout<<"                    ";
row-=2;
gotoxy(25,row);
cout<<"                    ";
aa=items[ss];
ss--;
items[ss+1]=aa;
goto s3;
}
else if(cc==8)
{
x--;
col--;
gotoxy(col,row);
cout<<" ";
goto ssss;
}
else if(cc==113||cc==81)
{
clrscr();
menu();
}
cout<<cc;
col++;
num=-1;
for(v=48;v<=57;v++)
{
num++;
if(cc==v)
{
no[x++]=num;
break;
}
}
}while(cc!=13);
g=x-1;h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
second=h;
second=second/(pow(10,x));
items[ss]=first+second;
}
else
{
double g=x-1,h=0;
for(v=0;v<x;v++)
{
h=h+no[v]*pow(10,g);
g--;
}
items[ss]=h;
}
//gotoxy(35,row);
//cout<<items[ss];
row+=2;
column[ss]=col;
if(ss==2)
{
if(items[ss]>ddays)
{
ss--;
gotoxy(25,12);
cout<<m[month-1]<<" month has";
gotoxy(25,14);
cout<<"only "<<ddays<<" days";
getch();
gotoxy(25,12);
cout<<"                  ";
gotoxy(25,14);
cout<<"                  ";
row-=2;
}
}
if(!pi.token_valid(items[0]))
{
gotoxy(25,8);
cout<<"That Token number";
gotoxy(25,10);cout<<"is already in use";
getch();
//break;
gotoxy(25,8);
cout<<"                    ";
gotoxy(25,10);
cout<<"                    ";
goto verystart;
}
}
gotoxy(35,8);
cout<<items[0];
gotoxy(35,10);
cout<<items[1];
gotoxy(35,12);
cout<<items[2];
gotoxy(35,14);
cout<<items[3];
gotoxy(35,16);
cout<<items[4];
gotoxy(35,18);
cout<<items[5];
double ttoken=items[0];
double rrate=items[1];
double day=rrate/ddays;
double dddays=items[2];
double ssal=dddays*day;
double oot=items[3];
double overtimesal=day/8;
double ootsal=oot*overtimesal;
double ddeduct=items[4];
double aadd=items[5];
double nnet=ssal+ootsal+aadd-ddeduct;
gotoxy(40,40);
cout<<nnet;
char hh;
do
{
gotoxy(48,5);
cout<<"Want to add record: -";
gotoxy(50,7);
cout<<"Press y for yes";
gotoxy(50,9);
cout<<"Press n for no";
gotoxy(68,8);
hh=getch();
if(hh!='y'&&hh!='n'&&hh!='Y'&&hh!='N')
{
gotoxy(68,8);
cout<<" ";
}
else
{
gotoxy(68,8);
cout<<hh;
}
}while(hh!='y'&&hh!='n'&&hh!='Y'&&hh!='N');
if(hh=='y'||hh=='Y')
{
getch();
addtofile(ssno,nname,ttoken,rrate,dddays,ssal,oot,ootsal,aadd,ddeduct,nnet,
month,year);
pi.addtopersonid(sn,nname,ttoken,rrate);
}
}
}
int rec::monno()
{
rec re;
textcolor(BLUE);
textbackground(GREEN);
box(19,1,29,25);
int c=20;
for(int s=0,r=2;r<=24;r+=2,s++)
{
normalvideo(c,r,m[s]);
}
reversevideo(c,2,m[0]);
r=2;                s=0;
int v=0;
int k;
do
{
k=getch();
switch(k)
{
case 00:
k=getch();
switch(k)
{
case 80:
normalvideo(20,r,m[s]);
r+=2;
s++;
if(s==12)
{
r=2;
s=0;
}
reversevideo(20,r,m[s]);
break;
case 72:
normalvideo(20,r,m[s]);
r-=2;
s--;
if(s<0)
{
r=24;
s=11;
}
reversevideo(20,r,m[s]);
break;
}
break;
case 13:
v=1;
break;
case 27:
v=1;
re.menu();
}}while(v!=1);
return(s+1);
}

typedef char option[44];
option o[]={
            "What you want to do",
            "Enter New Record",
            "Enter Individual Record",
            "View Month Record",
            "View Person Record",
            "Delete Individual Record",
            "Modify Individual Record",
            "Enter month",
            "Enter year",
            "Exit"
            };


int options()
{
box(30,2,55,24);
for(int d=31;d<55;d++)
{
gotoxy(d,5);
printf("%c",196);
}
textcolor(BLUE);
textbackground(GREEN);
for(int s=0,r=4;r<=22;r+=2,s++)
{
normalvideo(31,r,o[s]);
}
reversevideo(31,6,o[1]);
s=1;
r=6;
int v=0;
int k;
do
{
k=getch();
switch(k)
{
case 00:
k=getch();
switch(k)
{
case 80:
normalvideo(31,r,o[s]);
r+=2;
s++;
if(r==24)
{
r=6;
s=1;
}
reversevideo(31,r,o[s]);
break;
case 72:
normalvideo(31,r,o[s]);
r-=2;
s--;
if(r==4)
{
r=22;
s=9;
}
reversevideo(31,r,o[s]);
break;
}
break;
case 13:
v=1;
}}while(v!=1);
return(s);
}

void rec::menu()
{
personid p;
textcolor(WHITE);
textbackground(BLACK);
clrscr();
date d;
int month=d.returnmonth();
int year=d.returnyear();
int o;
table t;
rec r;
o=options();
switch(o)
{
case 1:
textcolor(WHITE);
textbackground(BLACK);
clrscr();
r.addrec();
r.menu();
break;
case 2:
textcolor(WHITE);
textbackground(BLACK);
clrscr();
r.indi_record();
getch();
clrscr();
r.menu();
break;
case 3:
textcolor(WHITE);
textbackground(BLACK);
clrscr();
readfile();
getch();
menu();
break;
case 4:
textcolor(WHITE);
textbackground(BLACK);
clrscr();
p.readfile();
getch();
clrscr();
menu();
break;
case 5:
textcolor(WHITE);
textbackground(BLACK);
clrscr();
gotoxy(4,3);
cout<<"Enter token number of a row to be deleted";
double t;
gotoxy(46,3);
cin>>t;
textcolor(WHITE);
textbackground(BLACK);
clrscr();
p.deletepersonid(t);
getch();
clrscr();
menu();
break;
case 6:
textcolor(WHITE);
textbackground(BLACK);
clrscr();
gotoxy(3,4);
cout<<"Enter token number of which the record is to be modified";
double tt;
gotoxy(60,4);
cin>>tt;
p.modify_record(tt);
getch();
clrscr();
menu();
break;
case 7:
date d;
textcolor(WHITE);
textbackground(BLACK);
clrscr();
d.entermonth();
clrscr();
menu();
break;
case 8:
d.enteryear();
clrscr();
menu();
break;
case 9:
exit(0);
break;
}
}
void main()
{
clrscr();
rec r;
r.menu();
}


shabbir 25Aug2008 19:15

Re: Monthly Salary wages
 
You read the rules and guidelines and also take the pain of explaining where you are stuck. Just attaching your assignment doc and your full code will not help you in any way.

xpi0t0s 25Aug2008 23:05

Re: Monthly Salary wages
 
That's 1962 lines of code. And no clue about what you want.
If you want some help please state exactly what you want. Is the program doing something you don't want it to? What line of code is going wrong? Can you isolate the faulty code so that we don't have to try to look through nearly 2000 lines of code?

knavkannu 27Aug2008 10:20

Re: Monthly Salary wages
 
Quote:

Originally Posted by xpi0t0s
That's 1962 lines of code. And no clue about what you want.
If you want some help please state exactly what you want. Is the program doing something you don't want it to? What line of code is going wrong? Can you isolate the faulty code so that we don't have to try to look through nearly 2000 lines of code?


With the code I also attached a MS Word file named need help. In that file i explain the working of the program and also what i want from the program.

I want to print the month record through printer, which is displayed through third option of the program.
Is there any souce code to print the output which is shown by the third option of the program. Please write it to me.
I will be highly thankful to you.

knavkannu 27Aug2008 10:23

Re: Monthly Salary wages
 
Quote:

Originally Posted by shabbir
You read the rules and guidelines and also take the pain of explaining where you are stuck. Just attaching your assignment doc and your full code will not help you in any way.

I want to print the month record through printer, which is displayed through third option of the program.
Is there any souce code to print the output which is shown by the third option of the program. Please write it to me.
I will be highly thankful to you.

knavkannu 27Aug2008 10:24

Re: Monthly Salary wages
 
I want to print the month record through printer, which is displayed through third option of the program.
Is there any souce code to print the output which is shown by the third option of the program. Please write it to me.
I will be highly thankful to you.

knavkannu 27Aug2008 10:32

Re: Monthly Salary wages
 
I want to print the month record through printer, which is displayed through third option of the program.

The working of the program is given in the attached file(need help.doc)

Is there any souce code to print the output which is shown by the third option of the program. Please write it to me.

I will be highly thankful for this kindness.

shabbir 27Aug2008 13:37

Re: Monthly Salary wages
 
Please do not attach your assignment in doc. Take the pain to explain what is not working.

knavkannu 28Aug2008 14:43

Re: Monthly Salary wages
 
Quote:

Originally Posted by shabbir
Please do not attach your assignment in doc. Take the pain to explain what is not working.


I want to print the month record through printer, which is displayed through third option of the program.
Is there any souce code to print the output which is shown by the third option of the program. Please write it to me.
I will be highly thankful to you.

knavkannu 13Aug2009 16:52

Re: Monthly Salary wages
 
Quote:

Originally Posted by xpi0t0s (Post 34507)
That's 1962 lines of code. And no clue about what you want.
If you want some help please state exactly what you want. Is the program doing something you don't want it to? What line of code is going wrong? Can you isolate the faulty code so that we don't have to try to look through nearly 2000 lines of code?

I want to know how to print the required output through HP Laserjet 1020 printer(only the required output of the program)


All times are GMT +5.5. The time now is 03:46.