C语言做的城市天气数据管理与统计

天气管理系统

一个用C语言编写的简单天气数据管理系统,可以管理多个城市的天气信息。

功能特性

  • ✅ 添加城市天气信息(温度、湿度、天气状况)
  • ✅ 显示所有城市天气数据
  • ✅ 搜索特定城市的天气信息
  • ✅ 按温度排序城市
  • ✅ 查找最高/最低温度
  • ✅ 显示天气统计信息
  • ✅ 数据持久化存储(文件保存/加载)
  • ✅ 友好的中文界面

文件结构

bash 复制代码
tianqi/
├── weather.c      # 主程序文件
├── weather.h      # 头文件
├── cities.txt     # 示例数据文件
└── README.md      # 说明文档

编译和运行

编译命令

bash 复制代码
# 编译程序
gcc -Wall -Wextra -std=c99 -g -o weather weather.c

# 运行程序
./weather          # Linux/Mac
weather.exe        # Windows

编译选项说明

  • -Wall - 启用所有警告
  • -Wextra - 启用额外警告
  • -std=c99 - 使用C99标准
  • -g - 包含调试信息
  • -o weather - 指定输出文件名

使用说明

  1. 启动程序后会自动加载 cities.txt 中的数据
  2. 根据菜单提示选择相应功能
  3. 程序退出时会自动保存数据

菜单选项

  • 1 - 添加城市天气信息
  • 2 - 显示所有城市天气
  • 3 - 搜索城市天气
  • 4 - 按温度排序
  • 5 - 查找最高/最低温度
  • 6 - 显示天气统计
  • 7 - 保存数据
  • 8 - 加载数据
  • 0 - 退出程序

数据结构

c 复制代码
typedef struct {
    char name[MAX_NAME_LEN];        // 城市名称
    float temperature;              // 温度(摄氏度)
    int humidity;                   // 湿度(百分比)
    char weather[MAX_NAME_LEN];     // 天气状况
} CityWeather;

示例数据

程序包含了一些示例城市数据:

  • 北京:15.5°C,45%湿度,晴天
  • 上海:18.2°C,60%湿度,多云
  • 广州:25.8°C,70%湿度,雨天
  • 等等...

系统要求

  • C编译器(如 GCC)
  • 支持 C99 标准
  • Windows/Linux/macOS 系统

注意事项

  • 最多支持100个城市
  • 城市名称最大长度50字符
  • 数据自动保存到 cities.txt 文件
  • 程序退出时会自动保存当前数据

扩展功能建议

  • 添加日期时间信息
  • 支持更多天气类型
  • 添加数据验证
  • 实现网络天气API接口
  • 添加图形界面
相关推荐
无敌昊哥战神2 分钟前
【算法与数据结构】深入浅出回溯算法:理论基础与核心模板(C/C++与Python三语解析)
c语言·数据结构·c++·笔记·python·算法
zore_c4 分钟前
【C++】基础语法(命名空间、引用、缺省以及输入输出)
c语言·开发语言·数据结构·c++·经验分享·笔记
许彰午6 分钟前
# 政务表单动态建表?运行时DDL引擎,前端拖完字段后端直接建
java·前端·后端·架构·政务
akarinnnn6 分钟前
【DAY16】字符函数和字符串函数
c语言·数据结构·算法
宸津-代码粉碎机8 分钟前
Spring Boot 4.0 进阶实战+源码解析系列(持续更新)—— 从落地到源码,搞定面试与工作
java·人工智能·spring boot·后端·python·面试
Tairitsu_H16 分钟前
C语言:排序(二)
c语言·开发语言·算法
XMYX-017 分钟前
07 - Go 函数(上):定义、参数、返回值与实战技巧
开发语言·后端·golang
一灯架构9 小时前
90%的人答错!一文带你彻底搞懂ArrayList
java·后端
.Ashy.9 小时前
2026.4.11 蓝桥杯软件类C/C++ G组山东省赛 小记
c语言·c++·蓝桥杯
2401_8920709810 小时前
链栈(链式栈) 超详细实现(C 语言 + 逐行精讲)
c语言·数据结构·链栈