用C++文件流(文本文件)实现工资管理系统

本文介绍了使用C++和文件流实现的工资管理系统,包括员工信息的存储、显示、修改和删除功能。系统采用结构体存储员工数据,通过字符界面交互,支持多种排序方式,并实现了冒泡排序对工资进行降序排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们专业大二下学期C++综合训练的作业是资助选题做一个简单的管理系统,我选了第一个,完成后心想着还是发一篇博客吧,毕竟自己还是研究了很久。

话不多说,我们先看一下题目吧:


课题名称:工资管理

说明:一个员工工资管理程序,有新建、存储、显示、修改和删除的功能。

要求: 

1) 利用工号区别员工身份,工号用字符数组的形式,从000001开始编号,该工号不能人工修改,是由计算机自动根据录入的先后复制的,录入数据时不必输入工号。

2) 可以选择现实的多种排序形式,如按姓名的顺序、工资总额的顺序、职务工资或奖金的顺序。

3) 每次显示时,将所有要显示数据的工资总额、职务工资总额、奖金总额一起计算显示。

4) 可以根据工号或姓名修改、删除数据,在修改、删除时现要求用户确认,确认后再进行操作。


题目要求必须使用到文件流或者数据库,并且如果使用字符界面的话还要自己用符号堆砌一个界面出来。

接下来就说一下我的整体思路:

建立结构体-->因为我们要从文本文件中读出数据,为了使读出的数据能够规范显示在字符界面上,我们也需要定义规范输出数据的函数-->建立字符界面(提示用户输入数据)-->使用if...else...对输入进行处理(就是调用不同函数)-->逐个实现函数,实现的函数主要包括:插入员工,删除员工,查找员工(查找所有,根据工号查找,修改职工信息,根据名字查找,按照工资对员工进行排序)

为避免出错,我们先include:

#pragma once
#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
#include<sstream>

建立结构体:

建立的结构体内部包括:员工的ID,员工姓名,员工工资,奖金,总工资,后面对文件的操作都会用到,

员工的id我使用的是int型,只不过输出的时候我们可以通过前面补0的方式来实现工号的规范性

​
//=================================================结构体=========================================
struct workerInfo {
	int workerID;
	string workerName;
	int totoalSalary;
	int jobSalary;
	int bonus;
};

​

设计规范输出的函数:

//将查询到的对象转化为可输出形式
void txttoString(int id,string name, int salary, int bonus, int total) {
	cout << setw(8) << "   工号: " << setw(6) << setfill('0') << id
		<< setw(8) << setfill(' ') << "   姓名: " << setw(6) << setfill(' ') << name
		<< setw(8) << setfill(' ') << "   工资总额: " << setw(6) << setfill(' ') << salary
		<< setw(8) << setfill(' ') << "   奖金: " << setw(6) << setfill(' ') << bonus
		<< setw(8) << setfill(' ') << "   职务工资: " << setw(6) << setfill(' ') << total << endl;
}

设计字符界面:

提示用户输入按什么键就可以执行什么操作,例如增删查改,如下:

//===========================================================窗口化界面=======================================================&
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值