C语言2月17日

本文介绍了一个使用C语言编写的宠物信息管理系统,包括插入、遍历、修改和查找宠物的功能,通过结构体和数组实现对宠物名字、品种和年龄的管理。
摘要由CSDN通过智能技术生成

题目:

要求用结构体数组,完成宠物信息登记管理。 管理宠物的名字,品种,年龄。 实现功能如下: 1. 插入宠物信息 2. 遍历宠物信息 3. 根据名字修改宠物年龄 4. 根据名字查找宠物信息

代码:

#include <stdio.h>  
#include <string.h>  
  
#define MAX_PETS 100  // 假设最多有100只宠物  
#define MAX_NAME_LENGTH 50  // 假设宠物名字最长为50个字符  
  
// 定义宠物信息的结构体  
typedef struct {  
    char name[MAX_NAME_LENGTH];  
    char breed[MAX_NAME_LENGTH];  
    int age;  
} Pet;  
  
// 定义宠物信息数组  
Pet pets[MAX_PETS];  
int petCount = 0;  // 当前宠物数量  
  
// 插入宠物信息  
void insertPet(const char* name, const char* breed, int age) {  
    if (petCount >= MAX_PETS) {  
        printf("宠物数量已达到上限!\n");  
        return;  
    }  
  
    strncpy(pets[petCount].name, name, MAX_NAME_LENGTH);  
    strncpy(pets[petCount].breed, breed, MAX_NAME_LENGTH);  
    pets[petCount].age = age;  
    petCount++;  
  
    printf("宠物信息插入成功!\n");  
}  
  
// 遍历宠物信息  
void listPets() {  
    for (int i = 0; i < petCount; i++) {  
        printf("宠物名字:%s, 品种:%s, 年龄:%d\n", pets[i].name, pets[i].breed, pets[i].age);  
    }  
}  
  
// 根据名字修改宠物年龄  
void updatePetAge(const char* name, int newAge) {  
    for (int i = 0; i < petCount; i++) {  
        if (strcmp(pets[i].name, name) == 0) {  
            pets[i].age = newAge;  
            printf("宠物年龄更新成功!\n");  
            return;  
        }  
    }  
  
    printf("未找到该宠物!\n");  
}  
  
// 根据名字查找宠物信息  
void findPet(const char* name) {  
    for (int i = 0; i < petCount; i++) {  
        if (strcmp(pets[i].name, name) == 0) {  
            printf("宠物名字:%s, 品种:%s, 年龄:%d\n", pets[i].name, pets[i].breed, pets[i].age);  
            return;  
        }  
    }  
  
    printf("未找到该宠物!\n");  
}  
  
int main() {  
    // 示例用法  
    insertPet("狗狗", "拉布拉多", 2);  
    insertPet("猫咪", "英短", 1);  
  
    listPets();  
  
    updatePetAge("狗狗", 3);  
  
    findPet("猫咪");  
  
    return 0;  
}

运行结果:

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值