IO进程--day1

一、定义学生结构体

  1. 学生信息:学号,姓名,成绩等
  2. 编写2个函数 save_stu 和 load_stu save_stu
  3. 通过 fprintf 将arr数组中的3个学生的所有信息,保存到文件中去 load_stu
  4. 通过 fscanf 将文件中的3个学生的所有信息,读取到一个新的结构体数组中,并输出所有学生的信息
#include <stdio.h>  
#include <stdlib.h>  // 学生结构体  
typedef struct Student
{  int id;  char name[20];  double chinese; // 语文成绩  double math;  double english;  double physical;  double chemical;  double biological;  
} stu_t;  // 函数声明  
void save_stu(stu_t arr[], int size);  
void load_stu(stu_t arr[], stu_t *brr, int size);  int main(int argc, const char *argv[])
{  stu_t arr[3] = {  {101, "小张", 99, 88, 87, 90, 89, 77},  {102, "小杨", 88, 90, 78, 69, 90, 89},  {103, "小李", 97, 89, 78, 80, 78, 86}  };  save_stu(arr, 3);  stu_t brr[3]; // 定义新数组brr,用于存储的学生数据  load_stu(arr, brr, 3); // 注意传递brr的地址和大小  // 打印加载的数据以验证  for (int i = 0; i < 3; i++){  printf("学号:%d 姓名:%s 语文:%.2lf 数学:%.2lf 英语:%.2lf 物理:%.2lf 化学:%.2lf 生物:%.2lf\n",  brr[i].id, brr[i].name, brr[i].chinese, brr[i].math, brr[i].english, brr[i].physical, brr[i].chemical, brr[i].biological);  }  return 0;  
}  //保存数组信息到文件f1中
void save_stu(stu_t arr[], int size)
{  FILE *f1 = fopen("3.txt", "a"); // 创建文件,使用追加模式 aif (f1 == NULL){  perror("打开文件失败");  return;  }  for (int i = 0; i < size; i++)     //将数组arr的信息保存到文件中{  fprintf(f1, "学号:%d 姓名:%s 语文:%.2lf 数学:%.2lf 英语:%.2lf 物理:%.2lf 化学:%.2lf 生物:%.2lf\n",  arr[i].id, arr[i].name, arr[i].chinese, arr[i].math, arr[i].english, arr[i].physical, arr[i].chemical, arr[i].biological);  }  fclose(f1); // 关闭文件  
}  //将文件的信息读取到新数组内
void load_stu(stu_t arr[], stu_t brr[], int size)
{  FILE *f1 = fopen("3.txt", "r");  if (f1 == NULL) {  perror("打开文件失败");  return;  }  for (int i = 0; i < size && !feof(f1); i++){  fscanf(f1, "学号:%d\t 姓名:%s\t 语文:%lf\t 数学:%lf\t 英语:%lf\t 物理:%lf\t 化学:%lf\t 生物:%lf\n",  &brr[i].id, brr[i].name, &brr[i].chinese, &brr[i].math, &brr[i].english, &brr[i].physical, &brr[i].chemical, &brr[i].biological);  }  fclose(f1);  
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【cocos creator】输入框滑动条联动小组建

滑动条滑动输入框内容会改变 输入框输入&#xff0c;滑动条位置改变 const { ccclass, property } cc._decorator;ccclass() export default class SliderEnter extends cc.Component {property({ type: cc.Float, displayName: "最大值", tooltip: "" }…

linux设备驱动介绍

目录 一.裸机设备驱动 vs linux设备驱动 1.什么是驱动程序 2.裸机驱动和操作系统驱动有什么区别 3.linux驱动的本质是什么 二.linux设备分类 一.裸机设备驱动 vs linux设备驱动 1.什么是驱动程序 一般来说能让硬件工作起来的程序就是驱动程序,驱动程序提供的是硬件设备操作的…

随机掉落的项目足迹:修改组件库默认样式

需求引入 为了便于讲解&#xff0c;我直接引入案例 在使用element ui的表单组件时&#xff0c;我觉得输入框前面的“文章标题”几个字太小了&#xff0c;想改大一点 解决方法 F12 审查元素&#xff0c;找到“文章标题”对应的代码&#xff0c;发现这个标签对应的类名class&q…

学以致用 SAP HCM 顾问excel函数实战系列

EXCEL函数&#xff1a;在上学的时候&#xff0c;对word、excel、PPT感觉都很简单&#xff0c;稀里糊涂的学&#xff0c;稀里糊涂的忘&#xff0c;然后走向工作岗位的时候&#xff0c;突然发现这三大宝剑无比锋利&#xff0c;可惜自己太菜&#xff0c;曾经努力学习&#xff0c;但…

如何设置 GitLab 密码长度?

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 60天专业…

【CSS in Depth 2 精译_047】7.2 CSS 响应式设计中的媒体查询原则(上):深入理解媒体查询的类型

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 【第七章 响应式设计】&#xff08;概述&#xff09; 7.1 移动端优先设计原则&#xff08;上篇&#xff09; 7.1.1 创建移动端菜单&#xff08;下篇&#xff09;7.1.2 给视口添加 meta 标签&#xf…

算法笔记day03

目录 1. 大数加法 2.链表相加(二) 3.大数乘法 1. 大数加法 大数加法_牛客题霸_牛客网 算法思路&#xff1a; 这就是一道模拟题&#xff0c;模拟加法列竖式运算的过程。 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0…

用最短长度的绳子把整个花园围起来

给定一个数组 trees&#xff0c;其中 trees[i] [xi, yi] 表示树在花园中的位置。 你被要求用最短长度的绳子把整个花园围起来&#xff0c;因为绳子很贵。只有把 所有的树都围起来&#xff0c;花园才围得很好。 返回恰好位于围栏周边的树木的坐标。 示例 1: 输入: points […

【24最新亲试】ubuntu下载go最新版本

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了工具配置的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于Ubuntu 升级 golang 版本完美步骤进行的&#xff0c;每个知识点的修…

C语言-了解程序环境和预处理看这一篇(超详解)

1.程序环境 在ANSIC的任何一种实现中&#xff0c;都会存在两个不同的环境。第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令&#xff0c;第2种是执行环境&#xff0c;它用于实际执行代码。如下图所示&#xff1a; 1.1 翻译环境 翻译环境会分几个步骤…

大数据处理从零开始————9.MapReduce编程实践之信息过滤之学生成绩统计demo

1.项目目标 1.1 需求概述 现在我们要统计某学校学生的成绩信息&#xff0c;筛选出成绩在60分及以上的学生。 1.2 业务分析 如果我们想实现该需求&#xff0c;可以通过编写一个MapReduce程序&#xff0c;来处理包含学生信息的文本文件&#xff0c;每行包含【学生的姓名&#x…

HCIP--以太网交换安全(二)端口安全

端口安全 一、端口安全概述 1.1、端口安全概述&#xff1a;端口安全是一种网络设备防护措施&#xff0c;通过将接口学习的MAC地址设为安全地址防止非法用户通信。 1.2、端口安全原理&#xff1a; 类型 定义 特点 安全动态MAC地址 使能端口而未是能Stichy MAC功能是转换的…

使用 Vertex AI Gemini 模型和 Elasticsearch Playground 快速创建 RAG 应用程序

作者&#xff1a;来自 Elastic Jeff Vestal 在这篇博客中&#xff0c;我们将使用 Elastic 的 Playground 和 Vertex AI API 将 Elasticsearch 连接到 Google 的 Gemini 1.5 聊天模型。将 Gemini 模型添加到 Playground 使 Google Cloud 开发人员能够快速建立 LLM、测试检索、调…

算法闭关修炼百题计划(四)

仅供个人复习 1.两数相加2.寻找峰值6.岛屿的最大面积3.最大数4.会议室5.最长连续序列6.寻找两个正序数组的中位数 1.两数相加 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请…

滑动窗口_⽔果成篮找到字符串中所有字⺟异位词

⽔果成篮 904. 水果成篮 - 力扣&#xff08;LeetCode&#xff09; 相当于求数字种类不超过2的最长字字符串 我们先看一看例4.从第一个元素开始最长字符串3331&#xff0c;下一次从第二个位置数吗&#xff1f;没必要&#xff0c;因为只有当字符串中数字种类变为1时&#xff0c;…

pycharm里debug时如何看到数据的维度

使用表达式计算&#xff08;Evaluate Expression&#xff09; 调试时&#xff0c;使用 PyCharm 的 “Evaluate Expression” 功能可以动态查看或修改数据。具体步骤如下&#xff1a; 在调试模式中按 Alt F8&#xff08;Windows&#xff09;或 Option F8&#xff08;Mac&…

机器学习 | 特征选择如何减少过拟合?

在快速发展的机器学习领域&#xff0c;精确模型的开发对于预测性能至关重要。过度拟合的可能性&#xff0c;即模型除了数据中的潜在模式外&#xff0c;还拾取训练集特有的噪声和振荡&#xff0c;这是一个固有的问题。特征选择作为一种有效的抗过拟合武器&#xff0c;为提高模型…

JAVA科技赋能共享台球室无人系统小程序源码

科技赋能共享台球室无人系统 —— 智慧台球新体验 &#x1f3b1; 科技引领&#xff0c;台球室迎来无人新纪元 在这个日新月异的科技时代&#xff0c;共享经济的浪潮席卷而来&#xff0c;为我们的生活带来了诸多便利。而今天&#xff0c;我要为大家介绍的&#xff0c;正是科技…

【高等代数笔记】线性空间(十九-二十四上半部分)

课程视频剪辑得太抽象了&#xff0c;一节课不能完整学完&#xff0c;拆的零零散散得。 3. 线性空间 3.19 满秩矩阵 【推论4】设 rank ( A ) r \text{rank}(\boldsymbol{A})r rank(A)r&#xff0c;则 A \boldsymbol{A} A的不为0的 r r r阶子式所在的列&#xff08;行&#x…

2.3MyBatis——插件机制

2.3MyBatis——插件机制 1.基本用法2.原理探究2.1加载过程2.2执行过程2.2.1 插件的执行点2.2.2 SQL执行的几个阶段2.2.3 如何梳理出执行流程 合集总览&#xff1a;Mybatis框架梳理 插件机制是一款优秀框架不可或缺的组成部分&#xff0c;比如spring、dubbo&#xff0c;还有…