C语言程序设计之文件篇1

news2024/11/15 9:07:30

程序设计之文件1

  • 问题1_1
    • 代码1_1
    • 结果1_1
  • 问题1_2
    • 代码1_2
    • 结果1_2
  • 问题1_3
    • 代码1_3
    • 结果1_3
  • 问题1_4
    • 代码1_4
    • 结果1_4

问题1_1

        函数 f u n fun fun 的功能是:从键盘输入若干字符串(每行不超过 80 80 80 个字符),写入文件 m y f i l e 4. t x t myfile4.txt myfile4.txt 中,用 − 1 -1 1 作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数 R e a d T e x t ReadText ReadText W r i t e T e x t WriteText WriteText 实现 。

代码1_1

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void WriteText(FILE*);
void ReadText(FILE*);

void main(void){
	FILE *fp;
	if((fp=fopen("myfile4.txt", "w"))==NULL){
		printf("open fail!!!\n");
		exit(0);
	}
	WriteText(fp);
	fclose(fp);
	if((fp=fopen("myfile4.txt", "r"))==NULL){
		printf("open fail!!!\n");
		exit(0);
	}
	ReadText(fp);
	fclose(fp);
}

void WriteText(FILE *fw){
	char str[81];
	printf("\nEnter stringg with -1 to end:\n");
	gets(str);
	while(strcmp(str, "-1")!=0){
		fputs(str, fw);
		fputs("\n", fw);
		gets(str);
	}
}

void ReadText(FILE *fr){
	char str[81];
	printf("\nRead file and output to screen:\n");
	fgets(str, 81, fr);
	while(!feof(fr)){
		printf("%s", str);
		fgets(str, 81, fr);
	}
}

结果1_1

File_1_1

问题1_2

         程序通过定义学生结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到 s u t d e n t . d a t sutdent.dat sutdent.dat 中。函数 f u n fun fun 的功能是:从文件中找到指定学号的学生数据,读入此学生数据,对该学生懂得分数进行修改,使没门课的分数加 3 3 3 分,修改后重写文件中学生的数据,即用该学生的新数据覆盖原数据,其他学生数据指定不变;若找不到,则不做任何操作。

代码1_2

#include<stdio.h>

#define N 5

typedef struct student{
	long sno;
	char name[10];
	float score[3];
}STU;

void fun(char *filename, long sno){
	FILE *fp;
	STU n;
	int i;
	fp = fopen(filename, "rb+");
	while(!feof(fp)){
		fread(&n, sizeof(STU), 1, fp);
		if(n.sno==sno)
			break;
	}
	if(!feof(fp)){
		for(i=0; i<3; i++)
			n.score[i] += 3;
		fseek(fp, -(long)sizeof(STU), SEEK_CUR);
		fwrite(&n, sizeof(STU), 1, fp);
	}
	fclose(fp);
}

void main(void){
	STU t[N] = {{10001, "Qin", 91, 92, 77}, 
			    {10002, "Xihan", 75, 60, 88},
				{10003, "Donghan", 85, 70, 78},
				{10004, "Sanguo", 90, 82, 87}, 
				{10005, "Jin", 95, 80, 88}};
	STU ss[N];
	int i, j;
	FILE *fp;
	fp = fopen("student.dat", "wb");
	fwrite(t, sizeof(STU), N, fp);
	fclose(fp);
	printf("\nThe original data:\n");
	fp = fopen("student.dat", "rb");
	fread(ss, sizeof(STU), N, fp);
	fclose(fp);
	for(j=0; j<N; j++){
		printf("\nNo:%ld Name: %-8s Scores:", ss[j].sno, ss[j].name);
		for(i=0; i<3; i++)
			printf("%6.2f", ss[j].score[i]);
	printf("\n");
	}
	fun("student.dat", 10003);
	fp = fopen("student.dat", "rb");
	fread(ss, sizeof(STU), N, fp);	
	fclose(fp);
	printf("\nThe data after modifing:\n");
	for(j=0; j<N; j++){
		printf("\nNo:%ld Name: %-8s Scores:", ss[j].sno, ss[j].name);
		for(i=0; i<3; i++)
			printf("%6.2f", ss[j].score[i]);
	printf("\n");
	}
}

结果1_2

Result_1_2

问题1_3

         函数 f u n fun fun 的功能是:将形参给定的字符串、整数、浮点数写到文本文件中,再用字符从此文本文件中逐个读入并显示在终端屏幕上。

代码1_3

#include<stdio.h>

void fun(char *s, int a, double f){
	FILE *fp;
	char ch;
	fp = fopen("file1.text", "w");
	fprintf(fp, "%s %d %f\n", s, a, f);
	fclose(fp);
	fp = fopen("file1.text", "r");
	printf("\nThe result:\n\n");
	ch = fgetc(fp);
	while(!feof(fp)){
		putchar(ch);
		ch = fgetc(fp);
	}
	putchar('\n');
	fclose(fp);
}

void main(void){
	char a[10] = "Hello!";
	int b = 12345;
	double c = 98.76;
	fun(a, b, c);
}

结果1_3

Result_1_3

问题1_4

         函数 f u n fun fun 的功能是:将形参给定的字符串、整数、浮点数写到文本文件中,再用字符从此文本文件中逐个读入,并调用苦函数 a t o i atoi atoi a t o f atof atof 将字符串转换成相应的整数、浮点数,然后将其显示在终端屏幕上。

代码1_4

#include<stdio.h>
#include<stdlib.h>

void fun(char *s, int a, double f){
	FILE *fp;
	char str[100], str1[100], str2[100];
	int a1; double f1;
	fp = fopen("file1.text", "w");
	fprintf(fp, "%s %d %f\n", s, a, f);
	fclose(fp);
	fp = fopen("file1.text", "r");
	fscanf(fp, "%s %s %s", str, str1, str2);
	fclose(fp);
	a1 = atoi(str1);
	f1 = atof(str2);
	printf("\nThe result:\n\n%s %d %f\n", str, a1, f1);
}

void main(void){
	char a[10] = "Hello!";
	int b = 12345;
	double c = 98.76;
	fun(a, b, c);
}

结果1_4

Result_1_4

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

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

相关文章

jeecguniapp上传附件/图片及预览

一、上传图片 具体页面显示是 注意事项是传递除文件外的参数需要包在formData里 formData:{UUID:that.state.id,type:bill,}, 二、预览图片及附件 重点是附件预览图片预览即图片更换图片path显示 pdf预览代码 同事写的给的笔记及注意事项

云计算赛项学习————OpenStack 平台搭建

PS: 原创作品&#xff0c;严禁用于商业目的。如有任何技术问题&#xff0c;欢迎和我交流&#xff1a;w104118078 &#xff08;微信号&#xff09; 一、基础环境准备 OpenStack云平台搭建需要两个节点&#xff1a;controller&#xff08;控制节点&#xff09;&#xff0c;comp…

getUnlimitedQRCode获取无限制小程序二维码,如何在前端展示

被坑惨了&#xff0c;搞了我好几个小时 nodejs开发服务端&#xff0c;获取微信小程序无限次二维码 getUnlimitedQRCode怎么用的我就不说了&#xff0c;官方文档 小程序官方文档 刚开始出返回的结果是 正确的返回格式应该是 原因是我在请求getUnlimitedQRCode接口时未设置r…

【Android Studio】UI 布局

文章目录 view布局LinearLayout view 在Android开发中&#xff0c;View是一个非常重要的概念&#xff0c;它是所有用户界面组件的基类。View类及其子类构成了Android应用中的用户界面。每个View都占用屏幕上的一个矩形区域&#xff0c;并可以响应用户输入&#xff08;如触摸、按…

UE5 敌人血条

这样处理就完毕&#xff0c;然后 User Widget 尽可能分成多个进行处理

鸿蒙开发入门指南

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 引言 一、鸿蒙系统概述 1.1 简介 1.2 鸿蒙开发的优势 二、鸿蒙开发环境搭建 2.1 安装鸿蒙DevEco Studi…

机器学习中的关键距离度量及其应用

引言 在当今的数据驱动世界中&#xff0c;机器学习算法扮演着至关重要的角色&#xff0c;它们在图像分类、面部识别、在线内容审核、零售目录优化和推荐系统等多个领域发挥着重要作用。这些算法的核心在于它们能够识别和利用数据之间的相似性。而实现这一点的关键&#xff0c;…

在 Hub 上使用 Presidio 进行自动 PII 检测实验

我们在 Hugging Face Hub 上托管的机器学习 (ML) 数据集中发现了一个引人关注的现象: 包含个人未经记录的私密信息。这一现象为机器学习从业者带来了一些特殊挑战。 在本篇博客中&#xff0c;我们将深入探讨含有一种称为个人识别信息 (PII) 的私密信息的各类数据集&#xff0c;…

965不加班还赚钱,金融科技岗真的绝了!

薪资福利好、稳定有前景、大部分965不加班…… 如果你在观望新机会&#xff0c;金融科技岗的这些特质一定非常吸引人。‍‍‍‍‍‍ 特别是在如今的求职环境中&#xff0c;可观的薪资和稳定的环境已经能够打败90%以上的公司了&#xff0c;更别说金融科技岗的工作强度相比互联…

生产计划问题的不同最优化工具软件求解

一、优化求解软件简介 众所周知&#xff0c;常用的优化工具软件有Lingo、Mathcad和MATLAB。 1. LINGO是Linear Interactive and General Optimizer的缩写&#xff0c;即“交互式的线性和通用优化求解器”&#xff0c;由美国LINDO系统公司&#xff08;Lindo System Inc.&…

Photoshop 滤镜使用详解(全集 · 2024版)

Photoshop 内置了约 120 多个滤镜 Fitler。 Ps菜单&#xff1a;滤镜 Fitler 滤镜&#xff0c;根据一定的规律和运算规则&#xff0c;改变像素的排列、组合、RGB 值与分布等&#xff0c;从而实现图像的各种特殊、奇妙的效果。 可将滤镜作用于选区、图层、通道、蒙版和智能对象&a…

采购在供应链管理中有什么作用?8个步骤拆解供应链采购流程!

在当今全球化和竞争激烈的商业环境中&#xff0c;供应链管理的重要性日益凸显。采购作为供应链中的关键环节&#xff0c;不仅关系到企业成本控制和利润空间&#xff0c;更是企业战略实施和市场竞争力的重要体现。本文将深入探讨供应链采购流程的各个方面&#xff0c;从需求识别…

CreateCustomShape函数怎么在C++调用,参数需要用SAFEARRAY

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

关于去中心化自治组织DAO

DAO&#xff08;Decentralized Autonomous Organizations&#xff09;代表了一种变革性的治理和组织管理方法&#xff0c;利用区块链技术创建透明、民主和自我管理的实体。通过自动化决策过程并减少对传统等级结构的依赖&#xff0c;DAO使各种社区团体能够共同管理资源、项目和…

技术分享 | 自动化测试中如何高效定位元素?

在自动化测试中&#xff0c;元素定位是一项非常重要的工作。良好的元素定位可以帮助测试人员处理大量的测试用例&#xff0c;加快测试进度&#xff0c;降低工作负担。但是在实际的测试工作中&#xff0c;我们常常遇到各种各样的定位问题&#xff0c;比如元素定位失败、元素选择…

【数学建模】评价类模型:优劣解距离法

【数学建模】评价类模型&#xff1a;优劣解距离法 目录 【数学建模】评价类模型&#xff1a;优劣解距离法 1&#xff1a;前言 2&#xff1a;算法 1. 将原始矩阵正向化(统一为极大型) 2. 正向矩阵标准化(消除量纲) 3. 计算得分并归一化 3&#xff1a;例题 4&#xff1a…

【C++】学习笔记——C++的类型转换

文章目录 二十三、C的类型转换1. C语言中的类型转换2. C类型转换static_castreinterpret_castconst_castdynamic_cast 未完待续 二十三、C的类型转换 1. C语言中的类型转换 在C语言中&#xff0c;如果赋值运算符左右两侧类型不同&#xff0c;或者形参与实参类型不匹配&#x…

书单 | 大模型的书那么多,如何快速选到适合自己的那一本?来,教你!

大模型的书这么多&#xff0c;该怎么选呢&#xff1f; 本期书单就来教大家怎么快速地从众多大模型书中选到你想要的那一本&#xff01; 大模型基础 大模型入门不可错过的一本书&#xff0c;就是这本大模型界的经典畅销书**《大规模语言模型》**&#xff01;系统性强&#xf…

Excel函数基础(二)

1、单元格名称 框选单元格&#xff08;不含标题&#xff09;&#xff0c;公式选项卡->定义名称&#xff0c; 或者框选单元格后&#xff0c;在左上角的栏位直接输入要定义的名字&#xff0c;按下enter键即可 这样在使用函数时&#xff0c;数据范围参数可以用定义的名称来替…

4款翻译软件分享,告别职场困境

作为一名初入职场的新人&#xff0c;我经常会遇到各种需要翻译的文件&#xff0c;从合同到项目报告&#xff0c;再到专业资料&#xff0c;无一不考验着我的语言能力。幸运的是&#xff0c;我遇到了几款超级给力的翻译软件——福昕翻译在线、福昕翻译客户端、海鲸AI翻译和deepl翻…