#include <stdio.h>
#include <getch.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
typedef struct contact
{
char name[20];
char sex;
char tell[12];
}contact;
contact c[100]={};
//char name[100][20]={};
//char sex[100]={};
//char tell[100][12]={};
int i = 0;
// 添加联系人,要求不超过100人,超过100则显示添加失败
void insert()
{
for(int i=0; i<100; i++)
{
if(0 == c[i].sex)
{
printf("请输入姓名,性别,电话:");
scanf("%s %c %s",c[i].name,&c[i].sex,c[i].tell);
printf("添加联系人成功\n");
getch();
return;
}
}
}
// 删除联系人
void delete()
{
printf("请输入要删除的联系人姓名:");
char str[20] = {};
scanf("%s",str);
for(int i=0; i<100; i++)
{
if(0 == strcmp(str,c[i].name))
{
c[i].sex = 0;
printf("删除联系人成功\n");
getch();
return;
}
else
{
printf("电话簿中无记录\n");
getch();
}
}
}
//修改联系人,按姓名删除(要保证不能重名)
void update()
{
char str[20] = {};
printf("请输入要修改的联系人姓名:");
scanf("%s",str);
for(int i=0; i<100; i++)
{
if(0 == strcmp(str,c[i].name))
{
printf("%s\t%c\t%s\n",c[i].name,c[i].sex,c[i].tell);
printf("请重新输入:");
scanf("%s %c %s",c[i].name,&c[i].sex,c[i].tell);
getch();
return;
}
}
}
//查找联系人,根据电话号码查找联系人
void find()
{
printf("电话:");
char str[20] = {};
scanf("%s",str);
getchar();
for(int i=0; i<100; i++)
{
if(strstr(c[i].tell,str))
{
printf("%s\t%c\t%s\n",c[i].name,c[i].sex,c[i].tell);
}
}
printf("请输入任意键继续...\n");
getch(); //getchar()要按回车才会结束(输入字符会显示),getch()按任意键结束
}
// 显示所有联系人
void show()
{
printf("姓名\t性别\t电话\n");
for(int i=0;i<100;i++)
{
if(c[i].sex)
{
printf("%s\t%c\t%s\n",c[i].name,c[i].sex,c[i].tell);
}
}
printf("请输入任意键继续...");
getch();
}
// 菜单
char menu(void)
{
system("clear");
printf("***欢迎使用指针电话簿***\n");
printf("------------------------\n");
printf("1、 添加\n");
printf("2、 删除\n");
printf("3、 修改\n");
printf("4、 查找\n");
printf("5、 显示\n");
printf("q、 退出\n");
printf("------------------------\n");
printf("请输入指令:");
char cmd = getch();
printf("%c\n",cmd);
return cmd;
}
int main()
{
while(true)
{
switch(menu())
{
case '1': printf("insert()\n"); insert(); show();break;
case '2': printf("delete()\n"); delete(); show();break;
case '3': printf("update()\n"); update(); show();break;
case '4': printf("find()\n"); find(); break;
case '5': printf("show()\n"); show(); break;
case 'q': printf("exit()\n"); return 0;
default : printf("cmd error!\n");
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
C语言简单电话簿(无存储功能).zip
共3个文件
c:2个
h:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 115 浏览量
2021-12-15
17:49:43
上传
评论
收藏 3KB ZIP 举报
温馨提示
自己学习C语言的时候写的项目: C语言简单电话簿(无存储功能)
资源推荐
资源详情
资源评论
收起资源包目录
C语言简单电话簿(无存储功能).zip (3个子文件)
phone_dir-master
getch.h 801B
phone2.c 3KB
phone.c 3KB
共 3 条
- 1
资源评论
我慢慢地也过来了
- 粉丝: 7604
- 资源: 4012
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功