Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Clasa agenda telefonica

c



+ Font mai mare | - Font mai mic



Clasa agenda telefonica

Clasele Agenda_telef ce permite regasirea rapida a unor informatii pornind de la nume, numar de telefon, locatie, subsir din nume etc.



Clasa consta dintr-o serie de liste sortate, de pointeri de obiecte persoana, organizate dupa chei de cautare diferite ( L_nume, L_nr, L_locatie ).

Se va defini o clasa template lista, care implementeaza inserari, stergeri, cautari. Clasa template va fi invocata apoi pentru tipul cheilor de cautare ( char * si int ).

supraincarcari pentru operatorii:

<< si >> pentru inserari, stergeri din lista

<< si >> pentru operatii de intrare - iesire la nivel de obiecte

[ ] pentru cautare in lista dupa o cheie de tip generic <T>

functiile:

bool containing( nume, subsir) pentru a facilita cautarea dupa un subsir din nume ( folosind eventual strstr ( ) ).

#include<stdio.h>

#include<iostream.h>

#include<malloc.h>

#include<string.h>

#include <conio.h>

//definirea clasei persoana

class persoana

;

friend ostream& operator<<(ostream &iesire, persoana &p)

;

friend istream& operator>>(istream &intrare, persoana &p)

int operator ==(persoana a)

//definirea clasei nod

template <class tip> class nod

;

//definirea clasei lista

template <class tip> class lista

lista(const lista<tip> &l)

}

else

cap=NULL;

}

~lista()

};

void inserare(tip inf);

void stergere(tip inf);

friend ostream& operator <<(ostream& ies, lista<tip> l)

return ies;

}

nod<tip>* operator[](tip inf);

//se incheie definirea

template <class tip> void lista<tip>::inserare(tip inf)

template <class tip> void lista<tip>::stergere(tip inf)

else

else temp=temp->next;

}

}

}

};

template <class tip> nod<tip>* lista<tip>::operator[](tip inf)

return NULL;

};

//definirea clasei agenda

class agenda

return ies;

};

nod<persoana> * search(char abv[20])

nod<persoana>* agenda::operator <<(int tel)

}

}

}

nod<persoana>* agenda::operator >>(int tel)

}

}

void agenda::sortnume()

else

//o facem

else

if (!temp)

//adaug la sfarsit

else

//adaug in interior

if (trace)

else

//daca e la inceput

}

}

}

}

else lsortn.cap=NULL;

}

void agenda::sortlocatie()

else

//o facem

else

if (!temp)

//adaug la sfarsit

else

//adaug in interior

if (trace)

else

//daca e la inceput

}

}

}

}

else lsortl.cap=NULL;

}

void agenda::sorttelefon()

else

//o facem

else

if (!temp)

//adaug la sfarsit

else

//adaug in interior

if (trace)

else

//daca e la inceput

}

}

}

}

else lsortt.cap=NULL;

}

void main()

else cout<<'nnPersoana cautata nu exista!'<<endl;

//cautarea unei persoane dupa un subsir din nume

p=a.search('di');

if(p)

else cout<<'nnPersoana cu abrevierea data nu exista!'<<endl;

//sterg din lista sortata dupa nume

a.lsortn.stergere(p3);

cout<<'nnPersoanele ramase in agenda dupa stergere:'<<endl;

cout<<a;

getch();}



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1325
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved