news 2026/4/18 10:42:33

C语言作业·实验四

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言作业·实验四
#include <stdio.h> #include <stdlib.h> typedef struct { int id; // 产地ID char name[50]; // 产地名称 int yield; // 产量(吨) } OrangeFarm; int main() { OrangeFarm new_farm; // 本次只需定义1个结构体变量用于追加 FILE *fp; // 1. 从控制台录入单条需要追加的数据 printf("--- 廉江红橙产地数据追加 ---\n"); printf("请输入新增产地信息(格式:ID 名称 产量):\n"); if (scanf("%d %s %d", &new_farm.id, new_farm.name, &new_farm.yield) != 3) { printf("输入格式错误。\n"); return 1; } // 2. 以追加模式("a")打开文件 // "a" 代表 append。如果文件不存在会创建;如果存在,指针直接指向文件末尾 fp = fopen("farms.txt", "a"); // 检查文件打开是否成功 if (fp == NULL) { printf("错误:无法打开文件进行追加!\n"); return 1; } // 3. 使用fprintf 写入新数据 // 务必保留末尾的 \n,确保下1条追加的数据能另起一行 fprintf(fp, "%d %s %d\n", new_farm.id, new_farm.name, new_farm.yield); // 4. 关闭文件 fclose(fp); printf("\n新记录已成功追加至 farms.txt 末尾。\n"); return 0; }

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int id; char name[50]; int yield; } OrangeFarm; int main() { OrangeFarm farms[100]; int count = 0; int deleteId; char confirm; FILE *fp; fp = fopen("farms.txt", "r"); if (fp == NULL) { printf("错误:无法打开 farms.txt,请确保文件已存在。\n"); return 1; } while (fscanf(fp, "%d %s %d", &farms[count].id, farms[count].name, &farms[count].yield) == 3) { count++; } fclose(fp); if (count == 0) { printf("数据库为空,无数据可删除。\n"); return 0; } printf("\n--- 当前廉江红橙产地列表 ---\n"); for (int i = 0; i < count; i++) { printf("[%d] %s", farms[i].id, farms[i].name); if ((i + 1) % 3 == 0) { printf("\n"); } } printf("\n---------------------\n"); printf("请输入要删除的产地 ID: "); scanf("%d", &deleteId); int targetIndex = -1; for (int i = 0; i < count; i++) { if (farms[i].id == deleteId) { targetIndex = i; break; } } if (targetIndex == -1) { printf("错误:未找到 ID 为 %d 的记录。\n", deleteId); return 0; } printf("\n拟删除记录详情:\n"); printf("ID: %d | 名称: %s | 产量: %d 吨\n", farms[targetIndex].id, farms[targetIndex].name, farms[targetIndex].yield); printf("警告:此操作不可撤回!确定删除吗?(y/n): "); getchar(); scanf("%c", &confirm); if (confirm != 'y' && confirm != 'Y') { printf("操作已安全取消。\n"); return 0; } for (int i = targetIndex; i < count - 1; i++) { farms[i] = farms[i + 1]; } count--; fp = fopen("farms.txt", "w"); if (fp == NULL) { printf("系统错误:无法更新文件数据。\n"); return 1; } for (int i = 0; i < count; i++) { fprintf(fp, "%d %s %d\n", farms[i].id, farms[i].name, farms[i].yield); } fclose(fp); printf("成功:ID 为 %d 的记录已从系统中彻底移除。\n", deleteId); return 0; }

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { int id; char name[50]; int yield; } OrangeFarm; int main(void) { OrangeFarm farms[100]; int count = 0; int targetId, choice, index; FILE *fp; fp = fopen("farms.txt", "r"); if (fp == NULL) { printf("错误:无法打开 farms.txt,请确保文件已存在。\n"); return 1; } while (fscanf(fp, "%d %49s %d", &farms[count].id, farms[count].name, &farms[count].yield) == 3) { count++; } fclose(fp); if (count == 0) { printf("数据库为空,请先添加数据。\n"); return 0; } printf("\n--- 当前系统内的产地 ID 列表 ---\n"); for (int i = 0; i < count; i++) { printf("[%d] %-12s", farms[i].id, farms[i].name); if ((i + 1) % 3 == 0) { printf("\n"); } } printf("\n-------------------------------\n"); printf("请输入您想要修改的产地 ID: "); scanf("%d", &targetId); index = -1; for (int i = 0; i < count; i++) { if (farms[i].id == targetId) { index = i; break; } } if (index == -1) { printf("未找到 ID 为 %d 的记录。\n", targetId); return 0; } printf("\n已锁定产地: %s (产量: %d 吨)\n", farms[index].name, farms[index].yield); printf("1. 修改产地名称\n"); printf("2. 修改预计产量\n"); printf("3. 取消修改\n"); printf("请选择操作(1-3): "); scanf("%d", &choice); switch (choice) { case 1: printf("请输入新的名称: "); scanf("%s", farms[index].name); break; case 2: printf("请输入新的产量 (吨): "); scanf("%d", &farms[index].yield); break; case 3: printf("操作已取消。\n"); return 0; default: printf("非法输入,操作终止。\n"); return 0; } fp = fopen("farms.txt", "w"); if (fp == NULL) { printf("回写文件失败!\n"); return 1; } for (int i = 0; i < count; i++) { fprintf(fp, "%d %s %d\n", farms[i].id, farms[i].name, farms[i].yield); } fclose(fp); printf("ID 为 %d 的记录已成功更新。\n", targetId); return 0; }

#include <stdio.h> #include <stdlib.h> typedef struct { int id; char name[50]; int yield; } OrangeFarm; int main() { FILE *fp; OrangeFarm temp; int threshold; int foundCount = 0; // 1. 打开⽂件进⾏读取 fp = fopen("farms.txt", "r"); if (fp == NULL) { printf("错误:⽆法打开数据⽂件 farms.txt,请确保⽂件已存在。\n"); return 1; } // 2. 获取⽤户查询条件 printf("----------- 廉江红橙产量筛选系统 -----------\n"); printf("请输⼊产量阈值(吨):"); if (scanf("%d", &threshold) != 1) { printf("输⼊⽆效。\n"); fclose(fp); // 记得关闭⽂件 return 1; } printf("\n正在查询产量⼤于 %d 吨的产地...\n", threshold); printf("-------------------------------------------\n"); printf("%-10s %-20s %-10s\n", "ID", "产地名称", "预计产量(吨)"); printf("-------------------------------------------\n"); // 3. 循环逐⾏解析数据 // fscanf 返回成功读取的项⽬数,若达到⽂件末尾则返回 EOF while (fscanf(fp, "%d %s %d", &temp.id, temp.name, &temp.yield) == 3) { // 4. 执⾏逻辑判断与成员访问 if (temp.yield > threshold) { printf("%-10d %-20s %-10d\n", temp.id, temp.name, temp.yield); foundCount++; } } // 5. 结果汇总 if (foundCount == 0) { printf("未找到产量超过 %d 吨的记录。\n", threshold); } else { printf("-------------------------------------------\n"); printf("查询完毕,共找到 %d 条记录。\n", foundCount); } // 6. 必须执⾏的⽂件关闭操作 fclose(fp); return 0; }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 4:24:40

AI语音新突破!CosyVoice3支持18种中国方言情感化语音合成效果惊艳

CosyVoice3&#xff1a;让机器说人话&#xff0c;更说家乡话 在短视频博主为一条方言口播视频反复录音十遍时&#xff0c;在南方老人面对普通话智能音箱频频摇头时&#xff0c;在有声书制作团队因配音演员档期延误而焦头烂额时——我们终于等到了一个真正能“听懂乡音”的语音合…

作者头像 李华
网站建设 2026/4/18 4:24:37

如何用CosyVoice3实现高精度声音克隆?中文方言全覆盖,情感表达更自然

如何用CosyVoice3实现高精度声音克隆&#xff1f;中文方言全覆盖&#xff0c;情感表达更自然 在短视频平台每天生成上百万条AI配音的今天&#xff0c;你有没有注意到——那些“东北老铁”和“川渝嬢嬢”的口音越来越像真人了&#xff1f;这背后不是靠成百上千小时的录音训练&a…

作者头像 李华
网站建设 2026/4/18 4:24:41

YOLOFuse贡献指南发布:欢迎提交PR与Issue反馈问题

YOLOFuse贡献指南发布&#xff1a;欢迎提交PR与Issue反馈问题 在智能监控、自动驾驶和安防巡检等现实场景中&#xff0c;我们常常面临一个棘手的问题&#xff1a;夜晚、雾霾或烟雾环境下&#xff0c;摄像头“看不见”了。传统的基于RGB图像的目标检测模型在这种条件下性能急剧…

作者头像 李华
网站建设 2026/4/18 3:26:39

YOLOFuse日志记录格式:console输出与file保存同步

YOLOFuse日志记录格式&#xff1a;console输出与file保存同步 在智能摄像头遍布街头巷尾的今天&#xff0c;你是否曾想过——为什么有些系统能在漆黑夜晚依然精准识别行人&#xff0c;而另一些却连白天都频频漏检&#xff1f;答案往往藏在“看不见”的地方&#xff1a;不只是模…

作者头像 李华
网站建设 2026/4/18 3:24:51

CosyVoice3支持WAV和MP3格式音频上传,兼容性强使用更便捷

CosyVoice3 支持 WAV 和 MP3 格式音频上传&#xff0c;兼容性强使用更便捷 在语音合成技术迅速普及的今天&#xff0c;用户最关心的问题往往不是模型多深、参数多大&#xff0c;而是——“我录一段手机语音能直接用吗&#xff1f;” 这个看似简单的需求&#xff0c;背后却考验着…

作者头像 李华
网站建设 2026/4/18 3:27:58

YOLOFuse Ubuntu系统兼容性测试:Linux环境稳定运行

YOLOFuse Ubuntu系统兼容性测试&#xff1a;Linux环境稳定运行 在低光照、烟雾弥漫或夜间环境中&#xff0c;传统基于可见光的目标检测系统常常“失明”——图像模糊、对比度下降&#xff0c;导致目标漏检率飙升。而红外成像恰好能穿透黑暗与遮蔽&#xff0c;捕捉热辐射信息&am…

作者头像 李华