链表通讯录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