写一个员工的基本信息,写入一个employee文件中,然后提取其中的员工的名字和收入写入另一个简单文件中

2024-02-15 10:38

本文主要是介绍写一个员工的基本信息,写入一个employee文件中,然后提取其中的员工的名字和收入写入另一个简单文件中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define M 10
#define N 3
struct T
{char name[M];char num[M];char sex;int age;char add[M];float comes;char lev[M];char hea[M];//健康状况}s[N];//假设就三个职工把struct U{char name[10];float comes;}t[N];void save()
{FILE *fp,*p;int i;if((fp=fopen("employee.txt","wb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fwrite(&s[i],sizeof(struct T),1,fp))!=1)  //把输入的职工数据写入文件中printf("file write error");}rewind(fp);//指针重新指向一下//打开这个文件if((fp=fopen("employee.txt","rb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fread(&s[i],sizeof(struct T),1,fp))!=1)  //把输入的职工数据写入文件中printf("file write error");printf("%-4s %4s %2c %4d %4s %4f %4s %4s\n",s[i].name,s[i].num,s[i].sex,s[i].age,s[i].add,s[i].comes,s[i].lev,s[i].hea);strcpy(t[i].name,s[i].name);//把员工的名字和收入房子另一个结构体数组中保存起来t[i].comes=s[i].comes;}if((p=fopen("empty.txt","wb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fwrite(&t[i],sizeof(struct U),1,p))!=1)  //把输入的职工数据写入文件中printf("file write error");}rewind(p);//指针重新指向一下//打开这个文件if((p=fopen("empty.txt","rb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fread(&t[i],sizeof(struct U),1,p))!=1)  //把输入的职工数据写入文件中printf("file write error");printf("%-5s %4f\n",t[i].name,t[i].comes);}fclose(fp);fclose(p);
}int main()
{//输入数据;int i;printf("请输入职工的姓名,职工号,性别,年龄,地址,收入,文化水平,健康状态:\n");for(i=0;i<N;i++){scanf("%s %s %c %d %s %f %s %s",s[i].name,s[i].num,&s[i].sex,&s[i].age,s[i].add,&s[i].comes,s[i].lev,s[i].hea);}save();//给写入employee文件中return 0;
}

代码的关键:在于员工姓名的复制,收入的复制。然后放到一个新定义的结构体变量中存储,最后把这个新的结构体变量写入文件中,再读取就可以。注意:先写入然后再读取操作。

这篇关于写一个员工的基本信息,写入一个employee文件中,然后提取其中的员工的名字和收入写入另一个简单文件中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/711166

相关文章

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令