news 2026/6/9 20:59:31

实验4 guochenghua

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实验4 guochenghua

T1增加数据

#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 deleteld; char confirm; FILE *fp; fp = fopen("farms.txt","r"); if (fp == NULL){ printf("错误:无法打开farm.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] %-12s",farms[i].id,farms[i].name); if ((i + 1) % 3 ==0){ printf("\n"); } } printf("\n--------------\n"); printf("请输入要删除的产地ID:"); scanf("%d",&deleteld); int targetlndex = -1; for (int i = 0;i < count;i++){ if (farms[i].id == deleteld){ targetlndex = i; break; } } if (targetlndex == -1){ printf("错误:未找到ID为%d的记录。\n",deleteld); return 0; } printf("\n拟删除记录详情:\n"); printf("ID:%d|名称:%s|产量:%d吨\n", farms[targetlndex].id,farms[targetlndex].name, farms[targetlndex].yield); printf("警告:此操作不可撤回!确定删除吗?(y/n):"); getchar(); scanf("%c",&confirm); if (confirm != 'y' && confirm != 'Y'){ printf("操作已安全取消。\n"); return 0; } for (int i = targetlndex;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",farms[i].id,farms[i].name,farms[i].yield); } fclose(fp); printf("成功:ID为%d的记录已从系统中彻底移除。\n",deleteld); return 0; }

T2删除信息

#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 deleteld; char confirm; FILE *fp; fp = fopen("farms.txt","r"); if (fp == NULL){ printf("错误:无法打开farm.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] %-12s",farms[i].id,farms[i].name); if ((i + 1) % 3 ==0){ printf("\n"); } } printf("\n--------------\n"); printf("请输入要删除的产地ID:"); scanf("%d",&deleteld); int targetlndex = -1; for (int i = 0;i < count;i++){ if (farms[i].id == deleteld){ targetlndex = i; break; } } if (targetlndex == -1){ printf("错误:未找到ID为%d的记录。\n",deleteld); return 0; } printf("\n拟删除记录详情:\n"); printf("ID:%d|名称:%s|产量:%d吨\n", farms[targetlndex].id,farms[targetlndex].name, farms[targetlndex].yield); printf("警告:此操作不可撤回!确定删除吗?(y/n):"); getchar(); scanf("%c",&confirm); if (confirm != 'y' && confirm != 'Y'){ printf("操作已安全取消。\n"); return 0; } for (int i = targetlndex;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",farms[i].id,farms[i].name,farms[i].yield); } fclose(fp); printf("成功:ID为%d的记录已从系统中彻底移除。\n",deleteld); return 0; }

T3修改信息

#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 targetld,choice; 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("---当前系统内的产地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",&targetld); int index = -1; for (int i = 0;i < count;i++){ if (farms[i].id == targetld){ index = i; break; } } if (index == -1){ printf("未找到ID为%d的记录。\n",targetld); 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)\n"); 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",targetld); return 0; }

T4查询信息

#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; fp = fopen("farms.txt","r"); if (fp == NULL){ printf("错误:无法打开farms.txt,请确保文件已存在。\n"); return 1; } 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"); while (fscanf(fp,"%d %s %d",&temp.id,temp.name,&temp.yield) == 3){ if (temp.yield > threshold){ printf("%-10d %-20s %-10d\n",temp.id,temp.name,temp.yield); foundCount++; } } if (foundCount == 0){ printf("未找到产量超过%d的记录。\n",threshold); }else { printf("-------------------------------------------\n"); printf("查询完毕,共找到%d条记录。\n",foundCount); } fclose(fp); return 0; }

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

C#不安全类型与别名定义实战指南(高级开发必知的5个关键点)

第一章&#xff1a;C#不安全类型与别名定义的核心概念在C#编程中&#xff0c;处理底层内存操作和提升代码可读性时&#xff0c;不安全类型与类型别名是两个关键特性。它们分别解决了直接内存访问的性能需求与复杂类型声明的简洁性问题。不安全类型的使用场景 C#允许通过unsafe关…

作者头像 李华
网站建设 2026/6/9 21:05:01

YOLOv5到YOLOv8迁移指南:代码兼容性与性能对比分析

YOLOv5到YOLOv8迁移指南&#xff1a;代码兼容性与性能对比分析 在智能监控、自动驾驶和工业质检等场景中&#xff0c;目标检测技术正变得越来越关键。而YOLO系列作为该领域最具代表性的实时检测框架之一&#xff0c;已经从最初的YOLOv1演进到了如今由Ultralytics主导开发的YOLO…

作者头像 李华
网站建设 2026/6/9 21:08:11

YOLOv8数据增强策略揭秘:Mosaic与MixUp应用

YOLOv8数据增强策略揭秘&#xff1a;Mosaic与MixUp应用 在目标检测的实际项目中&#xff0c;我们常常面临这样的困境&#xff1a;标注数据有限、小目标难以识别、模型训练波动剧烈。尤其是在工业质检或无人机巡检这类场景下&#xff0c;微小缺陷或远距离物体的漏检率居高不下&a…

作者头像 李华
网站建设 2026/6/9 21:33:15

一种三合一的UWB蓝牙LORA定位工卡介绍

UWB-BLE-LoRa三合一人员定位工卡。该工卡深度融合UWB&#xff08;厘米级精准定位&#xff09;、蓝牙&#xff08;区域感知与信标&#xff09;与LoRa&#xff08;超远距离、低功耗数据传输&#xff09;技术。适用于大型工厂、建筑工地、养老院等场景&#xff0c;能实现室内外无缝…

作者头像 李华
网站建设 2026/6/9 21:00:50

YOLOv8在智慧农业中的病虫害识别应用实例

YOLOv8在智慧农业中的病虫害识别应用实例 在一片广袤的辣椒田里&#xff0c;清晨的露水还未散去&#xff0c;摄像头已悄然完成新一轮拍摄。几秒钟后&#xff0c;系统提示&#xff1a;“蚜虫密度上升&#xff0c;建议三天内开展生物防治。” 这不是科幻场景&#xff0c;而是如今…

作者头像 李华