Il programma dovrebbe leggere da file dei nomi e le rispettive date di nascita, ma quando stampo nomi e date oltre a questi, escono tanti zeri quanto è il riempimento del vettore.
Questo è il file.cpp
- Codice:
#include <iostream>
#include "funzioni.h"
#include <fstream>
using namespace std;
void leggiVet (vettore v, int &r)
{
fstream f1;
f1.open ("nomi.txt", ios::in);
if (!f1)
{
cout<<"Errore nell'apertura del file\n";
}
f1>>r;
for (int i=0; i<r; i++)
{
f1>>v[i].nome;
f1>>v[i].anno;
}
f1.close ();
}
void stampaVet (vettore v, int r)
{
for (int i=0; i<r; i++)
{
cout<<"\n"<<v[i].nome<<"\n";
cout<<v[i].anno;
}
}
Questo è il file.h
- Codice:
#ifndef _funzioni
#define _funzioni
#define N 100
typedef char stringa [N];
typedef struct
{
int anno;
stringa nome;
} dati;
typedef dati vettore [N];
void leggiVet (vettore, int &);
void stampaVet (vettore, int);
#endif
Grazie a chiunque risponderà.