Voila j ai vu et lu en diagonale les messages postés par Xs sur la reconnaissance de chaines et il semble bien ke ce dont j'ai besoin se touve ds cette partie du forum
le probleme est ke je ne comprends pas tt l algo car je n ai pas connaissance de ttes les variables utilisees
Je vous joint ma fonction recheche actuelle , alors si l'un de vous a une idee de modification par rapprt a mon code , je vous en remercie d'avance .
Voila j ai poste ici l'ensemble de la fonction recherche ki se decline en plusieurs types de recherche ( par auteur , par genre ... )
Reste plus k a trouver une idee pour ne plus avoir besoin de taper un nom exact mais seulement un ou deux caracteres et ke la ou les chaines correspondantes soient reconnues automatikement !!!
A tres vite Ciol
/*///////////////////////////////////////////////////////////////
Mp3 *rechercher();
In : void
Out : Mp3*
Usage : affiche le menu de recherche, appelle la fonction
recherche"Donnée" correspondante et renvoie le pointeur
sur l'objet trouvé
///////////////////////////////////////////////////////////////*/
Mp3 *Playlist::rechercher()
{
Mp3 *m;
char choix;
do
{
do
{
cin.clear();
cout << "\nRechercher Par:\n\n";
cout<<"\t1:Auteur\n\t2:Titre\n\t3:Genre\n\t4:Revenir au Menu\n\nChoix:\t";
cin>>choix;
}while (choix <49 || choix >52);
switch(choix)
{
case 49:
m = rechercherAuteur();
return(m);
break;
case 50:
m = rechercherTitre(1);
return(m);
break;
case 51:
m = rechercherGenre();
return(m);
break;
case 52:
break;
default:
cout << "\nErreur de recherche !\n";
getch();
break;
}
}while(choix != 52);
return (NULL);
}
/*///////////////////////////////////////////////////////////////
Mp3 *rechercherAuteur();
In : void
Out : Mp3*
Usage : - fonction appellée par la fonction "Playlist::rechercher()"
- renvoie le pointeur sur l'objet trouvé
///////////////////////////////////////////////////////////////*/
Mp3 *Playlist::rechercherAuteur()
{
Mp3 *temp=debut;
char auteur[50];
cout<<"\t\nQuel est l'auteur du MP3 recherch"<<(char)130<<" ?\t";
cin>>auteur;
//cin.getline (auteur, 50);
while(temp->getSuivant() != NULL && strcmp(temp->getSuivant()->getAuteur(), auteur) != 0) temp=temp->getSuivant();
temp->getSuivant()->afficher();
return(temp);
}
/*///////////////////////////////////////////////////////////////
Mp3 *rechercherTitre(bool);
In : void
Out : Mp3*
Usage : - TRUE:
- Fonction appellée par la fonction
"Playlist::rechercher()".
- Affiche l'objet recherché et renvoie le pointeur
sur cet objet.
- FALSE:
- Fonction appelée par la fonction "Playlist::SupprimerMp3()"
- Renvoie un pointeur sur l'objet trouvé.
///////////////////////////////////////////////////////////////*/
Mp3 *Playlist::rechercherTitre(bool drapeau)
{
Mp3 *temp=debut;
char titre[50];
if(drapeau)
{
cout<<"\t\nQuel est le titre du MP3 recherch"<<(char)130<<" ?\t";
cin>>titre;
//cin.getline (titre, 50);
while(temp->getSuivant() != NULL && strcmp(temp->getSuivant()->getTitre(), titre) != 0) temp=temp->getSuivant();
temp->getSuivant()->afficher();
return(temp);
}
else
{
cout<<"\t\nQuel est le titre du MP3 que vous d"<<(char)130<<"sirez supprimer ?\t";
cin>>titre;
//cin.getline (titre, 50);
while(temp->getSuivant() != NULL && strcmp(temp->getSuivant()->getTitre(), titre) != 0) temp=temp->getSuivant();
return(temp);
}
}
/*///////////////////////////////////////////////////////////////
Mp3 *rechercherGenre();
In : void
Out : Mp3*
Usage : - fonction appellée par la fonction "Playlist::rechercher()"
- renvoie le pointeur sur l'objet trouvé
///////////////////////////////////////////////////////////////*/
Mp3 *Playlist::rechercherGenre()
{
Mp3 *temp=debut;
char genre[50];
cout<<"\t\nQuel est le genre recherch"<<(char)130<<" ?\t";
cin>>genre;
//cin.getline (genre, 50);
while(temp->getSuivant() != NULL && strcmp(temp->getSuivant()->getGenre(), genre) != 0) temp=temp->getSuivant();
temp->getSuivant()->afficher();
return(temp);
}