mirkul
14-05-2012, 23:14
SAlve sono nuovo del forum e spero di non aver sbagliato nulla nel scrivere questo thread!
vi posto la parte di codice che ho scritto e già da qui non riesco a capire dove ho sbagliato!
/*inclusione delle librerire*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*inclusione delle variabili*/
#define MAX_LUNG_CODICE 7
#define MAX_LUNG_NOME 100
/*definizione della main*/
int main (void)
{
/*dichiarazione delle variabili*/
int i, k, stud_tot, matricola, esami_tot, voto_esame;
char codice_esame [MAX_LUNG_CODICE], nome_esame [MAX_LUNG_NOME];
FILE *file_studenti;
file_studenti = fopen("studenti.txt", "r");
/*acquisisco i dati da file*/
fscanf(file_studenti, "%d", &stud_tot);
printf("il numero degli studenti totali è: %d", stud_tot);
/*ciclo*/
i = 0;
while (i < stud_tot)
{
fscanf(file_studenti, "%d", &matricola);
printf("numero di matricola: %d", matricola);
fscanf(file_studenti, "%d", &esami_tot);
printf("il numero di esami sostenuti sono: %d", esami_tot);
k = 0;
while(k < esami_tot)
{
fscanf(file_studenti, "%s%s%d", codice_esame[], nome_esame[], &voto_esame );
printf("%s %s %d", codice_esame, nome_esame, voto_esame );
k++;
}
i++;
}
fclose(file_studenti);
return 0;
}
l'esempio del tipo di file dovrebbe essere
3 /*std_tot*/
11244 /*matricola*/
5 /*esami_tot*/
CZ001 matematica 8 /*codice nome voto*/
CZ002 geografia 6
. . .
...
.
12234
innanzitutto, dove ho sbagliato in questo codice, che non mi parte il programma?
quello che vorrei fare io è di prendere dei dati che ho inserito in un file e metterli in una struttura dati, ( in un albero R/N ).
allora io avrei pensato cosi:
leggere da file i miei dati i quali la prima riga corrisponde a stud_tot, la seconda a matricola, la 3° a esami_tot, la 4°codice_esame, nome_esame, voto_esame;
ed ognuna di queste righe deve corrispondere ad un dato che inserirò nella mia struttura!
ho provato a consultarli in vari libri ecc, ma non sono riuscito a trovare nulla!!!
grazie in anticipo a tutti quanti!
vi posto la parte di codice che ho scritto e già da qui non riesco a capire dove ho sbagliato!
/*inclusione delle librerire*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*inclusione delle variabili*/
#define MAX_LUNG_CODICE 7
#define MAX_LUNG_NOME 100
/*definizione della main*/
int main (void)
{
/*dichiarazione delle variabili*/
int i, k, stud_tot, matricola, esami_tot, voto_esame;
char codice_esame [MAX_LUNG_CODICE], nome_esame [MAX_LUNG_NOME];
FILE *file_studenti;
file_studenti = fopen("studenti.txt", "r");
/*acquisisco i dati da file*/
fscanf(file_studenti, "%d", &stud_tot);
printf("il numero degli studenti totali è: %d", stud_tot);
/*ciclo*/
i = 0;
while (i < stud_tot)
{
fscanf(file_studenti, "%d", &matricola);
printf("numero di matricola: %d", matricola);
fscanf(file_studenti, "%d", &esami_tot);
printf("il numero di esami sostenuti sono: %d", esami_tot);
k = 0;
while(k < esami_tot)
{
fscanf(file_studenti, "%s%s%d", codice_esame[], nome_esame[], &voto_esame );
printf("%s %s %d", codice_esame, nome_esame, voto_esame );
k++;
}
i++;
}
fclose(file_studenti);
return 0;
}
l'esempio del tipo di file dovrebbe essere
3 /*std_tot*/
11244 /*matricola*/
5 /*esami_tot*/
CZ001 matematica 8 /*codice nome voto*/
CZ002 geografia 6
. . .
...
.
12234
innanzitutto, dove ho sbagliato in questo codice, che non mi parte il programma?
quello che vorrei fare io è di prendere dei dati che ho inserito in un file e metterli in una struttura dati, ( in un albero R/N ).
allora io avrei pensato cosi:
leggere da file i miei dati i quali la prima riga corrisponde a stud_tot, la seconda a matricola, la 3° a esami_tot, la 4°codice_esame, nome_esame, voto_esame;
ed ognuna di queste righe deve corrispondere ad un dato che inserirò nella mia struttura!
ho provato a consultarli in vari libri ecc, ma non sono riuscito a trovare nulla!!!
grazie in anticipo a tutti quanti!