一、预备知识
1.数据类型等基础知识
2.for、while等循环
3.if else与switch等分支语句
4.数组、指针
5.new创建动态数组
6.struct创建结构
二、实现内容
1.添加联系人
2.显示联系人
3.查找联系人
4.删除联系人
5.修改联系人
6.清空联系人
三、注意事项(写在前面)
- 数组下标从0开始,数组元素=数组最大下标值+1;
- “值传递”,单向传递,只能由实参传给形参,反之不能,所以要改变实参的值,我们采用“址传递”(指针);
- ”=“为赋值,表示相等是应用”==“;
- cin()被跳过时,应该使用cin.clear()更改cin的状态标示符,使用cin.sync()清除缓存区的数据流。
四、代码
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
#define Max 1000
struct Person
{
std::string name;
std::string address;
std::string phone;
/*char name[20];
char address[20];
char phone[20];*/
};
struct PersonManagement
{
Person person1[Max];
int size;//数组下标从0开始,size表示的是数组的大小
};
void Mennu()
{
cout << "****************************" << endl;
cout << "****请输入你要选择的模式****" << endl;
cout << "********* 0.退出 ***********" << endl;
cout << "******* 1.添加联系人 *******" << endl;
cout << "******* 2.显示联系人 *******" << endl;
cout << "******* 3.查找联系人 *******" << endl;
cout << "******* 4.删除联系人 *******" << endl;
cout << "******* 5.修改联系人 *******" << endl;
cout << "******* 6.清空联系人 *******" << endl;
}
int AddPerson(PersonManagement * pm)
{
if (pm->size < Max)
{
cout << "请输入您的姓名" << endl;
cin >> pm->person1[pm->size].name;
cout << "请输入您的地址" << endl;
cin >> pm->person1[pm->size].address;
cout << "请输入您的号码" << endl