C/C++知识点之通讯录(C语言)
小标 2018-11-01 来源 : 阅读 1255 评论 0

摘要:本文主要向大家介绍了C/C++知识点之通讯录(C语言),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之通讯录(C语言),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

先定义头文件#ifndef __CONTACT_H__

#define __CONTACT_H__

#define NAME_LEN 10
#define SEX_LEN 6
#define TELE_LEN 12
#define ADDR_LEN 20
#define MAX_PEO 1000

typedef struct PEO
{
 char name[NAME_LEN];
 int age;
 char sex[SEX_LEN];
 char tele[TELE_LEN];
 char addr[ADDR_LEN];
}Peo, *PPEO;

typedef struct Contact
{
 Peo nb[MAX_PEO];
 int count;//记录有效个数
}PCON,*Pcon;

void add_peo(Pcon pcon);
void del_peo(Pcon pcon);
void search(Pcon pcon);
void modify(Pcon pcon);
void show(Pcon pcon);
void clear(Pcon pcon);


#endif然后创建contact.c,将函数写入#include<stdio.h>
#include <string.h>
#include"contact.h"

void add_peo(Pcon pcon)
{
 if (pcon->count <= MAX_PEO)
 {
  printf("请输入姓名:");
  scanf("%s", pcon->nb[pcon->count].name);
  printf("请输入年龄:");
  scanf("%d", &pcon->nb[pcon->count].age);
  printf("请输入性别:");
  scanf("%s", pcon->nb[pcon->count].sex);
  printf("请输入电话:");
  scanf("%s", pcon->nb[pcon->count].tele);
  printf("请输入地址:");
  scanf("%s", pcon->nb[pcon->count].addr);
  pcon->count ++;
  printf("添加成功!\n");
 }
 else
  printf("电话本已满!");
}

void show(Pcon pcon)
{
 int i=0;
 printf("姓名  年龄    性别           电话             地址\n");
 for(i=0;i<pcon->count;i++)
 {
  printf("%s%8d%8s%15s%18s\n",pcon->nb[i].name,pcon->nb[i].age,pcon->nb[i].sex,pcon->nb[i].tele,pcon->nb[i].addr);
 }
}

int find(char *c,Pcon pcon)
{
 int i=0;
 for(;i<pcon->count;i++)
 {
  if(strcmp(c,pcon->nb[i].name)==0)
   return i;
   
 }
 return -1;
}
void del_peo(Pcon pcon)
{
 char nam[NAME_LEN];
 int index=0;
 printf("请输入你想删除的人:");
 scanf("%s",nam);
 index = find(nam,pcon->nb[index].name);
 for(;index<=pcon->count-1;index++)
 {
  pcon->nb[index]=pcon->nb[index+1];
 }
 pcon->count--;
 printf("删除成功!\n");
}

void search(Pcon pcon)
{
 char nam[NAME_LEN];
 int i=0;
 printf("请输入你想查找的人:");
 scanf("%s",nam);
 i = find(nam,pcon->nb[i].name);
 printf("姓名  年龄    性别           电话               地址\n");
 printf("%s%8d%8s%15s%20s\n",pcon->nb[i].name,
   pcon->nb[i].age,pcon->nb[i].sex,
   pcon->nb[i].tele,pcon->nb[i].addr);
}

void modify(Pcon pcon)
{
 char nam[NAME_LEN];
 int i=0;
 printf("请输入你想修改的人:");
 scanf("%s",nam);
 i = find(nam,pcon->nb[i].name);
 pcon->nb[i] = pcon->nb[-1];
 printf("请输入姓名:");
 scanf("%s", pcon->nb[i].name);
 printf("请输入年龄:");
 scanf("%d", &pcon->nb[i].age);
 printf("请输入性别:");
 scanf("%s", pcon->nb[i].sex);
 printf("请输入电话:");
 scanf("%s", pcon->nb[i].tele);
 printf("请输入地址:");
 scanf("%s", pcon->nb[i].addr);
 printf("添加成功!\n");
}

void clear(Pcon pcon)
{
 pcon->count = 0;
}最后写入函数主体#include <stdio.h>
#include "contact.h"

#define _CRT_SECURE_NO_WARINGS_
void print_menu()
{
 printf("****************************\n");
 printf("*** 1>add       2>del    ***\n");
 printf("*** 3>show      4>search ***\n");
 printf("*** 5>modify    6>clear  ***\n");
 printf("****************************\n");
}

int main()
{
 PCON  con;
 int input = 1;
 con.count = 0;
 while (input)
 {
  print_menu();
  printf("请选择:");
  scanf("%d", &input);
 // system("cls");
  switch (input)
  {
  case 1:
   add_peo(&con);
   break;
  case 2:
   del_peo(&con);
   break;
  case 3:
   show(&con);
   break;
  case 4:
   search(&con);
   break;
  case 5:
   modify(&con);
   break;
  case 6:
   clear(&con);
   break;
  default:
   break;
  }
 }

 return 0;
}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程