⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memberdatalist.cpp

📁 是用eclipse编写的,主要用于手机的电话簿
💻 CPP
字号:
#include "../header/memberdatalist.h"MemberDataList::MemberDataList(){	init();	addGroup("No Group");}MemberDataList::~MemberDataList(){	}void MemberDataList::showList(){	cout<<"enter showList:"<<memberList.size()<<endl;	for(int i=0; i<memberList.size(); i++){		MemberData md = memberList.value(i);		cout<<"#################################"<<endl;		cout<<"index:"<<md.getIndex()<<endl;		cout<<"name:"<<md.getName()<<endl;		cout<<"phone:"<<md.getPhone()<<endl;		cout<<"home:"<<md.getHome()<<endl;		cout<<"work:"<<md.getWork()<<endl;		cout<<"homefax:"<<md.getHomeFax()<<endl;		cout<<"workfax:"<<md.getWorkFax()<<endl;		cout<<"email:"<<md.getEmail()<<endl;		cout<<"address:"<<md.getAddress()<<endl;		cout<<"group:"<<md.getGroup()<<endl;		cout<<"picture:"<<md.getPicture()<<endl;		cout<<"remarks:"<<md.getRemarks()<<endl;	}}void MemberDataList::add(MemberData md){	for(int i=0;i<1000;i++){		if(spaceManager[i] == 0){			cout<<"md:"<<md.getName()<<endl;			cout<<"spaceManager[i]:"<<spaceManager[i]<<endl;			QString name = QString(md.getName());			for(int i=0;i<5;i++){				if(value(QString(name)).getIndex() != -1){					cout<<"**"<<value(QString(name)).getIndex()<<endl;					name = name+"/";					md.setName(name.toAscii().data());				}			}			md.setIndex(i);			spaceManager[i] = 1;			writeSaveAddressValue(i,1);			WriteSaveDataValue(i,md);			break;		}	}	memberList.append(md);}MemberData MemberDataList::value(int i){	return memberList.value(i);}MemberData MemberDataList::value(QString name){	for(int i=0; i<memberList.size(); i++){		if(name == QString(memberList.value(i).getName())){			return memberList.value(i);		}	}	MemberData mb;	mb.setIndex(-1);	return mb;}void MemberDataList::copyList(QMList &a, QMList &b){	for(int i=0;i<a.size();i++){		b.append(a.value(i));	}}void MemberDataList::sortList(QMList &list){	for(int i=0;i<list.size();i++){		int tempMin = i;		for(int j=i;j<list.size();j++){			if(strcmp(list.value(j).getName(),list.value(tempMin).getName())<0){				list.swap(j,tempMin);			}		}	}}void MemberDataList::showSortedList(){	cout<<"enter showSortedList:"<<sortedList.size()<<endl;		for(int i=0; i<sortedList.size(); i++){			MemberData md = sortedList.value(i);			cout<<"#################################"<<endl;			cout<<"index:"<<md.getIndex()<<endl;;			cout<<"name:"<<md.getName()<<endl;			cout<<"phone:"<<md.getPhone()<<endl;			cout<<"home:"<<md.getHome()<<endl;			cout<<"work:"<<md.getWork()<<endl;			cout<<"homefax:"<<md.getHomeFax()<<endl;			cout<<"workfax:"<<md.getWorkFax()<<endl;			cout<<"email:"<<md.getEmail()<<endl;			cout<<"address:"<<md.getAddress()<<endl;			cout<<"group:"<<md.getGroup()<<endl;			cout<<"picture:"<<md.getPicture()<<endl;			cout<<"remarks:"<<md.getRemarks()<<endl;		}}void MemberDataList::toSortedList(){	copyList(memberList,sortedList);	sortList(sortedList);}QList<QString> MemberDataList::groupsNameList(){	return groupList;}int MemberDataList::size(){	return memberList.size();}QList<QString> MemberDataList::groupMemberName(QString group){	QList<QString> nameList;	for(int i=0;i<memberList.size();i++){		if(group.compare(QString(memberList.value(i).getGroup())) == 0){			nameList.append(QString(memberList.value(i).getName()));		}	}	return nameList;}QList<QString> MemberDataList::quickFind(QString name){	QList<QString> nameList;	for(int i=0;i<memberList.size();i++){		QString findname=QString(memberList.value(i).getName());		QString searchname=findname.toUpper();		if(searchname.indexOf(name.toUpper()) != -1){			nameList.append(findname);		}	}	return nameList;}void MemberDataList::addGroup(QString name){	if(groupList.size()==0){		groupList.append(name);	}	else	{		for(int i=0;i<groupList.size();i++){			if(name.compare(groupList.value(i)) == 0){				break;				}			if(i== groupList.size()-1){				groupList.append(name);				}		}	}	writeGroupInfo();	cout<<"--"<<groupList.size()<<endl;}void MemberDataList::removeGroup(QString name){	for(int i=0;i<groupList.size();i++){		if(name.compare(groupList.value(i)) == 0){			groupList.removeAt(i);			break;		}	}	writeGroupInfo();}void MemberDataList::editGroup(QString name,QString rename){	groupList.removeAll(name);	groupList.append(rename);	writeGroupInfo();}void MemberDataList::writeSaveAddressValue(int index,int value){		rewind(fp);		fseek(fp,index*sizeof(value),SEEK_SET);		fwrite(&value,4,1,fp);		cout<<"write data:"<<value<<endl;}int MemberDataList::readSaveAddressValue(int index){		rewind(fp);		fseek(fp,index*sizeof(index),SEEK_SET);		int value;		fread(&value,4,1,fp);		return value;}void MemberDataList::initSaveAddressValue(){	if((fp=fopen("saveaddress.txt","r+b")) == NULL){		fp=fopen("saveaddress.txt","a+b");		for(int i=0;i<1000;i++){			spaceManager[i]=0;		}		fwrite(spaceManager,4,1000,fp);	}	else{		fread(spaceManager,4,1000,fp);		}	cout<<"+++++++++++++++++++++++++++++"<<endl;	for(int i=0;i<1000;i++){		cout<<spaceManager[i]<<" ";	}}void MemberDataList::changeValue(QString name,MemberData newValue){	for(int i=0; i<memberList.size(); i++){		if(name == QString(memberList.value(i).getName())){			newValue.setIndex(memberList.value(i).getIndex());			memberList.replace(i, newValue);			WriteSaveDataValue(newValue.getIndex(),newValue);			break;		}	}}void MemberDataList::remove(QString name){	for(int i=0; i<memberList.size(); i++){		if(name == QString(memberList.value(i).getName())){			writeSaveAddressValue(memberList.value(i).getIndex(),0);			spaceManager[memberList.value(i).getIndex()]=0;			memberList.removeAt(i);			break;		}	}}void MemberDataList::WriteSaveDataValue(int index,MemberData value){	rewind(fp);	fseek(fp, 4*1000+index*580 ,SEEK_SET);	fwrite(&value,sizeof(memberList.value(0)),1,fp);}void MemberDataList::initSaveDataValue(){	rewind(fp);	MemberData mb;	for(int i=0;i<1000; i++){		if(spaceManager[i] == 1){			rewind(fp);			fseek(fp,4*1000+i*580,SEEK_SET);			fread(&mb, sizeof(memberList.value(0)), 1, fp);			memberList.append(mb);		}	}}QList<QString> MemberDataList::allNameList(){	QList<QString> list;	QString name;	for(int i=0;i<memberList.size();i++){		name = QString(memberList.value(i).getName());		list.append(name);	}	return list;}void MemberDataList::writeGroupInfo(){	int size = groupList.size();	cout<<size<<endl;	rewind(gf);	fwrite(&size,sizeof(size),1,gf);	cout<<"start"<<endl;	for(int i=0;i<size;i++)	{		cout<<"dede"<<endl;		fwrite(groupList.value(i).toAscii().data(),32,1,gf);		cout<<groupList.value(i).toAscii().data()<<endl;	}}void MemberDataList::initGroupInfo(){	if((gf=fopen("savegroup.txt","r+b")) == NULL){		gf=fopen("savegroup.txt","a+b");	}	else{		rewind(gf);		int size;		fread(&size,sizeof(size),1,gf);		cout<<"read file size:"<<size<<endl;		char name[32];		for(int i=0;i<size;i++){			fread(name,32,1,gf);			groupList.append(QString(name));		}	}	cout<<"read size:"<<groupList.size()<<endl;}void MemberDataList::init(){	initGroupInfo();	cout<<"init group size:"<<groupList.size()<<endl;	cout<<"start init address:"<<endl;	initSaveAddressValue();	cout<<endl<<"end init address. start data:"<<endl;	initSaveDataValue();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -