1 程式中運用到兩個類,乙個是person類,另乙個是list類。前者儲存使用者資訊,後者主要用於操作,如增刪改查等。但由於本程式中沒有涉及到太複雜的功能,使用者資訊可以由乙個簡單的結構體表示,但是為了以後拓展方便,和達到學習運算子過載的目的,還是使用了類。
3 setout()方法設定字元左對齊,便於美觀。另外std::cout.width(15)設定輸出字元域寬度,只對下一次輸出有效。
4 判斷文字檔案是否為空還有另一種方法,即string類中的empty()方法,但為了讀取方便沒有採用。
5 其實對於通訊錄的操作只是在類內的vector容器中進行,只有最後重新整理的時候同步到磁碟檔案中。
6 一些函式中設定多個返回值有利於判斷操作的情況。
#ifndef person_h_
#define person_h_
#include class person
;#endif // !person_h_
#include "person.h"
person::person()
person::~person()
int person::operator==(const person& p)
else
return -2;
}
#ifndef list_h_
#define list_h_
#include #include "person.h"
class list
;inline void setout();//輸出格式控制
#endif
#include "list.h"
#include #include #include list::list()
list::~list()
void setout()//輸出格式控制,即左對齊
void list::showfile()
}int list::readfile()
myfile.push_back(p);
rows++;
while(readfile>>p.name>>p.tel)//讀取後存入vector容器中
this->showfile();
std::cout << "total:\t" << rows << "\tinfos\n";
readfile.close();
return rows;
} else
else
outfile.close();
} return 2;
}void list::reflush()
outfile.close();
}void list::add()
void list::del()
std::string name;
std::cout << "please input the name you want you del:\n";
std::cin >> name;
std::vector::iterator iter;
for (iter = this->myfile.begin(); iter != this->myfile.end();)
else
++iter;
} std::cout << "no info matches!\n";
}void list::search()
} std::cout << "no info matches!\n";
}
// contact.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include "list.h"
#include #include using namespace std;
int menu()
int _tmain(int argc, _tchar* argv)
cout << "請輸入選項:\n";
cin >> num;
} system("pause");
return 0;
}
通訊錄簡單實現
姓名 性別 年齡 住址 利用構建乙個結構體來儲存資訊,結構體的大小根據所需來自行規定 typedef struct add add typedef struct addnode addnode 關於資訊儲存的方法,最簡單的兩種辦法就是鍊錶跟順序表的結構,簡單說呢就是兩種不同的對資料或者說結構體的應用...
通訊錄的簡單實現!!!
1.因為程式 較多,為了避免程式過於繁雜,將程式分成了兩個.c檔案 contact.c 和 test.c 和乙個contact h檔案。2.cantact.h檔案內容主要包括函式名和結構體的定義。3.contact.c檔案主要用於定義函式的實現,而test.c則主要起到測試的作用1.contact ...
C 通訊錄實現
昨晚實現了用c 編寫通訊錄,深刻的感受到了封裝的便利性啊,vector真是太方便了!如下 info.h ifndef person h define person h include include include using namespace std class info endif info....