编写程序,从键盘输入各位职工的工资数据,存入磁盘文件Salary.dat中,然后从该文件读出职工的工资数据,并计算输出每位职工的实发工资。实发工资的计算方法如下:实发工资=基本工资+加班工奖金-扣除

该程序用于接收职工工资数据,包括基本工资、加班费和扣除项,将数据存储到磁盘文件Salary.dat中。之后,程序能从该文件读取数据,计算每位职工的实发工资(实发工资=基本工资+加班费-扣除项),并显示结果。
摘要由CSDN通过智能技术生成

把数据存入磁盘文件:

#include<iostream>
#include<fstream>
using namespace std;


void main(){
ofstream outfile("E:\\Salary.dat");
char name[6],number[4];
int jg,jb,jj,kc,sf;
for(int i=0;i<3;i++){
cout << "输入职工编号:  "; cin >> number;
cout << "输入姓    名: "; cin >> name;
cout << "输入基本工资:  "; cin >> jg;
cout << "输入加班工资:  "; cin >> jb;
cout << "输入奖    金:  "; cin >> jj;
cout << "输入扣    除:  "; cin >> kc;
sf=jg+jb+jj-kc;
outfile << number << "  " << name << "  " << jg << "  " << jb << "  " << jj << "  " << kc << "  " << sf << endl;
}
outfile.close();
}


从磁盘文件中读取数据


                
为了完成这个任务,首先需要定义一个结构体来存放每个人的姓名、基本工资、浮动工资和支出。然后编写一个程序,计算出每个人的发工资基本工资+浮动工资-支出),并将每个人的姓名和发工资写入到文件salary.dat。 下面是一个简单的示例代码,假设使用C语言编写: ```c #include <stdio.h> // 定义结构体存储个人信息 struct SalaryRecord { char name[20]; // 假设姓名不会超过19个字符 double base_salary; double bonus_salary; double expenditure; double actual_salary; // 发工资 }; int main() { // 假设只有一个 struct SalaryRecord employee = { "lili", 5240.00, 1400.00, 0.00, // 假设支出为0 0.00 // 发工资将在这里计算 }; // 计算发工资 employee.actual_salary = employee.base_salary + employee.bonus_salary - employee.expenditure; // 打开文件用于写入 FILE *file = fopen("salary.dat", "w"); if (file == NULL) { perror("无法打开文件"); return -1; } // 将姓名和发工资写入文件 fprintf(file, "%s %f\n", employee.name, employee.actual_salary); // 关闭文件 fclose(file); return 0; } ``` 这段代码定义了一个结构体`SalaryRecord`,创建了一个变量`employee`来存放示例数据,并计算发工资。然后程序打开了文件salary.dat”,将姓名和发工资写入文件,最后关闭了文件。 在际应用,可能需要处理多个员的情况,这时候需要使用组或者循环结构来处理每个人的工资信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值