写一个员工的基本信息,写入一个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

相关文章

Python Faker库基本用法详解

《PythonFaker库基本用法详解》Faker是一个非常强大的库,适用于生成各种类型的伪随机数据,可以帮助开发者在测试、数据生成、或其他需要随机数据的场景中提高效率,本文给大家介绍PythonF... 目录安装基本用法主要功能示例代码语言和地区生成多条假数据自定义字段小结Faker 是一个 python

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和