用c语言编写一个程序,有一个电话簿,能根据名字查找其对应的电话号码,如果没有这个人则输出查无此人
时间: 2024-09-08 22:00:44 浏览: 39
C语言课程设计小项目:电话簿程序qt5.15工程源码,供课程设计,C语言编程学习,项目设计学习使用
为了在C语言中编写一个简单的电话簿程序,我们可以使用结构体(struct)来存储姓名和电话号码,以及一个数组来存储电话簿的内容。这里是一个基本的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义电话簿条目结构体
typedef struct {
char name[50];
char phone_number[15];
} Person;
// 打印电话簿条目的函数
void print_person(Person p) {
printf("Name: %s\nPhone Number: %s\n", p.name, p.phone_number);
}
int main() {
// 初始化电话簿大小
const int capacity = 5;
Person phone_book[capacity]; // 电话簿数组
int num_of_people = 0; // 当前人数
// 插入记录(如果空间允许)
while (num_of_people < capacity && scanf("%s %s", phone_book[num_of_people].name, phone_book[num_of_people].phone_number) == 2) {
num_of_people++;
}
// 检索特定人的电话号码
char search_name[50];
printf("Enter a name to search for: ");
fgets(search_name, sizeof(search_name), stdin); // 防止读取换行符
search_name[strlen(search_name) - 1] = '\0'; // 删除换行符
// 查找并打印结果
for (int i = 0; i < num_of_people; i++) {
if (strcmp(phone_book[i].name, search_name) == 0) {
print_person(phone_book[i]);
break;
} else {
printf("No record found for '%s'\n", search_name);
}
}
return 0;
}
```
在这个程序中,用户可以输入一些姓名和电话号码,直到达到预设的容量为止。然后,当查询某个名字时,会遍历电话簿找到匹配项并显示,如果没有找到,则提示“查无此人”。
阅读全文