news 2026/9/13 2:20:36

Homework

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Homework

1.

#include <stdio.h> #include <stdlib.h> typedef struct { int id; char name[50]; int yield; } OrangeFarm; int main() { FILE *fp; OrangeFarm new_farm; printf("--- 廉江红橙产地数据追加 ---\n"); printf("请输入新增产地信息(格式:ID 名称 产量) :\n"); if (scanf("%d %s %d", &new_farm.id, new_farm.name, &new_farm.yield) != 3) { printf("输入格式错误。\n"); return 1; } fp=fopen("farms.txt","a"); if (fp == NULL) { printf("错误:无法打开文件进行追加!\n"); return 1; } fprintf(fp, "%d %s %d\n", new_farm.id, new_farm.name, new_farm.yield); 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] %-12s", 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; }

若有数据 输入ID后要求确认 确认后自动退出

3.

#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 targetId, 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++; if (count >= 100) { printf("警告:已达到最大记录数(100条)\n"); break; } } 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", &targetId); int 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; 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/9/12 16:52:22

炉石传说脚本终极指南:新手10分钟快速上手指南

炉石传说脚本终极指南&#xff1a;新手10分钟快速上手指南 【免费下载链接】Hearthstone-Script Hearthstone script&#xff08;炉石传说脚本&#xff09;&#xff08;2024.01.25停更至国服回归&#xff09; 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Scrip…

作者头像 李华
网站建设 2026/9/7 0:13:07

Monaco Editor实战指南:解决前端开发中的5大痛点

Monaco Editor实战指南&#xff1a;解决前端开发中的5大痛点 【免费下载链接】monaco-editor-docs monaco-editor 中文文档 项目地址: https://gitcode.com/gh_mirrors/mo/monaco-editor-docs 你是否曾经在开发在线代码编辑器时感到力不从心&#xff1f;面对复杂的语法高…

作者头像 李华
网站建设 2026/9/12 14:56:45

NifSkope实战手册:5个技巧让你成为3D模型编辑高手

NifSkope实战手册&#xff1a;5个技巧让你成为3D模型编辑高手 【免费下载链接】nifskope A git repository for nifskope. 项目地址: https://gitcode.com/gh_mirrors/ni/nifskope 还在为游戏模型打不开而烦恼&#xff1f;面对复杂的NIF格式文件束手无策&#xff1f;别担…

作者头像 李华
网站建设 2026/9/11 9:16:20

STIX Two字体终极应用指南:高效打造专业学术文档

STIX Two字体终极应用指南&#xff1a;高效打造专业学术文档 【免费下载链接】stixfonts OpenType Unicode fonts for Scientific, Technical, and Mathematical texts 项目地址: https://gitcode.com/gh_mirrors/st/stixfonts 在学术写作的世界里&#xff0c;你是否曾为…

作者头像 李华
网站建设 2026/9/7 6:24:09

D2Admin轻松上手:30分钟打造专业后台管理系统

D2Admin轻松上手&#xff1a;30分钟打造专业后台管理系统 【免费下载链接】d2-admin 项目地址: https://gitcode.com/gh_mirrors/d2a/d2-admin 还在为开发企业级后台系统而烦恼吗&#xff1f;面对复杂的权限体系、多样的界面布局、繁琐的状态管理&#xff0c;是否感到力…

作者头像 李华
网站建设 2026/9/11 11:54:19

Scratch转HTML完全指南:轻松实现跨平台分享与离线编程

Scratch转HTML完全指南&#xff1a;轻松实现跨平台分享与离线编程 【免费下载链接】htmlifier The HTMLifier "converts" Scratch 3.0 projects to an HTML file by putting all the project data and the entire Scratch engine into one enormous file 项目地址:…

作者头像 李华