下面是用C语言实现一个电话薄的攻略。
1. 确定数据结构
首先需要确定电话薄的数据结构,可以使用结构体类型来表示每个联系人,包括姓名和电话号码两个元素。代码如下:
struct Contact {
char name[20];
char phone[12];
};
2. 实现主函数
主函数负责用户的交互,可以使用一个数组来存储电话薄中的联系人信息。具体实现过程如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Contact {
char name[20];
char phone[12];
};
int main()
{
int num = 0;
struct Contact contacts[10];
while (1) {
printf("\n请选择要进行的操作:\n");
printf("1. 添加联系人\n");
printf("2. 查找联系人\n");
printf("3. 显示所有联系人\n");
printf("4. 退出电话薄\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
if (num < 10) {
printf("\n请输入联系人姓名和电话号码:\n");
scanf("%s %s", contacts[num].name, contacts[num].phone);
printf("添加联系人成功!\n");
num++;
} else {
printf("\n电话薄已满,无法添加联系人。\n");
}
break;
case 2:
printf("\n请输入要查找的联系人姓名:\n");
char name[20];
scanf("%s", name);
for (int i = 0; i < num; i++) {
if (strcmp(name, contacts[i].name) == 0) {
printf("\n%s 的电话号码是:%s\n", name, contacts[i].phone);
break;
}
if (i == num - 1) {
printf("\n未找到 %s 的联系人信息。\n", name);
}
}
break;
case 3:
if (num == 0) {
printf("\n电话薄为空。\n");
} else {
printf("\n电话薄中的联系人如下:\n");
for (int i = 0; i < num; i++) {
printf("%s\t%s\n", contacts[i].name, contacts[i].phone);
}
}
break;
case 4:
printf("\n感谢使用电话薄,再见!\n");
exit(0);
default:
printf("\n输入有误,请输入 1-4 中的一个数字。\n");
}
}
return 0;
}
3. 添加联系人
用户选择添加联系人后,程序会要求用户输入联系人的姓名和电话号码,并将其添加到数组中。添加联系人的代码如下:
if (num < 10) {
printf("\n请输入联系人姓名和电话号码:\n");
scanf("%s %s", contacts[num].name, contacts[num].phone);
printf("添加联系人成功!\n");
num++;
} else {
printf("\n电话薄已满,无法添加联系人。\n");
}
其中,num 表示电话薄中联系人的个数。如果 num 小于 10,则可以添加联系人;否则提示电话薄已满。
4. 查找联系人
用户选择查找联系人后,程序会要求用户输入要查找的联系人姓名,并在数组中查找对应的电话号码。代码如下:
printf("\n请输入要查找的联系人姓名:\n");
char name[20];
scanf("%s", name);
for (int i = 0; i < num; i++) {
if (strcmp(name, contacts[i].name) == 0) {
printf("\n%s 的电话号码是:%s\n", name, contacts[i].phone);
break;
}
if (i == num - 1) {
printf("\n未找到 %s 的联系人信息。\n", name);
}
}
其中,strcmp 函数用于判断两个字符串是否相等。如果找到对应的联系人,则输出电话号码;否则输出未找到的提示信息。
示例说明
以下是两个电话薄的使用示例,以便更好地理解程序的实现。
示例1
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1
请输入联系人姓名和电话号码:
张三 12345678910
添加联系人成功!
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1
请输入联系人姓名和电话号码:
李四 98765432101
添加联系人成功!
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
3
电话薄中的联系人如下:
张三 12345678910
李四 98765432101
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
2
请输入要查找的联系人姓名:
李四
李四 的电话号码是:98765432101
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
2
请输入要查找的联系人姓名:
王五
未找到王五的联系人信息。
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
4
感谢使用电话薄,再见!
示例2
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1
请输入联系人姓名和电话号码:
张三 12345678910
添加联系人成功!
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
2
请输入要查找的联系人姓名:
李四
未找到李四的联系人信息。
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
3
电话薄中的联系人如下:
张三 12345678910
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1
请输入联系人姓名和电话号码:
李四 98765432101
添加联系人成功!
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
3
电话薄中的联系人如下:
张三 12345678910
李四 98765432101
请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
4
感谢使用电话薄,再见!
以上就是用C语言实现一个电话薄的完整攻略,希望对你有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用c语言实现一个电话薄(附完整代码) - Python技术站