Sin compilar el código, parece que no ha de haber problemas.
¿Por qué no añades una línea a la función que muestre el contenido de matri y de uno.matricula[x], porque se supone que el problema es que la función strcmp no encuentra equivalencias.
Algo como:
Código:
for(x=1; x<=ultimo; x++)
{
imprime matri;<----Aqui
imprime uno.matricula[x];<--y aqui
if(strcmp(uno.matricula[x],matri)==0)
{
........................................
Por cierto, te puedes ahorrar la variable bandera si estableces como condición de if la propia comparación, como te dejo puesto en el extracto