0506_IO1

思维导图:

练习: 

有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry_score; double bio_score; }; 申请该结构体数组,容量为5,初始化5个学生的信息 使用fprintf将数组中的5个学生信息,保存到文件中去 下一次程序运行的时候,使用fscanf,将文件中的5个学生信息,写入(加载)到数组中去,并直接输出学生信息

  1 #include <stdio.h>
  2 #include <string.h>
  3 #include <stdlib.h>
  4 #include <sys/types.h>
  5 #include <unistd.h>
  6 #include <sys/stat.h>
  7 #include <fcntl.h>
  8 #include <pthread.h>
  9 #include <semaphore.h>
 10 #include <wait.h>
 11 #include <signal.h>
 12 #include <sys/socket.h>
 13 #include <arpa/inet.h>
 14 #include <sys/socket.h>
 15 #include <sys/ipc.h>
 16 #include <sys/sem.h>
 17 #include <semaphore.h>
 18 #include <sys/msg.h>
 19 #include <sys/shm.h>
 20 #include <sys/un.h>
 21 typedef struct student
 22 {
 23     char name[16];
 24     int age;
 25     double math_score;
 26     double chinese_score;
 27     double english_score;
 28     double physics_score;
 29     double chemistry_score;
 30     double bio_score;
 31 }information;
 32 int main(int argc, const char *argv[])
 33 {
 34     //向堆区空间申请容量为5的内存空间
 35     information *students=(information*)malloc(5*sizeof(information));
 36     if(!students)
 37     {
 38         perror("students:");
 39         return -1;
 40     }
 41     //循环写入学生信息
 42     for(int i=0;i<5;i++)
 43     {
 44         printf("输入学生姓名:");
 45         scanf(" %15s",students[i].name);
 46         printf("输入学生年龄:");
 47         scanf(" %d",&students[i].age);
 48         printf("输入学生数学成绩:");
 49         scanf(" %lf",&students[i].math_score);
 50         printf("输入学生语文成绩:");
 51         scanf(" %lf",&students[i].chinese_score);
 52         printf("输入学生英语成绩:");
 53         scanf(" %lf",&students[i].english_score);
 54         printf("输入学生化学成绩:");
 55         scanf(" %lf",&students[i].chemistry_score);
 56         printf("输入学生生物成绩:");                                                                                                                                                                                                                                                                                                                                                                                  
 57         scanf(" %lf",&students[i].bio_score);
 58     }
 59     //打开文件
 60     FILE *wfp=fopen(argv[1],"w");
 61     if(!wfp)
 62     {
 63         perror("wfp:");
 64         return -1;
 65     }
 66     //将信息录入文件中
 67     for(int i=0;i<5;i++)
 68     {
 69         fprintf(wfp,"姓名:%s\n年龄:%d\n数学成绩:%.1f\n语文成绩:%.1f\n英语成绩:%.1f\n化学成绩:%.1f\n生物成绩:%.1f\n",\
 70             students[i].name,students[i].age,students[i].math_score,students[i].chinese_score,students[i].english_score,\
 71             students[i].chemistry_score,students[i].bio_score);
 72     }
 73     //关闭文件
 74     fclose(wfp);
 75     //打开文件
 76     FILE *rfp=fopen(argv[2],"r");
 77     if(!rfp)
 78     {
 79         perror("rfp:");
 80         return -1;
 81     }
 82     //循环将文件内容赋值给结构体数组
 83     for(int i=0;i<5;i++)
 84     {
 85         if(fscanf(rfp,"姓名:%15s\n年龄:%d\n数学成绩:%lf\n语文成绩:%lf\n英语成绩:%lf\n化学成绩:%lf\n生物成绩:%lf\n",students[i].name,&students[i].age,&students[i].math_score,\
 86                 &students[i].chinese_score,&students[i].english_score,&students[i].chemistry_score,&students[i].bio_score)!=7)
 87         {
 88             perror("rfp:");
 89             free(students);
 90             return -1;
 91         }
 92     }
 93     //循环输出数组元素
 94     for(int i=0;i<5;i++)
 95     {
 96         printf("姓名:%s\n年龄:%d\n数学成绩:%.1f\n语文成绩:%.1f\n英语成绩:%.1f\n化学成绩:%.1f\n生物成绩:%.1f\n",\
 97             students[i].name,students[i].age,students[i].math_score,students[i].chinese_score,students[i].english_score,\
 98              students[i].chemistry_score,students[i].bio_score);
 99     }
100     //关闭文件
101     fclose(rfp);
102     //释放内存
103     free(students);
104     students=NULL;
105     return 0;
106 }
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AVL树浅谈

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;本篇文章给大家介绍AVL树。 基本概念 AVL树&#xff08;Adelson-Velsky和Landis树&#xff09;是一种自平衡的二叉搜索树&#xff0c;得名于其发明者G. M. Adelson-Velsky和E. M. Landis。在AVL树中&#xff0c;任何节点的…

活动回放 | 如何进行全增量一体的异构数据库实时同步

以 AI领域为代表的新技术不断涌现&#xff0c;新的应用风口也逐渐清晰。为了加紧跟上技术发展的步伐&#xff0c;越来越多的企业开始着手&#xff0c;对仍以传统关系型数据库为主的应用后端进行现代化升级。 这就涉及到如何在不影响并保持现有业务系统正常运转的前提下&#xf…

专注 APT 攻击与防御—基于UDP发现内网存活主机

UDP简介&#xff1a; UDP&#xff08;User Datagram Protocol&#xff09;是一种无连接的协议&#xff0c;在第四层-传输层&#xff0c;处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点&#xff0c;也就是说&#xff0c;当报文发送之后&#xf…

Android 状态栏WiFi图标的显示逻辑

1. 状态栏信号图标 1.1 WIFI信号显示 WIFI信号在状态栏的显示如下图所示 当WiFi状态为关闭时&#xff0c;状态栏不会有任何显示。当WiFi状态打开时&#xff0c;会如上图所示&#xff0c;左侧表示有可用WiFi&#xff0c;右侧表示当前WiFi打开但未连接。 当WiFi状态连接时&#x…

SpringBoot整合rabbitmq使用案例

RocketMQ&#xff08;二十四&#xff09;整合SpringBoot SpringBoot整合rabbitmq使用案例 一 SpringBoot整合RocketMQ实现消息发送和接收消息生产者1&#xff09;添加依赖2&#xff09;配置文件3&#xff09;启动类4&#xff09;测试类 消息消费者1&#xff09;添加依赖2&…

python 中如何匹配字符串

python 中如何匹配字符串&#xff1f; 1. re.match 尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match()就返回none。 import re line"this hdr-biz 123 model server 456" patternr"123" matchObj re.matc…

iconfont_vue小程序中使用

1.前三步就是简单下载&#xff0c;详细可看这篇 vue管理系统导航中添加新的iconfont的图标-CSDN博客 2.引用有点区别&#xff1a;在App中引用 3.uni-icons写法 <uni-icons custom-prefix"iconfont" type"icon-zhengjian" size"23"></un…

情感视频素材怎么来的?8个视频素材库免费下载安装

在今天这个视觉内容对于连接和影响观众至关重要的时代&#xff0c;选择适合的视频素材变得极为关键。优质的视频素材可以极大提升您的内容质量&#xff0c;无论是在增加社交媒体的吸引力、提升商业广告的效果&#xff0c;还是丰富教育材料的表现力。以下是一些全球顶级的视频素…

基于 Llama-Index、Llama 3 和 Qdrant,构建一个 RAG 问答系统!

构建一个使用Llama-Index、Llama 3和Qdrant的高级重排-RAG系统 尽管大型语言模型&#xff08;LLMs&#xff09;有能力生成有意义且语法正确的文本&#xff0c;但它们面临的一个挑战是幻觉。 在LLMs中&#xff0c;幻觉指的是它们倾向于自信地生成错误答案&#xff0c;制造出看似…

Stateflow基础知识笔记

01--Simulink/Stateflow概述 Stateflow是集成于Simulink中的图形化设计与开发工具&#xff0c;主要 用于针对控制系统中的复杂控制逻辑进行建模与仿真&#xff0c;或者说&#xff0c; Stateflow适用于针对事件响应系统进行建模与仿真。 Stateflow必须与Simulink联合使用&#…

一个年薪30w软件测试员的职业规划,献给还在迷茫中的朋友

先抛出一个观点 &#xff0c; 那些&#xff0c;担心30岁后&#xff0c;35岁后&#xff0c;40岁后&#xff0c;无路可走的&#xff1b;基本属于能力不够、或者思维太局限 。 总之&#xff0c;瞎担心 / 不长进 。 具体&#xff0c;见下面正文 。 曾经&#xff0c;在16年&#xff…

开发环境待

一 web开发环境搭建 1 web开发环境概述 所谓web开发,指的就是从网页中向后端程序发送请求.与后端程序进行交互. 流程图: 1,Web服务器是指驻留于因特网上某种类型计算机的程序. 2, 可以向浏览器等Web客户端提供文档&#xff0c;也可以放置网站文件&#xff0c;让全世界 浏览…

JWK和JWT 学习

JWK和JWT 介绍 JWK (JSON Web Key) 和 JWT (JSON Web Token) 是现代Web应用程序中用于安全通信的两个重要概念。它们都是基于JSON的&#xff0c;并且是OAuth 2.0和OpenID Connect等协议的核心组成部分。 官方文档 JWT官方网站 JWK和JWK Set的RFC文档 JWT的RFC文档 JWK (JS…

16_Scala面向对象编程_函数

文章目录 1.声明Scala函数2.访问伴生对象3.空对象直接用的方法4.构造对象--通过object获取单例对象--直接new--scala独有apply()方式--scala有参构造--scala构造方法两大类使用辅构造如下上述代码主构造为辅助构造方法甚至可以多个多个辅助构造形参内容不能重不使用辅助构造和使…

【ACM出版】第四届控制与智能机器人国际学术会议(ICCIR 2024)

第四届控制与智能机器人国际学术会议&#xff08;ICCIR 2024&#xff09; 2024 4th International Conference on Control and Intelligent Robotics 2024年6月21日-23日 | 中国-广州 官网&#xff1a;www.ic-cir.org EI、Scopus双检索 投稿免费参会、口头汇报及海报展示 四…

ROS仿真小车与SLAM

ROS仿真小车与SLAM ROS中机器小车的仿真实验一、建立模型1.创建功能包导入依赖&#xff1a;创建urdf,launch文件&#xff1a; 2.可视化 二、添加雷达传感器1.编写xacro文件2.集成launch文件3.添加摄像头和雷达传感器my_camera.urdf.xacro文件&#xff1a;my_laser.urdf.xacro文…

easy_signin_ctfshow_2023愚人杯

https://ctf.show/challenges#easy_signin-3967 2023愚人杯信息检索&#xff0c;在请求荷载中发现一个base64 face.pngencode ZmFjZS5wbmc解密结果 flag.pngencode ZmxhZy5wbmc尝试一下 返回内容 Warning: file_get_contents(flag.png): failed to open stream: No such file…

AArch64 内存管理

本文是对arm developer网站《Learn the architecture - AArch64 memory management Guide》的学习笔记&#xff08;Documentation – Arm Developer&#xff09; 一、背景概述 本文介绍了AArch64中的内存转换&#xff0c;这是内存管理的关键&#xff0c;它解释了虚拟地址如何转…

成语:势如破竹、迎刃而解;明以前唯一同时入选文庙、武庙的牛人

千古流芳、身后能够进入文庙或武庙&#xff0c;是古人最高的荣誉&#xff0c;也是读书人和武将终极的追求&#xff0c;所谓的青史留名&#xff0c;享受万代祭祀、千秋敬仰&#xff0c;甚至都可以称之为圣人&#xff0c;但历史上&#xff0c;却有两人文武兼备、同时入选了文庙与…

单调栈-java

本次主要通过数组模拟单调栈来解决问题。 目录 一、单调栈☀ 二、算法思路☀ 1.暴力做法&#x1f319; 2.优化做法&#x1f319; 3.单调递增栈和单调递减栈&#x1f319; 三、代码如下☀ 1.代码如下&#xff08;示例&#xff09;&#xff1a;&#x1f319; 2.读入数据&a…