Buon giorno a tutti!
ora vi illustro il mio problema..praticamente ricevo in input un file txt con nella prima riga indicato il numero di elementi che seguono e su ogni riga che segue il nome dello studente separato da uno spazio dal suo numero di matricola. In primo luogo devo separare i nomi e le matricole in 2 file diversi e fin qui tutto ok.. poi devo chiedere all'utente di digitare il nome dello studente di cui vuole conoscere il numero di matricola.. io a questo punto devo cercare nel nuovo file dove sono presenti solo i nomi, lo studente, capire in che posizione si trova, accedere al file matricole e da li stampare il numero di matricola corrispondente.
Vi allego il codice così magari voi riuscite ad individuare il mio errore.. grazie =)

codice:
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;

int main (void)
{
    fstream input, outputnomi, outputmatricole;
    input.open("esercizio.txt",ios::in);
    outputnomi.open("outputnomi.txt",ios::out);
    outputmatricole.open("outputmatricole.txt",ios::out);
    int i,k,contatore;
    char nome[10], matricola[7], nominativo[10],outputmatricola[7],nomeout[10];
    input>>i;
    for (k=1;k<=i;++k)
    {
        input>>nome;
        input>>matricola;
        outputnomi<<nome<<endl;
        outputmatricole<<matricola<<endl;
    }
    cout<<"Digita il nome dello studente del quale vuoi conoscere la matricola\n";
    cin>>nominativo;
    outputnomi.open("outputnomi.txt",ios::in);
    outputmatricole.open("outputmatricole.txt",ios::in);
      
                  
    for(k=0;k<=i;++k)
    {
                  outputnomi>>nomeout;
                  if(!strcmp(nominativo,nomeout))
                  {outputmatricole>>outputmatricola;
                  cout<<outputmatricola;}
                  
    }
       
    
system("pause");
return 0;
}