資源簡介
本課程設(shè)計是設(shè)計一個實用的小型通信錄程序,具有查詢和刪除功能,并且能夠打開或修改指定文件及將多個文件組成一個文件。

代碼片段和文件信息
#include
#include?
#include?
#include?
#include
#include
#include?
#include?
using?namespace?std;
struct?Record?{
string?name; //?姓名
????string?tel; //電話
};
class?RecordList?:?public?list?{
friend?ostream&?operator<(ostream&?os?const?RecordList&?c_rl);
friend?istream&?operator>>?(istream&?is?RecordList&?rl);
public:
void?clear();
iterator?erase(iterator?where);
~RecordList();
};
ostream&??operator<(ostream&?os?const?RecordList&?c_rl)?{
????if(c_rl.empty())
????????os<<“--------該表為空------“< ????????else?{
RecordList::const_iterator?it;
????RecordList::const_iterator?it_begin?=?c_rl.begin();
????RecordList::const_iterator?it_end?=?c_rl.end();
for(it?=?it_begin;?it?!=?it_end;?it++)? {
os<name;
????os<tel< }
?}
return?os;
}?
istream&??operator>>?(istream&?is?RecordList&?rl)?{
??????????Record*?re=new?Record;
??????????is>>re->name>>re->tel;
??????????rl.push_back(re);
???????return?is;
}
void?RecordList::?clear()?{
RecordList::iterator?it;
????RecordList::iterator?it_begin?=?this->begin();
????RecordList::iterator?it_end?=?this->end();
for(it?=?it_begin;?it?!=?it_end;?it++)
delete?*it;
list::clear();
}
RecordList::iterator?RecordList::?erase(iterator?where)?{
RecordList::iterator?it=list::erase(where);
delete?*where;
return?it;
}
RecordList::~RecordList()?{
clear();
}
class?AddressList
{
protected:
RecordList?recList; //RecordList類的對象作為數(shù)據(jù)成員
public:
typedef?RecordList::iterator?Iterator;
//從通信錄中尋找一個記錄
virtual?Iterator?findRecord(string?patten?int?type?Iterator?form);
//其他成員函數(shù)
????virtual?void?addRecord(Record*?rec);
????virtual?void?removeRecord(Iterator?it);
virtual?void?saveRecords(ostream&?os);
virtual?int?loadRecords(istream&?in);
virtual?~AddressList();
const?int?size()?const?{return?(int)recList.size();}
const?bool?empty()?const?{return?recList.empty();}
virtual?void?clear(){recList.clear();}
Iterator?first(){return?recList.begin();}
Iterator?pastEnd(){return?recList.end();}
};
RecordList::iterator?AddressList::?findRecord(string?patten?int?type?Iterator?form)?{
????Iterator?it;
Iterator?it_end?=?recList.end();????
if(type==1)?{
???????for(it?=?form;?it?!=?it_end;?it++){?
???????????if((*it)->name==patten){
???????????????return?it;
???????????}
???????}
???}????
????else?if(type==2)?{
????????for(it?=?form;?it?!=?it_end;?it++)?{
????????????if((*it)->tel==patten)?{
????????????????return?it;
????????????}
????????}????
????}
return?it_end;
}
?
void?AddressList::addRecord(Record*?rec)?{
recList.push_back(rec);
}
void?AddressList::removeRecord(Iterator?it?)?{
?????recList.erase(it);
}
void?AddressList::saveRecords(ostream&?os)?{
?????os< }
int?AddressList::loadRecords(istream&?in)?{
???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????583168??2007-08-28?22:21??通訊錄\13061007.doc
?????文件??????10032??2007-08-24?10:07??通訊錄\13061007段浩偉.cpp
?????文件??????72704??2007-08-22?11:02??通訊錄\stl1.doc
?????文件??????70144??2007-08-22?10:59??通訊錄\stl2.doc
?????文件???????3274??2007-08-22?23:39??通訊錄\Unti
?????文件??????10137??2007-08-24?00:01??通訊錄\作業(yè)一.cpp
?????文件??????11806??2007-08-23?22:42??通訊錄\作業(yè)二.cpp
?????文件??????47616??2007-08-19?18:17??通訊錄\新建?Microsoft?PowerPoint?演示文稿.ppt
?????文件??????51200??2007-08-19?18:14??通訊錄\新建?Microsoft?Word?文檔.doc
?????文件???????2679??2007-08-21?11:08??通訊錄\新建?文本文檔?(2).txt
?????文件???????6543??2007-08-21?11:23??通訊錄\新建?文本文檔?(3).txt
?????文件??????11478??2007-08-21?10:53??通訊錄\新建?文本文檔.txt
?????文件???????1489??2007-08-23?19:07??通訊錄\新建_文本文檔_(4).txt
?????文件???????2309??2007-08-23?19:08??通訊錄\新建_文本文檔_(5).txt
?????文件???????8044??2007-08-23?19:08??通訊錄\新建_文本文檔_(6).txt
?????文件???????2809??2007-08-22?17:56??通訊錄\通訊錄程序\John\H\AddressBook.h
?????文件???????1448??2007-08-22?10:02??通訊錄\通訊錄程序\John\H\AddressList.h
?????文件???????1314??2007-08-22?17:01??通訊錄\通訊錄程序\John\H\RecordList.h
?????文件????????105??2007-08-25?23:29??通訊錄\通訊錄程序\John\H\未命名1.cpp
?????文件????????738??2007-08-21?19:51??通訊錄\通訊錄程序\My?work\My?work\address.cpp
?????文件????????691??2007-08-21?23:27??通訊錄\通訊錄程序\My?work\My?work\address.h
?????文件???????5488??2007-08-21?23:24??通訊錄\通訊錄程序\My?work\My?work\addressbook.cpp
?????文件????????735??2007-08-21?19:46??通訊錄\通訊錄程序\My?work\My?work\addressbook.h
????..A..H.??????7680??2007-08-21?19:44??通訊錄\通訊錄程序\My?work\My?work\addressbook.suo
?????文件????????820??2007-08-21?22:14??通訊錄\通訊錄程序\My?work\My?work\addresslist.cpp
?????文件????????842??2007-08-21?20:10??通訊錄\通訊錄程序\My?work\My?work\addresslist.h
????..A..H.??????9216??2007-08-21?20:44??通訊錄\通訊錄程序\My?work\My?work\My?Addressbook.suo
?????目錄??????????0??2010-10-11?19:24??通訊錄\通訊錄程序\John\H
?????目錄??????????0??2010-10-11?19:24??通訊錄\通訊錄程序\My?work\My?work
?????目錄??????????0??2010-10-11?19:24??通訊錄\通訊錄程序\John
............此處省略6個文件信息
- 上一篇:C++讀取WAV格式音頻文件
- 下一篇:Thinking in C++ 源代碼
評論
共有 條評論