在C语言中编写一个简单的通讯录程序涉及到多个步骤,包括数据结构的定义、输入/输出处理以及可能的排序和搜索功能,以下是创建通讯录程序的一个基本指南:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网页空间、营销软件、网站建设、象山网站维护、网站推广。
1. 定义数据结构
我们需要一个结构体来存储联系人的信息。
#include#include // 定义一个结构体来保存联系人信息 typedef struct { char name[50]; // 姓名 char phoneNumber[20]; // 电话号码 char email[50]; // 邮箱地址 } Contact;
2. 初始化数组或动态内存分配
接着,我们可以创建一个数组来保存多个Contact
对象,或者使用动态内存分配(如malloc
)来管理不确定数量的联系人。
// 假设我们想存储100个联系人 #define MAX_CONTACTS 100 Contact contacts[MAX_CONTACTS]; int currentContacts = 0; // 当前通讯录中的联系人数量
3. 添加联系人功能
接下来,我们需要一个函数来添加新的联系人到通讯录中:
void addContact(Contact contact) { if (currentContacts < MAX_CONTACTS) { contacts[currentContacts] = contact; currentContacts++; printf("联系人 %s 已成功添加! ", contact.name); } else { printf("通讯录已满,无法添加更多联系人! "); } }
4. 显示所有联系人
我们还需要一个函数来显示通讯录中的所有联系人:
void displayContacts() { for (int i = 0; i < currentContacts; i++) { printf("%d: %s %s %s ", i+1, contacts[i].name, contacts[i].phoneNumber, contacts[i].email); } }
5. 查找联系人
查找特定联系人的功能可以通过遍历数组并比较姓名来实现:
int findContact(const char* name) { for (int i = 0; i < currentContacts; i++) { if (strcmp(contacts[i].name, name) == 0) { return i; // 如果找到了,返回索引 } } return 1; // 如果没有找到,返回1 }
6. 删除联系人
删除联系人可以通过移动数组中的元素来实现:
void deleteContact(const char* name) { int index = findContact(name); if (index != 1) { for (int i = index; i < currentContacts 1; i++) { contacts[i] = contacts[i + 1]; } currentContacts; printf("联系人 %s 已删除。 ", name); } else { printf("未找到联系人 %s。 ", name); } }
7. 主函数
我们在主函数中组织这些功能:
int main() { // 示例:添加一些联系人到通讯录 addContact({"张三", "1234567890", "zhangsan@example.com"}); addContact({"李四", "0987654321", "lisi@example.com"}); displayContacts(); // 查找并删除一个联系人 deleteContact("张三"); displayContacts(); return 0; }
以上是一个简单的通讯录程序的实现,根据实际需要,你可以添加更多的功能,比如按名字或电话号码排序联系人,或者将通讯录持久化存储到文件等,注意,这个示例代码没有考虑用户输入验证和错误处理,这些在实际的程序中是非常重要的。
新闻名称:c语言怎么写通讯录
分享路径:http://www.stwzsj.com/qtweb/news17/4117.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联