根据给定的信息,我们可以分析并总结出以下关于“工资管理系统”的关键知识点: ### 一、系统概述 #### 标题:工资管理系统 该系统是一款基于C++开发的工资管理软件,用于实现员工薪资数据的录入、查询、统计等功能。通过使用SQL Server作为后台数据库,可以有效地管理和维护大量的员工薪资信息。 #### 描述:很好的一个C++的工资管理系统,数据库为SQL Server 此描述表明这是一个用C++语言编写的高质量工资管理系统,其后端数据库采用的是SQL Server。这暗示了系统的可靠性和高效性,同时意味着它能够处理复杂的数据操作,并支持多用户环境下的数据访问和更新。 ### 二、技术架构与实现 #### 数据结构定义: 在代码片段中定义了一个名为`epployee`的结构体,用于存储员工的基本信息,包括姓名、性别、ID号、薪资等字段。其中: - `char name[N]`:员工姓名。 - `char sex[N]`:员工性别。 - `long id`:员工ID号。 - `float paid[3]`:员工薪资,分为基本工资、奖金和其他补贴。 - `int total`:员工总薪资。 - `struct epployee *next`:链表指针,用于构建员工信息链表。 #### 类设计: 定义了一个名为`Information`的类,用于封装对员工信息的各种操作方法。这些方法包括创建新员工、显示员工信息、统计员工数量、插入员工信息、删除员工信息、查找员工信息、修改员工信息、排序员工信息(按薪资高低)、计算平均薪资以及保存和读取员工信息到文件中。 - **构造函数**:初始化时显示欢迎信息。 - **析构函数**:释放资源时显示退出信息。 - **成员方法**:提供了多种用于处理员工信息的方法,如添加、删除、修改、查询等。 ### 三、功能特点 1. **员工信息管理**:支持新增、修改和删除员工信息。 2. **薪资计算**:能够自动计算员工的总薪资。 3. **数据查询**:提供多种方式查询员工信息,如按ID查询等。 4. **数据排序**:可以根据薪资进行升序或降序排列。 5. **数据统计**:计算所有员工的平均薪资。 6. **数据持久化**:支持将员工信息保存到文件中,并可以从文件中读取数据。 ### 四、技术细节 - 使用了C++中的标准库头文件,如`<iostream>`、`<fstream>`等,以支持基本的输入输出操作。 - 应用了动态内存分配函数`malloc()`来创建员工对象。 - 通过`while`循环实现了员工信息的连续输入,直到输入特定字符(如`#`)为止。 - 实现了链表数据结构来组织和管理员工信息。 “工资管理系统”是一个功能全面且易于使用的软件工具,适用于各种规模的企业来管理其员工薪资数据。通过C++语言的强大特性和SQL Server数据库的高效性,该系统不仅能够满足基本的数据管理需求,还具备良好的扩展性和维护性。
#include <iomanip>
#include <iostream>
#include <fstream>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
#define NULL 0
int const N=20;
#define LEN sizeof(struct epployee)
using namespace std;
int n=0; //定义一个全局变量统计职工人数
//定义一个职工信息的结构体
struct epployee
{
char name[N]; //用来存放姓名
char sex[N]; //用来存放性别
long id; //用来存放编号
float paid[3]; //用来存放工资
int total; //用来存放总工资
struct epployee *next;
};
//职工类
class Information
{
public:
Information() ; //构造函数.
epployee *creat(); //建立链表
void output(epployee *head); //显示职工信息
int count(epployee *head); //定义函数count()统计职工总数
epployee *insert(epployee*head); //指针函数*insert()用来添加职工信息.
epployee *cancel(epployee *head,long id); //指针函数*cancel()用来删除职工信息.
epployee *find(epployee *head,long id); //指针函数*find()用来查找职工信息.
epployee *modify(epployee *head,long id); //指针函数*modife()用来修改职工的信息.
void sort(epployee *head); //定义paixu()函数将职工的总额从大到小排列并输出
void average(epployee *head); //定义职工工资平均值的函数
void save(epployee *head); //保存文件信息
epployee *Read(); //读取文件信息
private:
epployee *p1,*p2,*p3,*head,st;
};
Information::Information()
{cout<<" ******************************************************************************\n";
cout<<" ------------------------<<欢迎您使用职工工资管理系统>>------------------------\n";
cout<<" ******************************************************************************\n\n";
}
//作者的信息和提示
void editor()
{
cout<<"\n\t\t\t本程序制作者:\n\n\t\t\tI don't know \n\n\t\t\tQQ : 895026504";
cout<<"\n\n\t\t\tMade By VC6.0++\n\n\t\t\t2008年9月30日\n\n\t\t\t按<Enter>键进入登陆界面!!";
cout<<"\n\n\t\t\t如果需要对原来的信息进行操作,则先选择0读取文件信息\n"<<endl;
}
剩余21页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助