dudas con manejo de cadenas
void Cercar_1(pelicules& P)
{
char titol[100];
int i,c;
bool trobat;
trobat=false;
i=0;
cout<<endl;
cout<<"Introduexi el titol a cercar: ";
cin>>titol;
c=strcmp(P.tpelicules[i].titol,titol);
while ((i<=P.n_pelicules) && (trobat==false))
{
if (c==0)
{
trobat=true;
}
else
{
i=i+1;
}
}
if (trobat==true)
{
cout<<"Titol: "<<P.tpelicules[i].titol<<endl;
cout<<"Director: "<<P.tpelicules[i].director.nom;
cout<<P.tpelicules[i].director.cognom1;
cout<<P.tpelicules[i].director.cognom2<<endl;
cout<<"Actors: ";EscriureActors(P,i);
cout<<"Preu"<<P.tpelicules[i].preu<<endl;
}
else
{
cout<<"No Existeix"<<endl;
}
}
Esto es una acción de búsqueda. Previamente he introducido una serie de datos. Luego aplico la opción de buscar y me compara el título antes introducido con el de búsqueda. Yo los escribo igual, pero la acción me dice que el título no existe. A qué es debido?
{
char titol[100];
int i,c;
bool trobat;
trobat=false;
i=0;
cout<<endl;
cout<<"Introduexi el titol a cercar: ";
cin>>titol;
c=strcmp(P.tpelicules[i].titol,titol);
while ((i<=P.n_pelicules) && (trobat==false))
{
if (c==0)
{
trobat=true;
}
else
{
i=i+1;
}
}
if (trobat==true)
{
cout<<"Titol: "<<P.tpelicules[i].titol<<endl;
cout<<"Director: "<<P.tpelicules[i].director.nom;
cout<<P.tpelicules[i].director.cognom1;
cout<<P.tpelicules[i].director.cognom2<<endl;
cout<<"Actors: ";EscriureActors(P,i);
cout<<"Preu"<<P.tpelicules[i].preu<<endl;
}
else
{
cout<<"No Existeix"<<endl;
}
}
Esto es una acción de búsqueda. Previamente he introducido una serie de datos. Luego aplico la opción de buscar y me compara el título antes introducido con el de búsqueda. Yo los escribo igual, pero la acción me dice que el título no existe. A qué es debido?
Tu problema se debe a esto:
Al inicio declaras a trobar como false
trobat=false;
y después quieres usarlo con true
if (trobat==true)
El problema es que si el titulo que tu das de la pelicula no coincide con el primer nombre de la estructura
c=strcmp(P.tpelicules[i].titol,titol);
Si quieres comprobar que el titulo que pones esta dentro de la estructura tienes que hacer un ciclo que recorra todos los nombres de las peliculas si no la bandera no cambiara.
Al inicio declaras a trobar como false
trobat=false;
y después quieres usarlo con true
if (trobat==true)
El problema es que si el titulo que tu das de la pelicula no coincide con el primer nombre de la estructura
c=strcmp(P.tpelicules[i].titol,titol);
Si quieres comprobar que el titulo que pones esta dentro de la estructura tienes que hacer un ciclo que recorra todos los nombres de las peliculas si no la bandera no cambiara.
