• 大小: 7KB
    文件类型: .cpp
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: C/C++
  • 标签: c++  项目  c++源代码  

资源简介

虽然网上有很多类似的企业管理系统,但我的这个程序实在是精彩绝伦,代码简短(200多行),全部注释,超易理解,只用到两个类就实现了余别人的代码同样的功能,且界面美观友好,很适合新手 以下是具体功能: 1、人员编号在生成人员信息时同时生成,每个人员编号自动加1。 2、程序对所有人员有提升级别的功能。 3、日薪的计算方法:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售提成。 4、销售经理既拿月薪也领取销售提成。 5、能按姓名或者编号寻找、删除、更新显示各类人员的信息。

资源截图

代码片段和文件信息

#include  
#include  
#include  
#include 
using namespace std;
const int Maxr=100;
int ID=10000;
class Employee //职工类 

int tag;//删除标记 
int no;//职工编号 
char name[20];//职工姓名 
char zw[20]; //职工职务
int salary;//职工工资 
int time;//工作小时
public: 
Employee(){} 
char *getname() {return name;}//获取名字 
int gettag() {return tag;}//获取标记 
int getno() {return no;}//获取编号 
int getsalary(){return salary;}//获取薪水
int gettime(){return time;}//获取工作时间
void setzw(char q[])//设置职务 

strcpy(zwq); 

void setname(char na[])//设置名字 

strcpy(namena); 

void getsalary(int sa){salary=sa;} 
void delna(){tag=1;}//删除 
void addemp(int nint sachar *nachar *q)//增加 

tag=0; 
no=n; 
salary=sa; 
strcpy(namena);
strcpy(zwq);


void disp()//显示职工信息 

cout<<“│“< cout<<“├—————┼—————┼—————┼—————┤“<
}; 
class Database//职工数据类 

int top; 
Employee read[Maxr]; 
public: 
Database()//将职工信息从employee.txt读取到read[]中 

Employee s;
top=-1;
fstream file(“employee.txt“ios::in);
while (1) 

file.read((char *)&ssizeof(s)); 
if (!file) break; 
top++; 
read[top]=s;
}
file.close();

void clear()//删除所有 

top=-1; 

int addemp (int n int sachar *nachar*q) //增加职工 

Employee *p=query(n);
if (p==NULL)

top++;
read[top].addemp(nsanaq);
return 1;
}
return 0; 

Employee *query(int empid) 

for (int i=0;i<=top;i++) 
if (read[i].getno()==empid && read[i].gettag()==0) 
return &read[i]; 
return NULL; 

/* Employee *query1(char empna[20]) 

for (int i=0;i<=top;i++)
if ((read[i].getname()==empna) && read[i].gettag()==0) 
return &read[i];
return NULL; 
}*/ 
void disp() //职工信息显示 

for (int i=0;i<=top;i++)
read[i].disp(); 

void empdata(); 
~Database() //将read[]中的信息读如到employee.txt中 

fstream file(“employee.txt“ios::out); 
for (int i=0;i<=top;i++) 
if (read[i].gettag()==0) 
file.write((char *)&read[i]sizeof(read[i])); 
file.close(); 

}; 
void Database::empdata()//职工维护 

int choice=1; 
int m=1;int b=1; 
char rname[20]; 
int empid; int empsa;char q[20];int time; 
Employee *r; 
while (choice!=0) 

cout<<“职工维护 1:新增 2:更改 3:删除 4:查找 5:显示 6:全删 0:退出=>“; 
cin>>choice; 
switch (choice) 

case 1: 
cout< cout< cout< cout< cout< cout< cout< cin>>m; 
while(m!=0)

switch(m) 

case 1: 

empid=ID++;
                    empsa=8000;
cout<<“输入经理姓名:“; 
cin>>rnam

评论

共有 条评论

相关资源