Due file contengono gli esiti di due parti di un esame universitario e sono
formati da una sequenza di righe ciascuna delle quali contiene il dato relativo
ad uno studente. Il formato di ciascuna riga è: Cognome Nome, Matricola,
Voto, dove Matricola e Voto sono dei valori interi (il voto espresso in
trentesimi), mentre Cognome e Nome delle stringhe (senza spazi).
I file contengono esattamente la stessa sequenza di studenti. Un esempio di
due file secondo il formato descritto è il seguente:
Bianchi Giulia, 23891, 24 Bianchi Giulia, 23891, 27
Grigi Filiberto, 52342, 27 Grigi Filiberto, 52342, 15
De Rossi Orazio, 34601, 18 De Rossi Orazio, 34601, 16
Verdi Maria Concetta, 12345, 25 Verdi Maria Concetta, 12345, 29
Si scriva un programma in C che prenda come parametri il nome di due file
aventi tale formato e il nome di un file di output, e scriva nel file di output gli
studenti che abbiamo ottenuto un voto medio uguale o superiore a 18
(arrotondato per eccesso).
Gli studenti devono comparire nel file di output nel formato: Nome Cognome:
Voto. Nell’esempio, il file di output sarà il seguente:
Giulia Bianchi: 26
Filiberto Grigi: 21
Maria_Concetta Verdi: 27
Questa è la traccia, ma a me da già errore nell'apertura dei file...
Non saprei come immagazzinare i dati dal file al vettore...
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
typedef struct studente {
char nome[10];
char cognome[10];
int numMatricola;
int mediaVoto;
}t_studente;
t_studente studente[2];
int main(int argc, char *argv[]) {
FILE* pf;
FILE* pf2;
int mediaVoti;
pf=fopen("file1.txt", "r");
if (pf == NULL){
printf ("Impossibile aprire il file numero 1");
exit(1);
}
pf2=fopen("file2.txt", "r");
if (pf2== NULL){
printf("impossibile aprire il file numero 2");
exit(1);
}
return 0;
}
Ho fatto una cosa del genere, ma non so come proseguire... ovviamente i file esistono nella cartella del progetto..
Vi prego aiuto..