0506_IO1

news2024/11/24 10:46:13

思维导图:

练习: 

有如下结构体 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 }
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          
~                                                                                                                                                                                                                                                                                                                                                                                                                          

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尊享面试100题(314.二叉树的垂直遍历python)

题目关键词&#xff0c;从左到右&#xff0c;从上到下&#xff0c;那么使用bfs宽度优先算法。 使用字典v保存每一列的值。 class Solution:def verticalOrder(self, root: Optional[TreeNode]) -> List[List[int]]:if not root: return []v defaultdict(list)qu deque()…

数据分析之Tebleau可视化:树状图、日历图、气泡图

树状图&#xff08;适合子分类比较多的&#xff09; 1.基本树状图的绘制 同时选择产品子分类和销售金额----选择智能推荐----选择树状图 2.双层树状图的绘制 将第二个维度地区拖到产品分类的下面---大的划分区域是上面的维度&#xff08;产品分类&#xff09;&#xff0c;看着…

GreptimeDB 助力国家电网数字换流站打造稳定高效的时序数据底座

电网体系作为现代社会运行的支柱之一&#xff0c;为各行各业、千家万户提供了电能的基本支持。从家庭到企业&#xff0c;医院到学校&#xff0c;交通到通讯&#xff0c;电力电网的应用贯穿始终。近年来&#xff0c;特高压换流站成为国家电网的重点建设工程&#xff0c;“十四五…

[每日AI·0506]巴菲特谈 AI,李飞飞创业,苹果或将推出 AI 功能,ChatGPT 版搜索引擎

AI 资讯 苹果或将推出 AI 功能&#xff0c;随 iPhone 发布2024 年巴菲特股东大会&#xff0c;巴菲特将 AI 类比为核技术 巴菲特股东大会 5 万字实录消息称 OpenAI 将于 5 月 9 日发布 ChatGPT 版搜索引擎路透社消息&#xff0c;斯坦福大学 AI 领军人物李飞飞打造“空间智能”创…

Linux第三节--常见的指令介绍集合(持续更新中)

点赞关注不迷路&#xff01;&#xff0c;本节涉及初识Linux第三节&#xff0c;主要为常见的几条指令介绍。 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1f44d;&#x1f3fb; 收藏 ✨ 加关注&#x1f440; 期待与你共同进步! Linux下基本指令 1. man指令 Linu…

学QT的第一天~

#include "mywidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { //窗口相关设置// this->resize(427,330); this->setFixedSize(427,330); //设置图标 this->setWindowIcon(QIcon("C:\\Users\\Admin\\Desktop\\pictrue\\dahz.jpg&q…

ComfyUI搭建和注意事项for WIN[笔记]

下载ComfyUI(GitHub - comfyanonymous/ComfyUI: The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interface.) 从源码上搭建比较麻烦&#xff0c;一般不推荐&#xff0c;所以跑到release里面找一个下载。我的显卡是GeFore GTX 1050 …

mac电脑如何安装python及环境搭建

&#xff08;1&#xff09;进入官网&#xff1a;Download Python | Python.org&#xff0c;根据自己电脑选择python (2)这里我选择的是mac,点击&#xff1a;macos&#xff0c;选择最近版本并点击进入 (3)选择mac版本&#xff1a; (4)点击就可以进入下载&#xff1a; (5)下载好之…

全国31省对外开放程度、经济发展水平、ZF干预程度指标数据(2000-2022年)

01、数据介绍 自2000年至2022年&#xff0c;中国的对外开放程度不断深化、经济发展水平不断提高、ZF不断探索并调整自身在经济运行中的角色和定位&#xff0c;以更好地适应国内外环境的变化&#xff0c;也取得了举世瞩目的成就。这一期间&#xff0c;中国积极融入全球经济体系…

JAVA基础|常用API-BigDecimal

一. 说明 用于解决浮点型运算时&#xff0c;出现结果失真的问题。 由于计算机本身的二进制并不能很精确的计算度&#xff0c;直接进行 - * /也可能出现运算结果失真 可以看到在上述代码中&#xff0c;0.10.2并不完全等于0.3&#xff0c;这在某些情况下会出现问题&#xff0c;…

Day61:单调栈 739. 每日温度 496.下一个更大元素 I

739. 每日温度 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输…

Vue 介绍

【1】前端发展史 前端的发展史可简述为&#xff1a; 从最初的静态页面编写&#xff0c;依赖后端模板渲染逐步演化为通过JavaScript&#xff08;特别是Ajax技术&#xff09;实现前后端分离&#xff0c;使得前端能够独立地加载数据和渲染页面随后&#xff0c;Angular、React、Vu…

堡垒机——网络技术手段

目录 一、简介 1.什么是跳板机 2.跳板机缺陷 3.什么是堡垒机 4.为什么要使用堡垒机 4.1堡垒机设计理念 4.2堡垒机的建设目标 4.3堡垒机的价值 4.4总结 5.堡垒机的分类 6.堡垒机的原理 7.堡垒机的身份认证 8.堡垒机的运维方式常见有以下几种 9.堡垒机其他常见功能…

docker安装redis命令及运行

docker安装redis&#xff1a; docker run -d -p 6379:6379 --name redis redis:latest -d: 以 守护进程模式 运行容器&#xff0c;容器启动后会进入后台运行&#xff0c;并脱离当前命令行会话。 -p: 显示端口号。 -p 6379:6379: 将容器内部的 6379 端口映射到宿主机 6379 端…

OpenHarmony实战开发-上传文件

Web组件支持前端页面选择文件上传功能&#xff0c;应用开发者可以使用onShowFileSelector()接口来处理前端页面文件上传的请求。 下面的示例中&#xff0c;当用户在前端页面点击文件上传按钮&#xff0c;应用侧在onShowFileSelector()接口中收到文件上传请求&#xff0c;在此接…

行业唯一!易保全牵头编制的《区块链数据访问安全技术通则》发布

近日&#xff0c;易保全牵头参与编制的《区块链数据访问安全技术通则》经中国国际经济技术合作促进会正式发布&#xff0c;为中国区块链数据安全技术提供了标准参考。 易保全作为牵头起草单位、易保全CEO兼董事长刘刚担任主要起草人参与其中&#xff0c;在区块链技术安全风险…

初识C语言——第十三天

关键字2&#xff1a; static 修饰局部变量&#xff0c;改变了局部变量的生命周期&#xff08;本质上是改变了变量的存储类型&#xff09; static修饰全局变量&#xff0c;使得这个全局变量只能在自己所在的源文件&#xff08;.c)内部可以使用&#xff0c;其他源文件不能使用 …

【数据库】MySQL安装与卸载

文章目录 [toc]MySQL下载网盘链接下载网址 MySQL安装解压生成data文件安装MySQL启动MySQL服务 MySQL登录设置root用户密码 环境变量配置MySQL卸载 个人主页&#xff1a;丷从心 系列专栏&#xff1a;MySQL 学习指南&#xff1a;数据库 MySQL下载 网盘链接 链接&#xff1a;h…

一个404引发的困惑:贵圈真乱,此文随时可能被删

今天在问答区看到一个比较低级的问题&#xff0c;这个问题99.9999%学过java的人都会遇到&#xff0c;就是404错误&#xff0c;如果只是404&#xff0c;那就没有必要写出来了&#xff0c;都说评论区/回答区会出神评论&#xff0c;这里的神评论就是出在回答区&#xff0c;通篇都是…

JS基础:JS语法规范详解(最全!)

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端基础路线”&#xff0c;可获取完整web基础…