Error to read file.txt

Hi,i am having a problem with this C program that does not read the file.txt, and prints the message “error file”,How i can solve it? Thanks.

/*leggere nome file di testo,  acquisire nome cognome e media da file di testo,
 *
 *e stampare gli studenti in ordine crescente in base alla loro media*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define DIM 50
#define LUN 15
#define SALT 1

void AcquisireFileDiTesto(FILE **fp,char nome[DIM],char Vett1[DIM][LUN],float Vett2[DIM]);
void RiempireSpaziVuotiVett2(float Vett2[DIM]);
void CompattaVett1(char Vett1[DIM][LUN]);
void StampaInOrdineCrescenteDegliStudenti(char Vett1[DIM][LUN],float Vett2[DIM]);
int TrovaPosizioneMinimo(float Vett2[DIM]);

int main(){
	FILE *fp;
	char nome[DIM];
	char Vett1[DIM][LUN];
	float Vett2[DIM];

	printf("Inserisci il nome del file di testo (compreso di estensione) che vuoi aprire\n");
	scanf("%s",nome);

	AcquisireFileDiTesto(&fp,nome,Vett1,Vett2);
	CompattaVett1(Vett1);
	StampaInOrdineCrescenteDegliStudenti(Vett1,Vett2);

	system("pause");
	return 0;
}
void AcquisireFileDiTesto(FILE **fp,char nome[DIM],char Vett1[DIM][LUN],float Vett2[DIM]){
	char fine;
	int i = 0;
	int j = 0;
	*fp = fopen(nome,"r");

	if (*fp == NULL){
			printf("error file");
		}

	while (fscanf(*fp,"%c",&fine) != '0' ) {
		fscanf(*fp,"%s %s %f\n",Vett1[i],Vett1[i+1],&Vett2[j]); //nome cognome media
	    i = i + 1;
	    j = j + 2;
	}

	fclose(*fp);

	Vett1[i][0] = '0';
	Vett2[i] = 0;
	RiempireSpaziVuotiVett2(Vett2);
}
void RiempireSpaziVuotiVett2(float Vett2[DIM]){
	int i = 0;

	while(Vett2[i] != 0){
		if (i%2 == 1){
			Vett2[i] = 1;
		}
	    i = i + 1;
	}
}
void CompattaVett1(char Vett1[DIM][LUN]){
	int i = 0;

	while(strcmp(Vett1[i],"0") != 0 ){
		strcat(Vett1[i],Vett1[i+1]);
		i = i + 2;
	}
	Vett1[i][0] = '0';
}
void StampaInOrdineCrescenteDegliStudenti(char Vett1[DIM][LUN],float Vett2[DIM]){
	int i = 0;
	int j = 0;
	int pos;


	while(strcmp(Vett1[i],"0") != 0 ){
		pos = TrovaPosizioneMinimo(Vett2);
		printf("%s   %f\n",Vett1[pos+j],Vett2[pos]);
		Vett2[pos] = SALT;
		i = i + 1;
		j = j + 2;
	}

}
int TrovaPosizioneMinimo(float Vett2[DIM]){
	int i;
	int j = 0;
	int min = Vett2[j];


	while(Vett2[j] != 0){
		if (Vett2[j] < min && Vett2[j] != SALT){
			min = Vett2[j];
			i = j;
		}
		j = j + 1;
	}

	return i;
}

You could check errno and you could consider whether you specified a readable file