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; }

Rispondi quotando