主程序
#include <stdio.h>
#include <stdlib.h>
#include "./cw_head.h"
#define n 50
// 管理宠物的名字,品种,年龄。
// 实现功能如下:
// 1. 插入宠物信息
// 2. 遍历宠物信息
// 3. 根据名字修改宠物年龄
// 4. 根据名字查找宠物信息
int main(int argc, char const *argv[])
{
cwu system[n];
int num = 0; // 宠物个数
int choose;
while (1)
{
printf("-----------------------------\n");
printf("---1. 插入宠物信息------------\n");
printf("---2. 遍历宠物信息------------\n");
printf("---3. 根据名字修改宠物年龄-----\n");
printf("---4. 根据名字查找宠物信息-----\n");
printf("---5. 退出--------------------\n");
printf("------------------------------\n");
printf("输入序号进行对应的操作:\n");
scanf("%d", &choose);
getchar();
switch (choose)
{
case 1:
// 插入宠物信息
chongwuMsg(system, &num);
printf("宠物个数num = %d\n", num); // 打印个数
break;
case 2:
// 遍历宠物信息
chongwu_bianli(system, num);
break;
case 3:
// 根据名字修改宠物年龄
xiugai(system, num);
break;
case 4:
// 根据名字查找宠物信息
select(system, num);
break;
case 5:
// 退出
printf("退出成功\n");
goto end;
break;
default:
printf("序号输入错误,请重新输入!!!\n");
break;
}
}
end:
return 0;
}
头文件
#ifndef __func_h__
#define __func_h__
//宠物信息
typedef struct chongwu
{
char name[20]; //名字
char pinz[20]; //品种
int age; //年龄
}cwu;
void chongwuMsg(cwu *msg, int *pnum); //宠物信息
void chongwu_bianli(cwu *bmsg, int num); //遍历信息
void xiugai(cwu *xiugai, int num); //修改
void select(cwu *select, int num); //查找信息
#endif
调用函数的程序
#include <stdio.h>
#include <string.h>
#include "./cw_head.h"
// 宠物信息函数
void chongwuMsg(cwu *msg, int *pnum)
{
printf("请输入宠物名字:");
scanf("%s", (msg + *pnum)->name);
getchar();
printf("请输入宠物品种:");
scanf("%s", (msg + *pnum)->pinz);
getchar();
printf("请输入宠物年龄:");
scanf("%d", &((msg + *pnum)->age));
getchar();
(*pnum)++;
return;
}
// 宠物信息遍历
void chongwu_bianli(cwu *bmsg, int num)
{
int i = 0;
for (i = 0; i < num; i++)
{
printf("%s %s %d\n", bmsg[i].name, bmsg[i].pinz, bmsg[i].age);
}
return;
}
// 根据名字修改宠物年龄
void xiugai(cwu *xiugai, int num)
{
printf("输入宠物名字以修改其年龄:");
char xname[10];
scanf("%s", xname);
int i;
for (i = 0; i < num; i++)
{
if (strcmp(xiugai[i].name, xname) == 0)
{
printf("请输入要修改的年龄:");
scanf("%d", &xiugai[i].age);
break;
}
else
{
printf("宠物名字输入错误,请正确输入\n");
}
}
}
// 根据名字查找宠物信息
void select(cwu *select, int num)
{
printf("输入宠物名字查找相关信息:");
char cname[10];
scanf("%s", cname);
int i = 0;
for (i = 0; i < num; i++)
{
if (strcmp(select[i].name, cname) == 0)
{
printf("相关信息如下:\n");
printf("名字=%s 品种=%s 年龄=%d\n", select[i].name, select[i].pinz, select[i].age);
break;
}
else
{
printf("宠物名字输入错误,请正确输入\n");
}
}
}