数据结构小项目一一通讯录的完成
来源:互联网 发布:mac dd bs 编辑:程序博客网 时间:2024/05/16 07:32
头文件(.h文件)
#ifndef __TXL__
#define __TXL__#define OK 0
#define ERROR -1
typedef int ElementType;
typedef struct _Tonxin
{
char name[30]; // 链表的数据区
char id[50];
char Tel[100];
char Gtel[40];
char address[100];
struct _Tonxin *next; // 指向链表的指针域
}Tonxin;
Tonxin*Creat_List(); // 创建表
// 插入数据
int Insert_last(Tonxin *head,Tonxin *node);
// 删除好友
int Delete_Data(Tonxin *head);
// 显示好友
void DisPlay_List(Tonxin *head);
// 查找好友
int Find_Element(Tonxin *head, char *name);
#endif
头文件函数.c文件
#include <stdio.h>
#include "1.h"
#include <stdlib.h>
#include <string.h>
Tonxin *Creat_List()
{
Tonxin *head = (Tonxin*)malloc(sizeof(Tonxin)/sizeof(char));
if(head == NULL)
return;
head->next = NULL;
return head;
}
int Insert_last(Tonxin *head,Tonxin *node) // 尾插法输入数据
{
if(node == NULL)
return ERROR;
Tonxin *tmp = head;
while(tmp->next)
{
tmp = tmp->next;
}
tmp->next = node;
return OK;
}
void DisPlay_List(Tonxin *head)
{
Tonxin *tmp = head->next;
int count = 0;
while(tmp)
{
printf ("name = %3s, id = %3s,Gtel = %3s,Tel = %3s, address = %3s\n", tmp->name,tmp->id,tmp->Gtel,tmp->Tel,tmp->address);
tmp = tmp->next;
}
putchar('\n');
}
int Find_Element(Tonxin *head,char *name )
{
Tonxin *tmp = head;
while(tmp!=NULL)
{
if (strcmp(tmp->name,name) == 0)
{
printf("name = %s,id = %s,Gtel = %s,Tel = %s, address = %s\n",tmp->name,tmp->id,tmp->Gtel,tmp->Tel,tmp->address);
break;
}
tmp = tmp->next;
}
if (tmp == NULL)
return ERROR;
return OK;
}
int Delete_Data(Tonxin *head) // 根据输入id进行删除
{
char name[100];
printf("请输入查找姓名\n");
scanf("%s",name);
Tonxin *tmp = head->next;
Tonxin *p = head;
if(tmp == NULL)
{
printf("通讯录为空\n");
return ERROR;
}
while(tmp!=NULL)
{
if (strcmp((tmp->name),name) == 0 )
break;
else
p = tmp;
tmp = tmp->next;
}
if(tmp == NULL)
{
printf("没有找到此人\n");
return ERROR;
}
else
{
p->next = tmp->next;
free(tmp);
}
return OK;
}
主函数文件代码
#include <stdio.h>
#include "1.h"
#include <string.h>
#include <stdlib.h>
void k(Tonxin *head)
{
printf("添加好友信息:\n");
Tonxin *tp = (Tonxin*)malloc(sizeof(Tonxin)/sizeof(char));
printf("请输入姓名:\n");
scanf("%s",tp->name);
printf("请输入id:\n");
scanf("%s",tp->id);
printf("请输入手机号:\n");
scanf("%s",tp->Tel);
printf("请输入住址:\n");
scanf("%s",tp->address);
printf("请输入公司电话:\n");
scanf("%s",tp->Gtel);
Insert_last(head,tp);
}
void serch(Tonxin*head)
{
char name[100];
printf("请输入查找姓名\n");
scanf("%s",name);
if(Find_Element(head,name) != OK)
{
printf("没有找到\n");
}
}
int main()
{
Tonxin *head = Creat_List();
if(head == NULL)
return ERROR;
char *name[] = {"通讯录主要功能","A) 添加好友信息。","B) 列表好友信息。","C) 搜索好友。","D) 删除好友。"};
int len = sizeof(name)/sizeof(char*);
int i;
for(i = 0;i < len;i++)
{
printf(" %s\n",name[i]);
}
// int data;
char x;
// char y[100];
while(1)
{
printf("请输入要执行的指令:\n");
scanf("%c",&x);
switch(x)
{
case 'A':
k(head);
break;
case 'B':
DisPlay_List(head);
break;
case 'C':
serch(head);
break;
case 'D':
Delete_Data(head);
break;
default:
printf("输入指令无效\n");
break;
}
while( getchar()!= '\n'); // 减少输入垃圾
}
}
- 数据结构小项目一一通讯录的完成
- 称不上项目的小程序1:通讯录
- 通讯录小项目
- 通讯录小项目
- 完成 简易通讯录 的编写
- 在家完成的一个小项目
- 通讯录--C语言小项目
- Pace 13 (小项目 :基于动态顺序表的通讯录)
- 完成项目小总结
- UI 一一 UIWebView的应用小案例
- android小项目之手机通讯录
- C语言小项目制作之---通讯录
- 创建一个通讯录小项目代码
- 【c语言小项目】通讯录-文件版
- 小项目——通讯录2.0
- 一周完成的小项目-某银行短信发送
- 一个小项目完成后的一点心得
- 完成一个安卓小项目之后的小感悟
- ELK+fileBeat 日志系统搭建
- 笔试
- Mac系统下, Hdoop 2.6.2 + Hive 2.0.1 配置
- 交叉编译工具和qt安装,终端使用qmake编译arm版本可执行文件的方法
- 8.Spring的事务管理难点剖析
- 数据结构小项目一一通讯录的完成
- Java简介
- java类为什么要写一个无参构造函数
- Java逆向技术
- [JSP]jspsmartupload完成简单的文件上传
- LCA之树链剖分(模板)
- 用C语言扩展Python接口
- 如何让自己电脑可以在外网访问,不用自己申请域名
- Android实现连按两次返回键退出