c语言结构体实现存储信息,用C语言结构体实现通讯录
实现一个通讯录;
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
#include"stdio.h"
#include
#include
struct People//联系人结构体
{
char name[10];
char sex[5];
int age;
char tel[20];
char addr[20];
};
struct Contacts//通讯录结构体
{
struct People person[1000];
int user_count;
};
typedef struct Contacts *pContacts;//自定义指向通讯里结构体的指针变量
int find_entry(pContacts pcon)//查找入口
{
int i = 0 ;
char name[20];
printf("Please input name:");
scanf("%s",name);
for(i = 0;i < pcon->user_count;i++)
{
if(strcmp(pcon->person[i].name ,name) == 0)
{
return i;
}
}
return -1;
}
int add(pContacts pcon)//增加联系人
{
if(pcon->user_count == 1000)
{
printf("Telephone book is full!\n");
return -1;
}
printf("Please input name:");
scanf("%s",pcon->person[pcon->user_count].name);
printf("Please input sex:");
scanf("%s",pcon->person[pcon->user_count].sex);
printf("Please input age:");
scanf("%d",&(pcon->person[pcon->user_count].age));
printf("Please input tele:");
scanf("%s",pcon->person[pcon->user_count].tel);
printf("Please input addr:");
scanf("%s",pcon->person[pcon->user_count].addr);
pcon->user_count++;
return 1;
}
int del(pContacts pcon)//删除联系人
{
int i = 0;
int ret = find(pcon);
if(ret != -1)
{
for(i = ret;i < pcon->user_count-1;i++)
{
pcon->person[i] = pcon->person[i+1];
}
pcon->user_count--;
return 1;
}
else
{
printf("not exist!\n");
return -1;
}
}
int clear(pContacts pcon) //清理全部联系人
{
pcon->user_count = 0;
return 1;
}
int find(pContacts pcon) //查找联系人
{
int ret = find_entry(pcon);
if(ret != -1)
{
printf("name:%s\n",pcon->person[ret].name);
printf("sex:%s\n",pcon->person[ret].sex);
printf("age:%d\n",pcon->person[ret].age);
printf("tele:%s\n",pcon->person[ret].tel);
printf("addr:%s\n",pcon->person[ret].addr);
return 1;
}
else
{
printf("not exist!\n");
return -1;
}
}
int modify(pContacts pcon) //编辑联系人
{
int ret = find(pcon);
if(ret != -1)
{
printf("Please input name:");
scanf("%s",pcon->person[ret].name);
printf("Please input sex:");
scanf("%s",pcon->person[ret].sex);
printf("Please input age:");
scanf("%s",pcon->person[ret].age);
printf("Please input tele:");
scanf("%s",pcon->person[ret].tel);
printf("Please input addr:");
scanf("%s",pcon->person[ret].addr);
return 1;
}
else
{
printf("not exist!\n");
return -1;
}
}
void show(pContacts pcon) //显示全部联系人
{
int i = 0;
for(i = 0;i < pcon->user_count;i++)
{
printf("\n\t\tname:\t%-10s",pcon->person[i].name);
printf("\n\t\tsex:\t%-5s", pcon->person[i].sex);
printf("\n\t\tage:\t%-2d",pcon->person[i].age);
printf("\n\t\ttel:\t%-20s",pcon->person[i].tel);
printf("\n\t\taddr:\t%-20s\n",pcon->person[i].addr);
}
printf("\n");
}
int main()//主函数
{
char flag=1;
struct Contacts person;
person.user_count=0;
printf("\t\t1.增加联系人\n");
printf("\t\t2.删除联系人\n");
printf("\t\t3.修改联系人\n");
printf("\t\t4.查找联系人\n");
printf("\t\t5.显示所有联系人\n");
printf("\t\t6.清空联系人列表\n");
printf("\t\t0.退出通讯录\n");
while(flag>0&&flag<=6)//先进入系统,然后再仅进行操作!
{
printf("\n\n\t\t请键入您要执行操作的序号:");
scanf("%d",&flag);
switch(flag)
{
case 1:add(&person);break;
case 2:del(&person);break;
case 3:modify(&person);break;
case 4:find(&person);break;
case 5:show(&person);break;
case 6:clear(&person);break;
case 0:printf("\n\n\n\t\t*********************exit!********************\n\n\n\n");break;
default :printf("\n\t\tyour enter is error!\n");
}
}
return 0;
}
c语言结构体实现存储信息,用C语言结构体实现通讯录相关推荐
- c语言学生信息管理ppt,学生信息管理系统(C语言、含代码解释).ppt
学生信息管理系统(C语言.含代码解释) 第3章 脂类代谢 脂类的分布与生理功能 脂类的消化与吸收 血脂 甘油三酯的中间代谢 类脂代谢 脂类代谢紊乱 3.1 脂类的分布和生理功能 3.1.1 脂类的分布 ...
- c语言程序设计课程设计学生信息管理系统,C语言程序设计课程设计报告----学生信息管理系统.doc...
河南理工大学计算机学院 <C语言程序设计>课程设计报告 题目: 学生信息管理系统 专业: 计算机科学与技术 班级: 计算机XX班 学号: 311009033232 姓名: ***** 日期 ...
- c语言编译 创建卡号信息表,C语言超市会员信息管理系统源程序
#include //编译预处理指令,引入头文件 #include #include #include #define MAX 10 ...
- c语言课程设计学生籍贯信息记录簿,C语言课程设计 学生籍贯信息记录簿设计.doc...
C语言与程序设计课程设计 学生籍贯信息记录簿设计 学 院 信息工程 班 级 物联1301班 学 号 131408119 姓 名 滕玲 一.设计目的 该软件主要是编辑一个学生籍贯信息记录簿记录每个学生信 ...
- c语言按姓名查询出入信息,请问c语言如何实现按姓名查找?
请问c语言如何实现按姓名查找? 我现在做作业 一个小型系统 请问如何按姓名查找呢 不用用指针的 #include #include #include #include struct men { cha ...
- c语言文件读写_学生信息管理系统(C语言\单向链表\文件读写)
最近在复习数据结构,早上刚复习完链表,就想到了学生信息管理系统这个经典的大作业,然后呢,花了一早上加一中午的功夫给重新实现了一遍,里面可能会有写的不好的地方,但也代表了我实现的一些想法,在这里我将分享 ...
- c语言程序报告学分信息管理,c语言程序报告学生学籍信息管理系统.docx
文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] C语言程序报告学生学籍信息管理系统 C语言课程设 ...
- c语言ATM机文件储存账号密码,C语言实现_ATM自动取款机系统
1.欢迎界面的实现用函数welcom实现,建立.h文件命名welcom.h void wel()//欢迎界面: { FILE *fp; if((fp=fopen("data/welcome. ...
- c语言结构体编辑学生成绩管理,C语言基于结构体的学生信息管理系统实现
宋福英 摘 要: 中国高校为保证学生信息安全,各分院的学生信息都在一个相对封闭的闭环内共享.中国高校在校生人数逐年递增,给高校的信息管理带来不小压力.C语言兼具高级语言和汇编语言的特点,简洁.紧凑. ...
最新文章
- MySQL数据库篇之初识数据库
- 【手机】Windows Mobile手机软件安装卸载方法
- 95-30-050-java.util-LinkedHashMap
- pku3670 Eating Together
- [ER/Studio]进行不同版本数据库结构的合并
- Android SDK的下载与安装(包会)
- 图解通信原理与案例分析-34:车联网中的系统架构与主要的通信技术
- 探索游戏开发中的关卡设计+游戏开发中的关卡草图设计【笔记】
- 查看oracle磁盘组空间,shell脚本检查oracle中的ASM磁盘组空间并发送邮件
- The DAO事件始末
- gif透明背景动画_最好用的GIF制作手机app-GIF豆豆--手机版ae
- 实验11 静态路由配置
- python appium连接安卓真机测试
- vs2019生成的exe文件在别人电脑运行不了
- Core Data概述
- dumpsys activity 查看系统运行了哪些任务?
- mysql医学数据库_现代医学模式的特点是( )
- webpack打包时出错:ERROR in index.js?c20a42392c6d1abf69df from UglifyJs Unexpected token: punc (()
- 架设网站php,初次架设PHP网站
- 自由浏览器 android,最大节省流量达85% 360安全浏览器V3.1版发布
热门文章
- extractCSS – 帮助你从 HTML 中快速分离出 CSS
- 诗歌rials 之RJS的tips
- WEBSERVICE 之WSDL
- 地贝扫地机器人维修_扫地机器人常见故障及维修方法
- bootstrap 一排5个_BootStrap从基础到项目实战_第1季_03章_02_CSS样式栅格系统实例
- vue路由传参的三种基本方式
- android 百分数与进度显示
- Windows 环境下 Chrome浏览器崩溃“STATUS_INVALID_IMAGE_HASH”
- centos7 python3.6编译安装
- java date转sql date_java.util.Date和java.sql.Date转换(转)