news 2026/3/11 0:23:49

Tang Yaqian

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Tang Yaqian

1

#include <stdio.h> #include <stdlib.h> typedef struct{ int id; char name[50];//产地名称 int yield; //产量(吨) }OrangeFarm; int main(){ OrangeFarm new_farm;//本次只需定义一个结构体变量用于追加 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,确保下一条追加的数据能另起一行 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; }

2

#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; }

3

#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; }

4

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { int id; char name[50]; int yield; } OrangeFarm; int main(void) { FILE *fp; OrangeFarm temp; int threshold; int foundCount = 0; printf("----------- 廉江红橙产量筛选系统 -----------\n"); fp = fopen("farms.txt", "r"); if (fp == NULL) { printf("错误:无法打开数据文件 farms.txt,请确保文件已存在。\n"); return 1; } 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"); while (fscanf(fp, "%d %49s %d", &temp.id, temp.name, &temp.yield) == 3) { if (temp.yield > threshold) { printf("%-10d %-20s %-10d\n", temp.id, temp.name, temp.yield); foundCount++; } } printf("-------------------------------------------\n"); if (foundCount == 0) { printf("未找到产量超过 %d 吨的记录。\n", threshold); } else { printf("查询完毕,共找到 %d 条记录。\n", foundCount); } fclose(fp); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/10 22:10:02

跨平台串口调试实战指南:从入门到精通的完整解决方案

跨平台串口调试实战指南&#xff1a;从入门到精通的完整解决方案 【免费下载链接】sscom Linux/Mac版本 串口调试助手 项目地址: https://gitcode.com/gh_mirrors/ss/sscom 你是否曾在硬件调试过程中遇到过这样的困扰&#xff1a;串口通信不稳定、数据收发异常、参数配置…

作者头像 李华
网站建设 2026/3/4 7:23:20

PyTorch-CUDA-v2.6镜像在代码生成模型StarCoder训练中的实践

PyTorch-CUDA-v2.6镜像在代码生成模型StarCoder训练中的实践深度学习工程化的现实挑战 想象这样一个场景&#xff1a;团队中三位工程师同时准备复现一篇关于代码生成的论文&#xff0c;他们分别使用不同的本地环境——有人是 Ubuntu CUDA 11.8&#xff0c;有人用的是 WSL2 下的…

作者头像 李华
网站建设 2026/3/7 15:35:19

内存清理神器Mem Reduct:让老旧电脑重获新生,系统加速只需一键

还在为电脑卡顿、程序响应慢而烦恼吗&#xff1f;当你打开几个浏览器标签、办公软件后&#xff0c;系统就开始变得"气喘吁吁"&#xff0c;这时候就是内存清理工具大显身手的时候了&#xff01;今天我要向大家推荐一款真正有效的内存管理软件——Mem Reduct&#xff0…

作者头像 李华
网站建设 2026/3/9 16:44:27

AssetStudio终极指南:从零开始掌握Unity资源提取完整流程

AssetStudio终极指南&#xff1a;从零开始掌握Unity资源提取完整流程 【免费下载链接】AssetStudio 项目地址: https://gitcode.com/gh_mirrors/asse/AssetStudio 还在为Unity资源提取而烦恼吗&#xff1f;AssetStudio作为一款功能强大的Unity资源分析工具&#xff0c;…

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

专业歌词获取工具技术解析与最佳实践

在数字音乐时代&#xff0c;歌词获取工具已成为音乐爱好者和内容创作者的必备软件。本文将深入分析一款专业的音乐歌词下载工具的技术实现原理&#xff0c;并提供详细的配置指南和使用技巧&#xff0c;帮助用户充分发挥工具的实际价值。 【免费下载链接】163MusicLyrics Window…

作者头像 李华
网站建设 2026/3/8 3:08:06

智能抢红包助手:让你的手机自动帮你抢红包

你是否曾经因为工作繁忙而错过了群聊中的红包&#xff1f;是否感觉手动抢红包总是比别人慢半拍&#xff1f;在社交互动日益频繁的今天&#xff0c;抢红包已经成为我们日常生活中的重要环节。AutoRobRedPackage智能抢红包助手正是为了解决这些痛点而生&#xff0c;通过创新的自动…

作者头像 李华