当前位置: 首页 > news >正文

嵌入式学习

笔记

作业

        有如下结构体
        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个学生信息,写入(加载)到数组中去,并直接输出学生信息

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
#include <semaphore.h>
#include <wait.h>
#include <signal.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <semaphore.h>
#include <sys/msg.h>
#include <sys/shm.h>
#include <sys/un.h>#define MAXSIZE 5typedef struct student{char name[16];int age;double math_score;double chinses_score;double english_score;double physics_score;double chemistry_score;double bio_score;
}stu,*stu_p;stu_p create_stu()
{stu_p S=(stu_p)malloc(sizeof(stu));if(NULL==S){printf("空间申请失败\n");return NULL;}return S;
}void Init_stu(stu_p *S,int age,double math_score,double chinses_score,double english_score,double physics_score,double chemistry_score,double bio_score)
{if(NULL==*S){printf("学生信息表不存在\n");return;}//(*S)->name=name;(*S)->age=age;(*S)->math_score=math_score;(*S)->chinses_score=chinses_score;(*S)->english_score=english_score;(*S)->physics_score=physics_score;(*S)->chemistry_score=chemistry_score;(*S)->bio_score=bio_score;
}void print_stu(stu_p *S)
{int i;for(i=0;i<MAXSIZE;i++){printf("%-16s ",S[i]->name);printf("%-d ",S[i]->age);printf("%-6.2lf ",S[i]->math_score);printf("%-6.2lf ",S[i]->chinses_score);printf("%-6.2lf ",S[i]->english_score);printf("%-6.2lf ",S[i]->physics_score);printf("%-6.2lf ",S[i]->chemistry_score);printf("%-6.2lf ",S[i]->bio_score);printf("\n");}
}int main(int argc, const char *argv[])
{stu_p S[MAXSIZE];int i;for(i=0;i<MAXSIZE;i++){S[i]=create_stu();}//这里直接把五名学生信息存入到数组1中strcpy(S[0]->name,"zhangsan");strcpy(S[1]->name,"lisi");strcpy(S[2]->name,"wangwu");strcpy(S[3]->name,"liuliu");strcpy(S[4]->name,"luqi");Init_stu(S,20,100,90,80,100,70,88);Init_stu(S+1,21,99,92,89,98,79,80);Init_stu(S+2,22,87,97,87,90,77,86);Init_stu(S+3,18,89,80,80,99,75,88);Init_stu(S+4,29,98,87,85,89,76,89);//printf("数组S\n");//print_stu(S);FILE *fp;fp=fopen(argv[1],"r");if(NULL==fp){//第一次执行,由于文件不存在,创建文件并把学生信息存入该文件perror("第一次fopen");fp=fopen(argv[1],"w");for(i=0;i<MAXSIZE;i++){fprintf(fp,"%-16s %-3d %-6.2lf %-6.2lf %-6.2lf %-6.2lf %-6.2lf %-6.2lf \n",S[i]->name,S[i]->age,S[i]->math_score,S[i]->chinses_score,S[i]->english_score,S[i]->physics_score,S[i]->chemistry_score,S[i]->bio_score);}fclose(fp);}else {//第二次执行,将学生信息存入第二个数组中FILE *fp2=fopen(argv[1],"r");if(NULL==fp2){perror("第二次fopen");return -1;}stu_p S2[MAXSIZE];for(i=0;i<MAXSIZE;i++){S2[i]=create_stu();fscanf(fp2,"%s %d %lf %lf %lf %lf %lf %lf",S2[i]->name,&(S2[i]->age),&(S2[i]->math_score),&(S2[i]->chinses_score),&(S2[i]->english_score),&(S2[i]->physics_score),&(S2[i]->chemistry_score),&(S2[i]->bio_score));}fclose(fp2);printf("数组S2\n");print_stu(S2);}return 0;
}

相关文章:

嵌入式学习

笔记 作业 有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry…...

sass-loader和node-sass与node版本的依赖问题

sass-loader和node-sass与node版本的依赖问题 没有人会陪你走到最后&#xff0c;碰到了便是有缘&#xff0c;即使到了要下车的时候&#xff0c;也要心存感激地告别&#xff0c;在心里留下空白的一隅之地&#xff0c;多年后想起时依然心存甘味。——林清玄 报错截图 报错信息 np…...

基于BP神经网络的QPSK解调算法matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ........................................................................ for ij 1:leng…...

Linux服务器常用巡检命令

在Linux服务器上进行常规巡检是确保服务器稳定性和安全性的重要措施之一。以下是一些常用的巡检命令和技巧&#xff1a; 1. 查看系统信息 1.1 系统信息显示 命令&#xff1a;uname -a ​​​​ [rootlinux100 ~]# uname -a Linux linux100 4.15.0-70-generic #79-Ubuntu SMP…...

VSCode 配置 CMake

VSCode 配置 C/C 环境的详细过程可参考&#xff1a;VSCode 配置 C/C 环境 1 配置C/C编译环境 如果是 Windows 环境&#xff0c;需要安装 MingW。 方案一 可以去官网(https://sourceforge.net/projects/mingw-w64/)下载安装包。 注意安装路径不要出现中文。 打开 windows she…...

​《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制德国每日风能和太阳能产量3D线图

在MATLAB中&#xff0c;要绘制3D线图&#xff0c;可以使用 plot3 函数。 在《MATLAB科研绘图与学术图表绘制从入门到精通》书中通过绘制德国每日风能和太阳能产量3D线图解释了如何在MATLAB中绘制3D线图。 购书地址&#xff1a;https://item.jd.com/14102657.html...

【信息系统项目管理师知识点速记】质量管理:控制质量

控制质量是为了评估绩效,确保项目输出完整、正确且满足客户期望,而监督和记录质量管理活动执行结果的过程。控制质量过程需要在整个项目期间开展,其目的是测量产品或服务的完整性、合规性和适用性,以确保项目达到主要干系人的质量要求。 12.5.1 输入 项目管理计划 质量管理…...

【云原生】Pod 的生命周期(一)

【云原生】Pod 的生命周期&#xff08;一&#xff09;【云原生】Pod 的生命周期&#xff08;二&#xff09; Pod 的生命周期&#xff08;一&#xff09; 1.Pod 生命期2.Pod 阶段3.容器状态3.1 Waiting &#xff08;等待&#xff09;3.2 Running&#xff08;运行中&#xff09;3…...

Golang | Leetcode Golang题解之第71题简化路径

题目&#xff1a; 题解&#xff1a; func simplifyPath(path string) string {stack : []string{}for _, name : range strings.Split(path, "/") {if name ".." {if len(stack) > 0 {stack stack[:len(stack)-1]}} else if name ! "" &am…...

Unreal游戏GPU性能优化检测模式全新上线

UWA已经在去年推出了针对于Unity项目的GPU性能优化工具&#xff0c;通过对GPU渲染性能、带宽性能以及各种下探指标&#xff0c;帮助Unity项目研发团队定位由GPU导致的发热耗电问题。这个需求在Unreal团队中也极为强烈&#xff0c;因此UWA将该功能移植到针对Unreal项目的GOT Onl…...

设计网页用什么软件

在设计网页时&#xff0c;可以使用多种软件来完成不同的任务。以下是一些常用的网页设计软件&#xff0c;以及它们的特点和用途。 1. Adobe Photoshop&#xff1a; Adobe Photoshop 是一款功能强大的图像编辑软件。在网页设计中&#xff0c;它常用于创建和编辑网页所需的图像、…...

⑪ - 测试工程师通识指南

📖 该文隶属 程序员:职场关键角色通识宝典✍️ 作者:哈哥撩编程(视频号同名) 博客专家全国博客之星第四名超级个体COC上海社区主理人特约讲师谷歌亚马逊演讲嘉宾科技博主极星会首批签约作者🏆 推荐专栏: 🏅 程序员:职场关键角色通识宝典🏅...

RabbitMQ知识点总结和复习

之前项目中用到RabbitMQ的场景主要是订单信息的传递&#xff0c;还有就是利用RabbitMQ的死信队列属性设置&#xff0c;实现延迟队列效果&#xff0c;实现超时支付取消功能&#xff0c;以及在两个不同项目中传递数据等场景。 最近几年的工作中都是一直用的RabbitMQ&#xff0c;…...

ContEA阅读笔记

Facing Changes: Continual Entity Alignment for Growing Knowledge Graphs 面对变化&#xff1a;不断增长的知识图谱的持续实体对齐 Abstract 实体对齐是知识图谱(KG)集成中一项基本且重要的技术。多年来&#xff0c;实体对齐的研究一直基于知识图谱是静态的假设&#xff…...

使用nvm切换nodejs版本

查看可以安装的版本&#xff1a; 使用nvm list显示已安装的nodejs版本&#xff1a; 选择一个版本下载&#xff1a; 切换对应的版本&#xff1a;...

机器学习_KNN算法

机器学习_KNN算法 K-近邻&#xff08;K-Nearest Neighbors&#xff0c;简称KNN&#xff09;算法是一种基本的机器学习分类和回归算法 其核心思想是&#xff1a;如果一个样本在特征空间中的k个最相似&#xff08;即特征空间中最邻近&#xff09;的样本中的大多数属于某一个类别…...

学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…...

《QT实用小工具·四十九》QT开发的轮播图

1、概述 源码放在文章末尾 该项目实现了界面轮播图的效果&#xff0c;包含如下特点&#xff1a; 左右轮播 鼠标悬浮切换&#xff0c;无需点击 自动定时轮播 自动裁剪和缩放不同尺寸图片 任意添加、插入、删除 单击事件&#xff0c;支持索引和自定义文本 界面美观&#xff0c;圆…...

uniapp 自定义 App启动图

由于uniapp默认的启动界面太过普通 所以需要自定义个启动图 普通的图片不可以过不了苹果的审核 所以使用storyboard启动图 生成 storyboard 的网站&#xff1a;初雪云-提供一站式App上传发布解决方案...

39-1 Web应用防火墙 - WAF应用程序层绕过

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、双重URL编码绕过 什么是URL编码 URL编码是一种将特殊字符转为%加上其ASCII值的方式,以确保在URL中传输时不会被误解或导致错误。例如,字母"s"的URL编码是"…...

从FinFET到ESD设计:2013年半导体产业技术演进与工程实践启示

1. 行业动态聚焦&#xff1a;2013年4月&#xff0c;EDA/IP领域的那些关键信号作为一名在芯片设计行业摸爬滚打了十几年的老兵&#xff0c;我习惯每周花点时间翻翻行业新闻&#xff0c;不是为了追热点&#xff0c;而是想从那些看似零散的公告里&#xff0c;嗅出技术演进和产业协…...

Python统一调用多AI模型:python-tgpt库实战指南

1. 项目概述&#xff1a;一个让Python与AI对话更简单的工具 如果你最近在尝试用Python调用各种大语言模型&#xff08;LLM&#xff09;的API&#xff0c;比如OpenAI的GPT、Google的Gemini&#xff0c;或者开源的Llama、Mistral&#xff0c;那你大概率经历过这样的场景&#xf…...

ClawPaw:将Android手机转化为AI智能体的可编程执行节点

1. 项目概述&#xff1a;ClawPaw&#xff0c;一个将手机变成AI智能体的“手”与“眼” 如果你正在探索AI智能体&#xff08;Agent&#xff09;如何与现实世界交互&#xff0c;或者想让你的自动化脚本、个人助手能直接操作你的手机&#xff0c;那么ClawPaw这个项目绝对值得你花…...

BugPack:构建自动化安全研究工具箱的设计与实践

1. 项目概述&#xff1a;一个为安全研究量身定制的“漏洞工具箱”如果你是一名安全研究员、渗透测试工程师&#xff0c;或者是对软件安全有浓厚兴趣的开发者&#xff0c;那么你一定经历过这样的场景&#xff1a;在复现一个公开漏洞时&#xff0c;需要四处寻找可用的利用脚本&am…...

Doccano自动标注实战:我用它3天搞定了一个NER项目的数据标注

Doccano自动标注实战&#xff1a;我用它3天搞定了一个NER项目的数据标注 1. 项目背景与挑战 上个月接到了一个从新闻文本中抽取公司名和职位的NER任务&#xff0c;标注量约5000条。作为独立开发者&#xff0c;既没有专业标注团队&#xff0c;也没有充足预算购买商业标注服务。传…...

量子支持向量机原理与硬件优化实践

1. 量子支持向量机基础原理与硬件挑战量子支持向量机&#xff08;QSVM&#xff09;是传统支持向量机在量子计算框架下的扩展&#xff0c;其核心创新点在于利用量子态空间的高维特性构建核函数。与传统核方法相比&#xff0c;量子核映射通过量子电路将经典数据编码到希尔伯特空间…...

基于MCP协议与AI的智能收据处理服务器:从OCR到结构化提取实战

1. 项目概述&#xff1a;一个专为收据处理而生的MCP服务器如果你经常需要处理各种格式的收据、发票或账单&#xff0c;无论是个人记账、公司报销&#xff0c;还是财务审计&#xff0c;那么你肯定对“数据录入”这个繁琐环节深恶痛绝。一张张纸质或电子收据&#xff0c;上面的关…...

CAN 总线技术综合研究报告

CAN总线技术综合研究报告 报告日期: 2026年5月14日 引言 在当今高度信息化和自动化的世界中,设备内部以及设备之间的可靠通信是实现复杂功能的基石。从汽车的动力控制到工厂的自动化生产线,都需要一个高效、可靠的通信网络来协调各个控制单元的工作。控制器局域网(Contr…...

高效AI教材写作指南:借助AI工具,低查重完成40万字教材编写!

教材编写中的原创性与合规性问题及 AI 工具解决方案 在教材编写的过程中&#xff0c;如何平衡原创性与合规性是一个不可忽视的重要问题。在借鉴优秀教材中的内容时&#xff0c;创作者不可避免地会担心作品的查重率过高&#xff1b;而在尝试自行创作知识点时&#xff0c;又可能…...

3-5年经验程序员注意:这3大岗位年薪飙升至百万,你中招了吗?

昨天晚上&#xff0c;有个群友说&#xff1a;我看 boss 直聘已经有些公司明确要求要 AI 经验了&#xff0c;之前是大厂先搞&#xff0c;现在中小开始反应过来了。是的&#xff0c;这个趋势已经越来越明显。不只是招聘&#xff0c;春节以后&#xff0c;很多公司推 AI 的力度也变…...