/*功能:通讯录作者:wind日期:2013-10-12*/#include <iostream>#include <string>using namespace std;
class Address{public: Address(string aName,string aTele); ~Address();
void printAddress(Address *head); void insertAddress(Address *head); void deleteAddress(Address *head); Address *next;
private: string m_aName; string m_aTele;
};
Address::Address(string aName=" ",string aTele=" "):m_aName(aName),m_aTele(aTele){};Address::~Address(){};
Address* creatList(void){ Address *head;
head = new Address; if (!head) { exit(0); } head->next=NULL;
return head;
}
void Meu(void){ cout<<"1.添加记录:"<<endl; cout<<"2.删除记录:"<<endl; cout<<"3.浏览记录:"<<endl; cout<<"4.退出系统:"<<endl; cout<<"请选择:";}
void Address::insertAddress(Address *head){ Address *p,*q; string name,tele; p = head; q = NULL; q = new Address; if (p->next==NULL) { cout<<"提示:通讯录中没有记录。"<<endl; cout<<"联系人:"; cin>>q->m_aName; cout<<"电话:"; cin>>q->m_aTele; p->next = q; q->next = NULL; p = p->next;
} else { while (p->next) { p =p->next ; } printAddress(head); cout<<"联系人:"; cin>>q->m_aName; cout<<"电话:"; cin>>q->m_aTele; p->next = q; q->next = NULL; p = p->next;
}
}
void Address::deleteAddress(Address *head){ int i,n; Address*p,*q;
p = q = head; cout<<"请输入记录的序号:"; cin>>n; for (i=0;i<n;i++) { p =q; q = q->next; } if (q) {
p->next = q->next;
}
}void Address::printAddress(Address *head){ Address*p=head; int i=1; while(p->next) { p = p->next; cout<<i<<"."<<p->m_aName<<" "<<p->m_aTele<<endl; i++;
}}
int main(void){ Address *head; Address num; int choice; head = creatList(); do { Meu(); cin>>choice; switch(choice) { case 1: num.insertAddress(head); break; case 2: num.deleteAddress(head); num.printAddress(head); break; case 3: num.printAddress(head); break; case 4: break; }
} while (choice!=4);
delete head; system("pause"); return 0;}链表版通讯录-C++

最后更新于 2022-12-25
部分内容可能已过时,请注意信息时效。
本文采用 CC BY-NC-SA 4.0 许可,转载请注明出处与作者。
支持一下
如果这篇文章对你有帮助,欢迎打赏或分享。
评论