首页 > 其他分享 >C语言小项目-通讯录的实现

C语言小项目-通讯录的实现

时间:2023-02-03 14:04:54浏览次数:32  
标签:struct 项目 MAX C语言 break Contact 通讯录 printf con

contact.h

#define MAX 1000
#define MAX_NAME 20
#define MAX_SEX 5
#define MAX_TELE 12
#define MAX_ADDR 30

enum opt
{
EXIT,
ADD,
DEL,
SEARCH,
MODIFY,
SHOW,
SORT

};

struct PeoInfe
{
char name[MAX_NAME];
int age;
char sex[MAX_SEX];
char tele[MAX_TELE];
char addr[MAX_ADDR];

};

//通讯录类型
struct Contact
{
struct PeoInfe data[MAX];//存放一个信息
int size;//记录当前已有元素个数
};

//声明函数
//初始化通讯录
void InitContact(struct Contact* ps);
//增加一个信息到通讯录
void AddContact(struct Contact* ps);
//打印通讯录中的信息
void ShowContact(const struct Contact* ps);
//删除指定的联系人
void DelContact(struct Contact* ps);
//查找指定名字的人
void SearchContact(struct Contact* ps);
//修改指定联系人
void ModifyContact(struct Contact* ps);

contact.c

test.c

#define _CRT_SECURE_NO_WARNINGS 1 
#include<stdio.h>
#include"contact.h"
void menu()
{
printf("*******************************\n");
printf("*******1.add 2.del ******\n");
printf("*******3.search 4.modify******\n");
printf("*******5.show 6.sort ******\n");
printf("*******0.exit ******\n");
printf("*******************************\n");
}
int main()
{
int input=0;
//创建同学录
struct Contact con;//con就是通讯录,里边包含:1000个元素的数和size
//初始化通讯录
InitContact(&con);
do
{
menu();
printf("请选择\n");
scanf("%d",&input);
switch(input)
{
case ADD:
AddContact(&con);
break;
case DEL:
DelContact(&con);
break;
case SEARCH:
SearchContact(&con);
break;
case MODIFY:
ModifyContact(&con);
break;
case SHOW:
ShowContact(&con);
break;
case SORT:
break;
case EXIT:
printf("退出同学录\n");
break;
default:
printf("选择错误\n");
break;

}

}while(input);
return 0;

}

标签:struct,项目,MAX,C语言,break,Contact,通讯录,printf,con
From: https://blog.51cto.com/u_15922371/6035792

相关文章

  • 枚举以及联合体--C语言版
    枚举的定义枚举顾名思义就是一一列举。把可能的取值一一列举。一周的星期一到星期日是有限的7天,可以一一列举。性别有:男、女、保密,也可以一一列举。月份有12个月,也可以......
  • Linux 配置Tomcat、SpringBoot项目开机自启
    Linux配置Tomcat、SpringBoot项目开机自启#javaenvironment指定java环境exportJAVA_HOME=/home/jdk1.8.0_11exportCLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAV......
  • vue 项目中 jsconfig.json 概念 及 使用步骤
    vue项目中jsconfig.json概念及使用步骤vue项目中jsconfig.json是什么当您在工作空间中有一个定义项目上下文的jsconfig.json文件时,JavaScript体验会得到改进概述目......
  • 看到项目中的DateTimeFormat和JsonFormat就头大
    刚来这家公司的时候,发现很多同事还在用这种方式写代码当时以为是偶然,刚才在群里发现还有好多人在交流应当加哪些注解,声明时区问题.当写一个东西感到麻烦的时候,......
  • C语言extern和static
    下面的代码段说明了变量和形式参数声明中怨念或者省略存储类型的所有可能的方法。inta;externintb;staticintc;voidf(intd,registerinte){autointg......
  • 课件上的大题——项目二
    项目二【例1】3月8日销售货物,价款30万元,对方没给钱。那我们就确认应收账款增加30万元。到年底出报告时需要对这30万元债权进行检查。假如发现最多能收回20万元,也就是有10......
  • C语言学习: 快速排序(递归方式)
    1#include<stdio.h>2#include"io_utils.h"3#include<stdlib.h>4#include<time.h>56#definePLAYER_COUNT5078voidSwapElements(intarray[......
  • C语言学习: 数组打乱
    1#include<stdio.h>2#include"io_utils.h"3#include<stdlib.h>4#include<time.h>56#definePLAYER_COUNT5078voidSwapElement(intarray[]......
  • C语言学习 字符串
    如果文件编码是GBK,那么他会编译成GBK编码,存储起来。   内存里面这么存储。中文是GBK编码存储,而数字和英文,是以unicode编码存储   GBK编码查询   宽......
  • c语言中获取环境变量
    #include<stdio.h>intmain(intargc,char*argv[],char*envp){/**命令行传参的时候例如:mysqlmysql-h127.0.0.1-uroot-p123*argc传入......