用c语言建立一个通信录:定义两个结构体friends_list和birth。其中friends_lis包含姓名、生日、电话号码,birth包含年、月、日。然后定义两个函数分别用于输入和输出一个通迅录的内容。并输出代码
时间: 2024-09-07 15:04:10 浏览: 134
在C语言中,您可以使用结构体(`struct`)来定义复合数据类型,这样可以很容易地组织和管理相关的数据项。下面是按照您的要求创建通讯录的示例代码,包括两个结构体`friends_list`和`birth`,以及输入和输出通讯录内容的两个函数。
```c
#include <stdio.h>
#include <string.h>
// 定义birth结构体,包含年月日
struct birth {
int year;
int month;
int day;
};
// 定义friends_list结构体,包含姓名、生日、电话号码
struct friends_list {
char name[50];
struct birth birthday;
char phone_number[20];
};
// 函数声明
void inputFriendInfo(struct friends_list *friend);
void outputFriendInfo(const struct friends_list *friend);
int main() {
struct friends_list friend1;
// 输入通讯录信息
inputFriendInfo(&friend1);
// 输出通讯录信息
outputFriendInfo(&friend1);
return 0;
}
// 输入通讯录信息的函数实现
void inputFriendInfo(struct friends_list *friend) {
printf("请输入姓名: ");
scanf("%49s", friend->name); // 限制输入长度以避免溢出
printf("请输入生日(年 月 日): ");
scanf("%d %d %d", &friend->birthday.year, &friend->birthday.month, &friend->birthday.day);
printf("请输入电话号码: ");
scanf("%19s", friend->phone_number); // 限制输入长度以避免溢出
}
// 输出通讯录信息的函数实现
void outputFriendInfo(const struct friends_list *friend) {
printf("\n通讯录信息:\n");
printf("姓名:%s\n", friend->name);
printf("生日:%d年%d月%d日\n", friend->birthday.year, friend->birthday.month, friend->birthday.day);
printf("电话号码:%s\n", friend->phone_number);
}
```
这段代码首先定义了两个结构体`birth`和`friends_list`,然后实现了两个函数`inputFriendInfo`和`outputFriendInfo`,分别用于输入和输出通讯录信息。在`main`函数中,我们创建了一个`friends_list`类型的变量`friend1`,并调用这两个函数来演示输入和输出过程。
阅读全文