C语言程序设计之通讯录

本文介绍了使用C语言编写的通讯录程序,具备添加、查询、删除、修改个人信息以及信息排序和文件操作功能,确保数据保存。程序经过验证,运行正常。

在C语言的学习过程中,经常会让我们自己编写一个小项目,其中,通讯录的编写就是其中的一个经典作业。下面我就献上自己编写的通讯录代码。

注:本程个人亲测有效,没有任何问题,可以实现以下的基本的功能。

      1:添加个人信息;

      2:查询个人信息,可供两种选择方法,一种按姓名查询,一种按电话号码查询;

      3:删除个人信息;

      4:修改个人信息;

      5:实现信息排序;

      6:输出全部信息;

      7:采用文件形式对通讯录进行操作,包括  写入文件 和  读取文件  ,从而保证能对添加的联系人进行保存。即在下一次打开vim编辑器的时候,依旧能看到上次添加的联系人的相关信息。

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define FALSE 0
#define TRUE 1
#define MAXSIZE 20
typedef int Status;
typedef char Elemtype;
typedef struct Node
{
    Elemtype name[MAXSIZE];
    Elemtype number[MAXSIZE];
    Elemtype sex[MAXSIZE];
    struct Node *next;
}Node;
typedef Node *Linklist;

Status Inserlist(Linklist *Lp);  //插入联系人
void  Initlist(Linklist *Lp);//对链表进行初始化
void mydisplay(Linklist *Lp); //显示通讯录
void Deletelist(); //删除联系人
Status Findlist(Linklist *Lp); //查找联系人
void Reviselist(); //修改联系人
Status Sortlist();//对通讯录进行排序
Status Length();//判断文件字符个数
void savelinkman();//保存链表中的结点到文件
void loadlinkman(Linklist Lp);//加载联系人



int main()
{
    printf("*************************\n");
    Linklist Lp;
    Initlist(&Lp);
    loadlinkman(Lp);//调用加载联系人到链表的函数,确保显示联系人的时候,链表不为空
    int sel;
    Elemtype a[MAXSIZE],b[MAXSIZE];
    while(1)
    {
	printf("\t\tmenu: \n");
	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\t7:保存并退出通讯录\n");
	printf("请输入要执行的功能所对应的序号,以回车键结束!\n");
	scanf("%d",&sel);
	getchar();
	switch(sel)
	{
	    case 1:
	        Inserlist(&Lp);
		printf("*************************\n");//无实际意义,仅为输出界面美化
		break;
	    case 2:
		Findlist(&Lp);
		printf
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值