• 大小: 206KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: C/C++
  • 标签: DEVC++  通信录  

资源简介

本课程设计是设计一个实用的小型通信录程序,具有查询和删除功能,并且能够打开或修改指定文件及将多个文件组成一个文件。

资源截图

代码片段和文件信息

#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类的对象作为数据成员

public:
typedef RecordList::iterator Iterator;
//从通信录中寻找一个记录
virtual Iterator findRecord(string patten int type Iterator form);
//其他成员函数
    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  通讯录\Untitled1.cpp

     文件      10137  2007-08-24 00:01  通讯录\作业一.cpp

     文件      11806  2007-08-23 22:42  通讯录\作业二.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个文件信息

评论

共有 条评论