⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simpleuser.cpp

📁 它是一个完整的工资管理系统
💻 CPP
字号:
#include "simpleUser.h"
#include "employee.h"
#include "menu.h"
#include <stdio.h>
#include <iomanip>

extern CEmployee *HeadEmployee;
extern CSimpleUser *sUser;
//=====================================================zbh
CSimpleUser::CSimpleUser(string id, string pw)
{
	m_sPasswd = id;
	m_sUserId = pw;
}
//CSimpleUser::~CSimpleUser(){}
//=====================================================zbh
string CSimpleUser::GetUserId()
{
	return m_sUserId;
}
//=====================================================zbh
string CSimpleUser::GetPw()
{
	return m_sPasswd;
}
void CSimpleUser::SetPw(string password)
{
	m_sPasswd = password;
}
//=====================================================zbh
void CSimpleUser::SearchInfo()
{
	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=================================你的信息如下==================================="<<endl;
	while( curNode != NULL )
	{
		if( curNode->m_sSalaryCardId == sUser->GetUserId() )
		{
			cout<<"\t用 户 名: "<<left<<setw(30)<<sUser->m_sUserId;
			cout<<"密    码: "<<left<<setw(30)<<sUser->m_sPasswd<<endl;
			cout<<"\t姓    名: "<<left<<setw(30)<<curNode->m_sName;
			cout<<"性    别: "<<left<<setw(30)<<curNode->m_cSex<<endl;
			cout<<"\t年    龄   "<<left<<setw(30)<<curNode->m_iAge;
			cout<<"工    龄: "<<left<<setw(30)<<curNode->m_iWorkAge<<endl;
			cout<<"\t部    门: "<<left<<setw(30)<<curNode->m_sDepartment;
			cout<<"职    称: "<<left<<setw(30)<<curNode->m_sTechPost<<endl;
			cout<<"\t职称编号: "<<left<<setw(30)<<curNode->m_sTechPostNum;
			cout<<"身份证号: "<<left<<setw(30)<<curNode->m_sIdentityId<<endl;
			cout<<"\t家庭电话: "<<left<<setw(30)<<curNode->m_sHomePhone;
			cout<<"手机号码: "<<left<<setw(30)<<curNode->m_sMobilePhone<<endl;
			cout<<"\t工资卡号: "<<left<<setw(30)<<curNode->m_sSalaryCardId;
			cout<<"应发工资: "<<left<<setw(30)<<curNode->m_cSalary.m_fSalary<<endl;
			cout<<"\t基本工资: "<<left<<setw(30)<<curNode->m_cSalary.m_fBasePay;
			cout<<"职务工资: "<<left<<setw(30)<<curNode->m_cSalary.m_fDutyPay<<endl;
			cout<<"\t补助津贴: "<<left<<setw(30)<<curNode->m_cSalary.m_fAssistance;
			cout<<"电    费: "<<left<<setw(30)<<curNode->m_cSalary.m_fElecCost<<endl;
			cout<<"\t税    费: "<<left<<setw(30)<<curNode->m_cSalary.m_fTax;
			cout<<"水    费: "<<left<<setw(30)<<curNode->m_cSalary.m_fWaterRate<<endl;
			cout<<"\t清 洁 费: "<<left<<setw(30)<<curNode->m_cSalary.m_iCleanCost;
			cout<<"闭路电视费:"<<left<<setw(30)<<curNode->m_cSalary.m_iTVCost<<endl;
			break;
		}
		curNode = curNode->next;
	}
	if( curNode == NULL )
		cout<<"\t\t\t\t没有你的信息!"<<endl;
	cout<<"\n================================================================================"<<endl;
}
//=====================================================zbh
void CSimpleUser::ChangeInfo()//还没有写入文件
{
	CMenu menu;
	string sChoose;
	CEmployee *curNode = HeadEmployee->next;
	while( curNode != NULL && curNode->m_sSalaryCardId != GetUserId() )
	{
		curNode = curNode->next;
	}
	if( curNode == NULL )
	{
		cout<<"\t\t\t\t没有你的信息!"<<endl;
		return;
	}
	while( true )
	{
		string sPasswd;
		cout<<"\n================================================================================"<<endl;
		cout<<"\n\t\t\t提示:你只能操作以下几项:"<<endl
			<<"\t\t\t\t[1]年龄"<<endl
			<<"\t\t\t\t[2]家庭号码"<<endl
			<<"\t\t\t\t[3]手机号码"<<endl
			<<"\t\t\t\t[4]密码"<<endl
			<<"\t\t\t\t[#]返回上一层菜单"<<endl
			<<"\t\t\t\t[0]退出"<<endl;
		cout<<"\t\t\t\t你的选择是:";
		cin>>sChoose;
		if( !menu.IsDigit( sChoose ) )
		{
			cout<<"\t\t\t你的输入有错,请重新输入! "<<endl;
			continue;
		}
		switch( sChoose[0] )
		{
		case '1':
			cout<<"\t\t\t你目前的年龄是:"<<curNode->m_iAge<<endl;
			cout<<"\t\t\t修改为:  ";
			if( (cin>>curNode->m_iAge) != 0 )
					cout<<"\t\t\t提示:年龄修改成功。"<<endl;
			else
			{
				cout<<"\t\t\t输入年龄必须是整数"<<endl;
				cin.clear();
				fflush(stdin);
			}
			break;
		case '2':
			cout<<"\t\t\t你目前的家庭号码是:"<<curNode->m_sHomePhone<<endl;
			cout<<"\t\t\t修改为:  ";
			cin>>curNode->m_sHomePhone;
			cout<<"\t\t提示:家庭电话号码修改成功。"<<endl;
			break;
		case '3':
			cout<<"\t\t\t你目前的手机号是:"<<curNode->m_sMobilePhone<<endl;
			cout<<"\t\t\t修改为:  ";
			cin>>curNode->m_sMobilePhone;
			cout<<"\t\t提示:手机号码修改成功。"<<endl;
			break;
		case '4':
			cout<<"\t\t\t你目前的密码是: "<<sUser->m_sPasswd<<endl;
			cout<<"\t\t\t修改为:";
			
			cin>>sPasswd;
			if( sPasswd.length() > 10 )
			{
				cout<<"\t\t\t密码输入长度过长请重新选择!"<<endl;
				break;
			}	
			sUser->m_sPasswd = sPasswd;
			cout<<"\t\t提示:密码修改成功。"<<endl;
			SaveCode("Secret\\SimpleUser.txt");
			break;
		case '#':
			return;
		case '0':
			menu.Exit();
		default:
			cout<<"\t\t\t你的输入有错,请重新输入! "<<endl;
			break;
		}
	}
}

void CSimpleUser::SaveCode( char *FilePath )
{
	fstream io(FilePath,ios::in|ios::out);
	string sUserId;
	for( string str; getline(io,str); )
	{
		istringstream sin(str);
		sin>> sUserId;
		if( sUserId == GetUserId() )
		{
			string write=sUserId+" "+ GetPw();
			io.seekg(-(str.length()+2),ios::cur);
			for(int i=0;i<write.length()-str.length();i++)
				write+=" ";
			io<<write;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -