职工工资纳税管理信息系统 c++项目 源代码 功能强大.docx
《职工工资纳税管理信息系统 c++项目 源代码 功能强大.docx》由会员分享,可在线阅读,更多相关《职工工资纳税管理信息系统 c++项目 源代码 功能强大.docx(32页珍藏版)》请在冰豆网上搜索。
职工工资纳税管理信息系统c++项目源代码功能强大
职工工资纳税管理信息系统c++项目源代码功能强大
#include#include
#include
#include#include"conio.h"
usingnamespacestd;
voidlogin();
voidzhuye(stringuser);
stringusername="";
voidinsert();
voidupdate();
voiddel();
voidselect();
voidcont();
voidadd();
boolcontain(char*ch,fstream&file);
boolcontain2(char*ch,fstream&file);floatgetam2(floatbm,intam);char*getfname(fstream&file,char*ch);
longgetl(fstream&file);longgetl2(fstream&file);longgetl3(char*c,fstream&file);longl1,l2;
interror=0;
inti2=0;
inti3=0;
fstreamiofile;
fstreamiofile2;
//职工工资信息
classworker
{
public:
worker();
worker(inta){}
char*getno(){returnno;}
char*getname(){returnname;}
floatgetbm(){returnbmoney;}
floatgetam(){returnamoney;}
voidsetbm(floatfl){bmoney=fl;}
voidsetdel(boolbb){b=bb;}
voidsetmmoney(floatfl){mmoney=fl;}
voidsetamoney(floatfl){amoney=fl;}
boolb;
inttitle;
private:
charno[5];
charname[7];
floatbmoney;
floatamoney;
floatmmoney;
};
worker:
:
worker()
{
b=true;
intx=0;
title=1;
cout<<"请输入第"<";
cin>>no;
do{
if(x!
=0)
{
system("cls");
cout<<"工资低于底薪1600,请重新输入工资:
"<}
cout<<"请输入第"<";
cin>>bmoney;
x++;
}while(bmoney<1600);
mmoney=bmoney-1600;//应纳税所得额
amoney=getam2(mmoney,bmoney);//税后所得工资
strcpy(name,getfname(iofile2,no));
//cout<//职工个人信息
classworker2
{
public:
worker2();
worker2(inta){}
char*getn();
char*getname();
private:
charname[7];
charno[5];};
worker2:
:
worker2()
{
cout<<"请输入第"<";//职工号不能重复~~还要有权限
fflush(stdin);
cin>>no;
cout<<"请输入第"<";
fflush(stdin);
cin>>name;}
char*worker2:
:
getn(){returnno;}
char*worker2:
:
getname(){returnname;}
//主函数
intmain()
{
login();
return0;
}
//登陆函数
voidlogin()
{
system("cls");
charbefore;
intabcd;
stringuser;
charpa[20];
cout<<"请输入用户名:
";
cin>>user;
cout<<"请输入密码:
";
for(intj=0;j<10;j++)
{
before=getch();
if(before==13){
pa[j]='\0';
break;
}
if(before==8)
{
before=getchar();
}
else
{
pa[j]=before;
cout<<'*';
}
}
if(strcmp(pa,"123")==0||strcmp(pa,"456")==0)
{
zhuye(user);
}
else
{
do
{
error++;
if(error==3)
{
cout<cout<<"密码错误3次,系统自动退出,请稍后重新登录~";
for(abcd=1;abcd<=100000000;abcd++){}
exit
(1);
}
cout<<"密码错误~请重新输入";
for(abcd=1;abcd<=100000000;abcd++){}
login();
}while(error<3);
}
}
//登陆成功,进入主页
voidzhuye(stringuser)
{
while(true)
{
system("cls");
iofile.open("work.txt",ios:
:
in|ios:
:
out);
iofile2.open("workinfo.txt",ios:
:
in|ios:
:
out);
if(!
iofile||!
iofile2)
{
cout<<"cuole";
}
username=user;
cout<<"当前用户:
"<cout<cout<<"1.职工工资信息录入"<cout<<"2.职工工资信息修改"<cout<<"3.职工工资信息删除"<cout<<"4.查询纳税金额"<cout<<"5.添加职工"<cout<<"6.退出"<cout<charx;
cout<<"请选择你要执行的功能:
";
cin>>x;
switch(x)
{
case'1':
insert();
break;
case'2':
update();
break;
case'3':
del();
break;
case'4':
select();
break;
case'5':
add();
break;
case'6':
exit
(1);
break;
default:
cout<<"请输入1——6的数字~";
for(inti=0;i<100000000;i++){}
iofile.close();
iofile2.close();
break;
}
}
}
//添加职工工资信息
voidinsert()
{
intsize=0;
i2=0;
chare,e2,n,f;
system("cls");
iofile<cout<<"请输入你要添加职工信息的数目:
";
cin>>size;
//while(i2//{
do
{
l1=getl(iofile);
l2=getl2(iofile2);//有contain,worker的地方都要用
workerwork;
if(contain(work.getno(),iofile2))
{
if(contain2(work.getno(),iofile))
{
cout<<"此前已有"<"<cout<<"覆盖原来信息输'f',添加输't',退出输'n',其他任意键回主页:
";
cin>>f;
if(f=='t')
{
iofile.seekp(0,ios:
:
end);
iofile.write((char*)&work,sizeof(work));
i2++;
if(i2==size)
break;
}
elseif(f=='n')
{
exit
(1);
}
elseif(f=='f')
{
longl=getl3(work.getno(),iofile);
cout<iofile.seekg(l);
iofile.write((char*)&work,sizeof(work));
i2++;
if(i2==size)
break;
}
else
{
iofile.close();
iofile2.close();
return;
}
}
else
{
iofile.seekp(0,ios:
:
end);
iofile.write((char*)&work,sizeof(work));
i2++;
if(i2==size)
break;
}
}
else
{
cout<<"没有此号,请确认输入无误~继续输入输'y'"<退出输'n',其他任意键回主页:
";
cin>>n;
if(n=='n')
{
exit
(1);
}
elseif(n=='t')
{
add();
return;
}
elseif(n=='y')
{
system("cls");
cout<<"请继续输入:
"<//i2++;
}
else
{
iofile.close();
iofile2.close();
return;
}
}
}while(n=='y'||i2cout<<"是否还要添加职工工资信息,"<cout<<"若要继续请输'Y',退出输'N',回主页输其他任意键:
"<cin>>e;
if(e=='y'||e=='Y')
{
cout<<"请继续添加职工工资信息"<do
{
workerwork2;
if(contain(work2.getno(),iofile2))
{
cout<<"有";
iofile.write((char*)&work2,sizeof(work2));
cout<<"继续添加输'y',推出输'N',回主页输其他任意键:
"<cin>>e2;
}else
{
cout<<"没有";
}
}while(e2=='y'||e2=='Y');
if(e2=='n'||e2=='N')
{
exit
(1);
}
else
{
iofile.close();
iofile2.close();
return;
}
}
elseif(e=='n'||e=='N')
{
iofile.close();
iofile2.close();
exit
(1);
}
else{
iofile.close();
iofile2.close();
return;
}
}
voidupdate()
{
system("cls");
//intlength=getl(iofile);
charc[5],e,e2;
floatfl;
intbyte=0;
workerwork
(1);
cout<<"请输入您要修改的号码:
";
cin>>c;
iofile.seekg(0);
iofile.read((char*)&work,sizeof(work));
while(!
iofile.eof())
{
if(strcmp(c,work.getno())==0)
{
break;
}
iofile.read((char*)&work,sizeof(work));
byte++;
}
cout<<"请输入要修改的工资:
";
cin>>fl;
work.setbm(fl);
work.setmmoney(fl-1600);
work.setamoney(getam2(fl-1600,fl));
iofile.seekp(byte*sizeof(work));
iofile.write((char*)&work,sizeof(work));
cout<<"是否还要修改职工工资信息,"<cout<<"若要继续请输'Y',退出输'N',回主页输其他任意键:
"<cin>>e;
if(e=='y'||e=='Y')
{
cout<<"请继续输入您要修改的号码:
";
cin>>c;
iofile.seekg(0);
while(!
iofile.eof())
{
iofile.read((char*)&work,sizeof(work));
if(strcmp(c,work.getno())==0)
{
break;
}
byte++;
}
cout<<"请输入要修改的工资:
";
cin>>fl;
work.setbm(fl);
work.setmmoney(fl-1600);
work.setamoney(getam2(fl-1600,fl));
iofile.seekp(byte*sizeof(work));
iofile.write((char*)&work,sizeof(work));
cout<<"继续修改输'y',退出输'N',回主页输其他任意键:
"<cin>>e2;
while(e2=='y'||e2=='Y');
if(e2=='n'||e2=='N')
{
exit
(1);
}
else
{
iofile.close();
iofile2.close();
return;
}
}
elseif(e=='n'||e=='N')
{
exit
(1);
}
else{
iofile.close();
iofile2.close();
return;
}
}
voiddel()
{
system("cls");
intlength=getl(iofile);
charc[5],e,e2;
intbyte=0;
workerwork
(1);
cout<<"请输入您要删除的号码:
";
cin>>c;
iofile.seekg(0);
while(!
iofile.eof())
{
iofile.read((char*)&work,sizeof(work));
if(strcmp(c,work.getno())==0)
{
break;
}
}
byte=iofile.tellg()/sizeof(work)-1;
/*work.setdel(false);
iofile.seekp(byte*sizeof(work));
iofile.write((char*)&work,sizeof(work));*/
while(!
iofile.eof())
{
iofile.seekg((byte+1)*sizeof(work));
iofile.read((char*)&work,sizeof(work));
iofile.seekp(byte*sizeof(work));
iofile.write((char*)&work,sizeof(work));
byte++;
if(byte+1==length)
break;
}
iofile.seekp(-sizeof(work),ios:
:
end);
for(intl=0;l{
iofile.put(NULL);
}
cout<<"删除成功~"<cout<<"是否还要删除职工工资信息,"<cout<<"若要继续请输'Y',退出输'N',回主页输其他任意键:
"<cin>>e;
if(e=='y'||e=='Y')
{
cout<<"请继续删除职工工资信息"<do
{
cout<<"请输入您要删除的号码:
";
cin>>c;
iofile.seekg(0);
while(!
iofile.eof())
{
iofile.read((char*)&work,sizeof(work));
if(strcmp(c,work.getno())==0)
{
break;
}
}
byte=iofile.tellg()/sizeof(work)-1;
while(!
iofile.eof())
{
iofile.seekg((byte+1)*sizeof(work));
iofile.read((char*)&work,sizeof(work));
iofile.seekp(byte*sizeof(work));
iofile.write((char*)&work,sizeof(work));
byte++;
if(byte+1==length)
break;
}
iofile.seekp(-sizeof(work),ios:
:
end);
for(intl=0;l{
iofile.put(NULL);
}
cout<<"删除成功"<cout<<"继续删除输'y',退出输'N',回主页输其他任意键:
"<cin>>e2;
}while(e2=='y'||e2=='Y');
if(e2=='n'||e2=='N')
{
exit
(1);
}
else
{
iofile.close();
iofile2.close();
return;
}
}
elseif(e=='n'||e=='N')
{
exit
(1);
}
else{
iofile.close();
iofile2.close();
return;
}
}
voidselect()
{
charc,type;
do
{
system("cls");
charn[5];
charname[7];
cout<longl=getl(iofile);
workerwork
(1);
cout<<"欢迎进入信息查询"<cout<<"1.查询所有"<cout<<"2.按号码查询"<cout<<"3.按姓名查询"<cout<";
cin>>type;
if(type=='1')
{
system("cls");
cout<资"<iofile.seekg(0,ios:
:
beg);
/*
iofile.read((char*)&work,sizeof(work));
while(!
iofile.eof())//此处需读一遍才会退出循环
{
if(work.b==true)
{
cout<
iofile<<}
iofile.read((char*)&work,sizeof(work));
}*/
/*while(iofile.read((char*)&work,sizeof(work)))
{
cout<
iofile<<}
*/
for(inti=0;i{
iofile.read((char*)&work,sizeof(work));
if(work.getbm()!
=0)
cout<<}
cout<<"退出输'n',回主页输其他任意键:
";
cin>>c;
if(c=='n'||c=='N')
{
exit
(1);
}else
{
iofile.close();
iofile2.close();
return;
}
}
elseif(type=='2')
{
system("cls");
cout<<"请输入要查询的学号:
";
cin>>n;
longtl=getl3(n,iofile);
iofile.seekg(tl);
iofile.read((char*)&work,sizeof(work));
cout<