一直都觉得以项目为导向学习编程是一种很高效的学习编程的方法,我这段时期的主要学习任务是复习一下c++的基本语法,比起再一章一章的去学,写一个增删改查的小项目或许更能帮助我复习之前的知识点,同时也能增强自己的开发能力。我对这个小项目的目标是实现最基本的增删改查功能然后再用MFC做一个简单的UI界面。接下来我会将已经完成的功能模块代码展示出来。
菜单功能:
`void menu()
{
cout << "*********************************" << endl;
cout << "******* 1、添加联系人 ***********" << endl;
cout << "******* 2、显示联系人 ***********" << endl;
cout << "******* 3、删除联系人 ***********" << endl;
cout << "******* 4、查找联系人 ***********" << endl;
cout << "******* 5、修改联系人 ***********" << endl;
cout << "******* 6、清空联系人 ***********" << endl;
cout << "******* 0、退出通讯录 ***********" << endl;
cout << "*********************************" << endl;
}
增加联系人功能:
//This funcation is designed to add contacts
void add_contacts( contact_book *abs)
{
if(abs->book_size == MAX)
{
cout << "通讯录已满,无法添加!" << endl;
return;
}
else//add a contact
{
//add his name
string name;
cout << "请输入姓名:" << endl;
cin >> name;
abs->book[abs->book_size].name = name;//问题①:这一语句的逻辑是什么?
//add his sex
cout << "请输入性别: " << endl;
cout << "1 --- 男" << endl;
cout << "0 --- 女" << endl;
int sex = 0;
while(true)//这个while(1)有很强的鲁棒性
{
//如果输入的是0或者1可以退出循环,因为输入的是正确值
//如果输入有误,重新输入
cin >> sex;
if(sex == 0 || sex == 1)
{
abs->book[abs->book_size].sex = sex;
break;
}
cout << "输入有误,请重新输入" << endl;
}
//add his age
cout << "请输入年龄: " << endl;
int age = 0;
cin >> age;
abs->book[abs->book_size].age = age;
//add his address
cout << "请输入地址:" << endl;
string address = string();//string类型的数据赋初值的方法
cin >> address;
abs->book[abs->book_size].address = address;
//add his phone
cout << "请输入电话:" << endl;
string phone = string();
cin >> phone;
abs->book[abs->book_size].phone = phone;
abs->book_size++;
cout << "添加成功" << endl;
system("pause");
system("cls");
}
}
待更新。。。