Yo lo haría mas o menos así:
Código:
int BuscarAutor (obra v[], int n, string x)
//v es el vector que contiene los datos
//n es el número de elementos en el vector
//x es el dato buscado
{
for (int i = 0; i < n; i++)
{
if ( (v[i].autor == x) )
{
return i;
}
}
return -1;
}//BuscarAutor
La función devuelve int, si no lo encuentra devuelve -1 y si lo encuentra la posición en el array.