介绍
制作一个简单的通讯录是C语言初学者学习的一个非常有趣的项目。本教程将为大家提供一个完整的实现过程,旨在帮助初学者全面掌握C语言编程的基本技能。
步骤
- 创建一个新的C语言文件。
打开你的编辑器,并创建一个新的C语言文件。保存文件,并为该文件选择一个描述性名称,例如“AddressBook.c”。
- 引入所需的头文件。
通常情况下,我们需要使用stdio.h
和string.h
这两个头文件。stdio.h
头文件包含了我们需要使用的标准输入输出函数,例如printf()
和scanf()
;而string.h
头文件则包含了我们需要使用的字符串操作函数,例如strcpy()
和strlen()
。
#include <stdio.h>
#include <string.h>
- 定义通讯录条目的结构体。
在我们的通讯录程序中,每个条目将包含一个人的姓名、地址和电话号码。我们可以定义一个结构体来存储这些信息。
struct Contact {
char name[100];
char address[100];
char phone[20];
};
在这个结构体中,我们定义了三个变量,分别是name
、address
和phone
。我们使用了char
数据类型的数组来保存这些信息。
- 编写主函数。
在我们的主函数中,我们将定义我们的程序中的变量和函数,并控制程序的流程。以下是我们主函数的内容:
int main() {
int i, n;
printf("Welcome to the address book.\n\n");
printf("How many contacts would you like to enter? ");
scanf("%d", &n);
struct Contact contacts[n];
for (i = 0; i < n; i++) {
printf("\nEnter contact %d:\n", i+1);
printf("Name: ");
scanf("%s", contacts[i].name);
printf("Address: ");
scanf("%s", contacts[i].address);
printf("Phone: ");
scanf("%s", contacts[i].phone);
}
printf("\n");
for (i = 0; i < n; i++) {
printf("Contact %d:\n", i+1);
printf("Name: %s\n", contacts[i].name);
printf("Address: %s\n", contacts[i].address);
printf("Phone: %s\n\n", contacts[i].phone);
}
return 0;
}
首先,我们定义了i
和n
两个变量,i
代表for
循环的变量,n
代表要输入的联系人数量。
接下来,我们打印欢迎信息,并询问用户需要输入的联系人数。
接着,我们使用用户输入的联系人数动态创建一个结构体数组。
然后,我们使用for
循环来读取用户输入的联系人信息。
最后,我们使用另一个for
循环来打印保存的所有联系人信息。
- 运行程序。
现在,我们可以用编译器编译和运行我们的程序。如果一切顺利,你应该已经看到了一个友好的提示然后输入联系人信息。
附带的示例:
- 我们将添加一个“delete”函数来删除通讯录中的联系人。
我们可以使用循环,通过循环创建一个新的结构体数组,并将我们想要保留的联系人复制到新的数组中。
void deleteContact(struct Contact contacts[], int n, int index) {
int i, j;
for (i = 0, j = 0; i < n; i++) {
if (i != index) {
strcpy(newContacts[j].name, contacts[i].name);
strcpy(newContacts[j].address, contacts[i].address);
strcpy(newContacts[j].phone, contacts[i].phone);
j++;
}
}
memcpy(contacts, newContacts, sizeof(newContacts));
}
- 我们可以添加一个“search”函数来按姓名搜索通讯录中的联系人。
我们可以使用循环来搜索我们的结构体数组,找到匹配的姓名。
void searchContact(struct Contact contacts[], int n, char* name) {
int i, found = 0;
for (i = 0; i < n; i++) {
if (!strcmp(contacts[i].name, name)) {
printf("Contact Found:\n");
printf("Name: %s\n", contacts[i].name);
printf("Address: %s\n", contacts[i].address);
printf("Phone: %s\n", contacts[i].phone);
found = 1;
break;
}
}
if (!found) {
printf("Contact not found.\n");
}
}
以上是关于制作通讯录的完整攻略,希望可以对你学习C语言编程有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现制作通讯录(新手推荐) - Python技术站