通讯录:

要求:
姓名,性别、电话,最多储存50个联系人
功能:1、添加联系人2、按名字删除联系人3、按姓名修改联系人信息4、查找联系人,可通过电话,名字查找,支持模糊查找5、显示所有联系人信息

代码

#include<stdio.h>
#include<string.h>
#include<getch.h>
#include<stdlib.h>char name[50][20]={};
char sex[50][5]={};
char phone[50][12]={};
int cnt=0;void add(void)
{if(cnt==50){puts("系统升级中");return;}puts("请输入姓名 性别 电话:");scanf("%s%s%s",name[cnt],sex[cnt],phone[cnt]);cnt++;
}void del(void)
{puts("请输入姓名:");char name0[20]={};gets(name0);int ret=0;for(int i=0;i<cnt;i++){if(strcmp(name[i],name0)==0){for(int j=i;j<cnt-1;j++){strcpy(name[j],name[j+1]);}ret=1;cnt--;break;}}ret>0?puts("已删除"):puts("查无此人");
}void change(void)
{puts("请输入姓名:");char name0[20]={};gets(name0);int ret=0;for(int i=0;i<cnt;i++){if(strcmp(name[i],name0)==0){puts("请输入姓名 性别 电话:");scanf("%s%s%s",name[i],sex[i],phone[i]);ret=1;break;}}ret>0?puts("已修改"):puts("查无此人");
}void find(void)
{puts("请输入关键字:");char key[20]={};gets(key);int ret=0;for(int i=0;i<cnt;i++){if(strstr(name[i],key)!=NULL || strstr(sex[i],key)!=NULL || strstr(phone[i],key)!=NULL){printf("%s %s %s\n",name[i],sex[i],phone[i]);ret++;}}ret>0?puts("以上为查询结果"):puts("查无此人");
}void show(void)
{system("clear");for(int i=0;i<cnt;i++){printf("%s %s %s\n",name[i],sex[i],phone[i]);}puts("按任意键继续");stdin->_IO_read_ptr = stdin->_IO_read_end;getch();
}int main(int argc,const char* argv[])
{system("clear");while(1){system("clear");puts("1、添加");puts("2、删除");puts("3、修改");puts("4、查找");puts("5、显示全部联系人");puts("请输入指令");switch(getch()-'0'){case 1: add();break;case 2: del();break;case 3: change();break;case 4: find();break;case 5: show();break;default:system("clear");break;}}
}

学习笔记14-C语言-小项目-通讯录相关推荐

  1. C语言小项目——通讯录的存储系统(静态版,动态版,文件版)

    目录 前言 一.总体设计框架 二.三种通讯录的功能阐述 三.静态通讯录 1.结构体设计 2.初始化通讯录 3.增加联系人的信息 4.删除联系人的信息 5.查找指定联系人并打印 6.修改联系人的信息 7 ...

  2. java小项目租车系统_Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的"呱呱租车系统" 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金 ...

  3. c语言小项目---通讯录2.0

    自从上次通讯录项目被字符串项目整的自闭了之后,用了5天时间重新整理了一下通讯录的思路,并且能够正常的使用,今天按模块把基于链表的通讯录2.0版本记录一下,供后续积累经验. 首先总结一下 通讯录2.0版 ...

  4. C语言小项目 -- 通讯录(静态版+动态版+文件版)

    文章目录 一.总体设计思路 1.设计背景 2.设计框架 3.功能概述 二.通讯录(静态版) 1.结构体设计 2.初始化通讯录 3.添加联系人信息 4.删除联系人信息 5.查找联系人(按姓名) 6.查找 ...

  5. 游戏开发学习笔记——lua脚本语言——安装、汉化与小测试(解决lua运行代码乱码问题)

    游戏开发学习笔记--lua脚本语言--安装.汉化与小测试 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: Lua 是一种轻量小巧的脚本语言,用 ...

  6. C语言学习笔记第五天_项目训练

    C语言学习笔记第五天_项目训练 添加自定义的一个函数库文件 <getch.h> 步骤: 1.在windows中把getch.h放入共享文件夹(文件我放在文末,自取) 2.在Ubuntu终端 ...

  7. C语言小项目之“究极无敌螺旋丸极爆炸狂拽炫酷五彩棒的”通讯录之*派小猩*作品

    C语言小项目之"究极无敌螺旋丸极爆炸狂拽炫酷五彩棒的"通讯录之派小猩作品 项目概述 基于C语言开发一个多功能的通讯录 功能目录 1.增加 2.删除 3.查找 4.修改 5.显示 6 ...

  8. 「学习笔记」品优购项目-上(页面公共部分 )

    「学习笔记」品优购项目-上 品优购项目-上 目标 品优购项目规划 网站制作流程 品优购项目介绍 品优购项目的学习目的 开发工具以及技术栈 开发工具 技术栈 品优购项目搭建工作 创建的文件夹如下(称为项 ...

  9. golang学习笔记之--Go语言内建容器

    话接上文 <golang学习笔记之--Go语言基本语法> 今天继续记录学习笔记,今天的笔记主题是Go语言内建容器 如果各位童鞋想要获得下面的源码,请搜索gzh:隔壁王小猿,关注后回复&qu ...

最新文章

  1. NLP分词数据准备及模型训练实例
  2. noip搜索模拟题 骰子
  3. leetcode算法题--二叉搜索树与双向链表
  4. c语言定义函数insert,c语言编写函数insert(char s1[ ],char s2[ ],int pos),实现在字符串s1中的指定位置pos处插入字符串s2。...
  5. 关于“粪”,你知道多少?【Feign是个什么玩意儿?】
  6. 信用卡到底逾期多少天才会上征信系统?
  7. C++ I/O 流 格式控制(上)
  8. 【学习笔记】ListView初识
  9. 相信阿里只会PPT的“假专家”,随意做数字化转型,活该失败
  10. 一个软件公司需要多少前端_内幕!软件外包公司开发一个软件需要多少钱?
  11. 【转】Windows XP打印共享四大问题及解决方法
  12. 国内自动化测试软件,AutoRunner-国内测试行业专业自动化测试工具成长史
  13. 如何在word中对在论文标题添加脚注,并且去掉脚注的编号
  14. Cpp 语法基础总结
  15. Unity 数据统计SDK TalkingData
  16. 软件测试自学网站有哪些 ?
  17. 网络急速诊断,快速测试网络速度
  18. python 类和对象 atm_Python实现ATM提款机系统
  19. 无法启用网络发现的解决方法
  20. SAP JCo应用方案

热门文章

  1. python关键词提取_python对文件中的关键词查找替换,实现自动获取配置
  2. 检查mysql的replication_MySQL Replication需要注意的问题
  3. 调用另一个cpp的变量_再谈条件变量—从入门到出家
  4. java hibernate dto_java – 正确使用Entity和DTO在Restful Web服务中...
  5. 慕课乐学python单元测试答案_中国大学慕课第三章单元测试答案_乐学软件工程免费答案...
  6. mysql查看事件任务内容_MySql事件计划任务
  7. C# 彻底搞懂async/await
  8. 软件测试几个概念 --dev sit uat
  9. 一步步编写操作系统 42 用c语言编写内核
  10. elasticsearch date_Elasticsearch在日志分析领域应用和运维实践