设为首页 加入收藏

TOP

怎么用C语言实现一个通讯录?(二)
2018-05-21 15:48:29 】 浏览:521
Tags:怎么 语言 实现 一个 通讯录
me, pc->data[i].name)==0) return i;//所查找联系人存在 } return -1;//不存在 } void InitContact(pContact pc)//初始化通讯录 { assert(pc); pc->count = 0; memset(pc->data, 0, sizeof(pc->data)); } void AddContact(pContact pc)//添加联系人 { assert(pc); if (pc->count == MAX_PEO) { printf("请注意,通讯录已满!\n"); return; } printf("-----------------------------------------\n"); printf("请输入名字:"); scanf("%s", pc->data[pc->count].name); printf("请输入性别:"); scanf("%s", pc->data[pc->count].sex); printf("请输入年龄:"); scanf("%d", &(pc->data[pc->count].age)); printf("请输入电话:"); scanf("%s", pc->data[pc->count].phone); printf("请输入地址:"); scanf("%s", pc->data[pc->count].address); pc->count++; printf("-----------------------------------------\n"); } void DeleteContact(pContact pc)//删除联系人 { assert(pc); if (pc->count == 0) { printf("通讯录为空\n"); return; } else { int ret = find_person(pc);//查找有无该联系人,若有,则返回该联系人下标;若无,返回-1。 if (ret == -1) { printf("无该联系人!\n"); return; } else { int i = 0; for (i = ret; i < pc->count; i++)//删除指定联系人后,将后续联系人往前移动 { pc->data[i] = pc->data[i + 1]; } pc->count--; printf("删除联系人成功!\n"); } } } void SearchContact(pContact pc)//查找指定联系人 { assert(pc); if (pc->count == 0) { printf("通讯录为空\n"); return; } int ret = find_person(pc);//查找有无该联系人,若有,则返回该联系人下标;若无,返回-1。 if (ret == -1) { printf("无该联系人!\n"); return; } else { printf("-----------------------------------------\n"); printf("该联系人信息:\n");//打印该联系人信息 printf("名字: %s\n性别: %s\n年龄: %d\n电话: %s\n地址: %s\n", pc->data[ret].name, pc->data[ret].sex, pc->data[ret].age, pc->data[ret].phone, pc->data[ret].address); printf("-----------------------------------------\n"); } } void ModifyContact(pContact pc)//修改指定联系人信息 { assert(pc); if (pc->count == 0) { printf("通讯录为空\n"); return; } int ret = find_person(pc);//查找有无该联系人,若有,则返回该联系人下标;若无,返回-1。 if (ret == -1) { printf("无该联系人!\n"); return; } else { int input = 0; Mod_list();//修改联系人信息的选项 printf("请选择要修改的信息:"); assert(1 == scanf("%d", &input)); switch (input) { case NAME: printf("请输入修改后的名字:"); scanf("%s", pc->data[ret].name); break; case SEX: printf("请输入修改后的性别:"); scanf("%s", pc->data[ret].sex); break; case AGE: printf("请输入修改后的年龄:"); scanf("%s", pc->data[ret].age); break; case PHONE: printf("请输入修改后的电话:"); scanf("%s", pc->data[ret].phone); break; case ADDRESS: printf("请输入修改后的地址:"); scanf("%s", pc->data[ret].address); break; default: printf("选择错误,请重新选择\n"); break; } } } void ShowContact(pContact pc)//显示 { assert(pc); int i = 0; if (pc->count == 0) { printf("通讯录为空\n"); return; } printf("-----------------------------------------\n"); for (i = 0; i < pc->count; i++) { printf("名字: %s\n性别: %s\n年龄: %d\n电话: %s\n地址: %s\n", pc->data[i].name, pc->data[i].sex, pc->data[i].age, pc->data[i].phone, pc->data[i].address); } printf("--------------------------------------
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言函数传递指针参数的问题详解 下一篇C语言如何实现交换两个数?

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目