链表通讯录demo
来源:互联网 发布:winpcap是什么软件 编辑:程序博客网 时间:2024/05/21 17:15
#include "stdafx.h"#include<iostream>#include<string>#include<cstring>using namespace std;struct TelePhonePeople{char name[200];char telephone[200];};typedef struct TelePhone{struct TelePhonePeople person;struct TelePhone *nxt;}TelePhone,*LinkList;void SearchPerson(LinkList &dd, int k){LinkList p;p = dd;int i;for (i = 1; i <=k; i++){p = p->nxt;if (p== NULL){cout << "查找错误,请确认位置后再查找" << endl;return;}}if (p != NULL){cout <<"联系人姓名"<< p->person.name<<"联系人电话"<<p->person.telephone << endl;}else{cout << "查找错误,请确认位置后再查找" << endl;return;}}void Addpeople(TelePhonePeople pp, LinkList &dd){LinkList p;p= (LinkList)malloc(sizeof(TelePhone));LinkList q;q = dd;while (q->nxt!=NULL){q = q->nxt;}q->nxt = p;p->person = pp;p->nxt = NULL;cout << "完成添加" << endl;}void PutPerson(LinkList &dd){LinkList p;p = dd;while (p->nxt!=NULL){p = p->nxt;cout << "联系人姓名" << p->person.name << "联系人电话" << p->person.telephone << endl;}cout << endl;//cout << "联系人姓名" << p->person.name << "联系人电话" << p->person.telephone << endl;}void DeletePerson(LinkList &dd, int k){LinkList p;p = dd;int i;for (i = 1; i <= k-1; i++){if (p == NULL){cout << "查找错误,请确认位置后再查找" << endl;return;}p = p->nxt;}if (p != NULL){if ((p->nxt)->nxt == NULL){p->nxt = NULL;}else{p->nxt = (p->nxt)->nxt;}cout << "完成删除" << endl;}else{cout << "查找错误,请确认位置后再查找" << endl;return;}}void Addpp(int k, LinkList &dd, TelePhonePeople pp){LinkList p;p = (LinkList)malloc(sizeof(TelePhone));LinkList q;q = dd;int i;for (i = 1; i <= k - 1; i++){if (q == NULL){cout << "查找错误,请确认位置后再查找" << endl;return;}q = q->nxt;}p = q->nxt;p->person = pp;p->nxt = q->nxt->nxt;cout << "完成添加" << endl;}int main(){LinkList head;string x;int k;TelePhonePeople person;head = (LinkList)malloc(sizeof(TelePhone));head->nxt = NULL;for (;;){cout << "添加联系人请输入+" << endl;cout << "查找某个位置联系人请输入*" << endl;cout << "删除某个位置联系人请输入-" << endl;cout << "在位置添加联系人请输入." << endl;cout << "打印联系表请输入/" << endl;cout << "退出该程序请输入!" << endl;cout << endl;cin >> x;if (x == "+"){//cout << endl;cout << "输入联系人名字" << endl;cin >> person.name;cout << "请输入联系人电话" << endl;cin >> person.telephone;//cout << endl;Addpeople(person, head);}else if (x == "."){//cout << endl;cout << "输入联系人名字" << endl;cin >> person.name;cout << "请输入联系人电话" << endl;cin >> person.telephone;cout << "插入位置" << endl;cin >> k;Addpp(k, head, person);}else if(x=="*"){cin >> k;SearchPerson(head, k);}else if(x=="-"){cin >> k;DeletePerson(head,k);}else if(x=="/"){PutPerson(head);}else{return 0;}}}
0 0
- 链表通讯录demo
- DEMO:通讯录(一)
- DEMO:通讯录(二)
- DEMO:通讯录(三)
- DEMO:通讯录(四)
- DEMO:通讯录(五)
- phonegap 通讯录Demo
- 私人通讯录Demo - iOS
- relative通讯录demo
- 链表通讯录
- 链表通讯录
- 链表之通讯录
- 链表之通讯录
- 仿微信通讯录的Demo----PinnedHeaderListView
- 【Android Demo】简单手机通讯录
- 简单的链表通讯录
- 单向循环链表 通讯录
- 利用链表实现通讯录
- AngularJS 学习示例
- angularjs ul li radio span ng-class ng-checked demo
- PyTorch中文文档
- DutyMapper.xml备忘
- angularjs select multiple="multiple" ng-repeat
- 链表通讯录demo
- java socket通信编程
- socket通信例子_服务端写客户端读多线程写法
- 简单的MyBatis使用DEMO。
- Spring AOP
- Boost库编译后命名方式
- HDU4726
- 解决svn检出的maven项目clean成功但是compile编译失败问题
- SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现