¿Alguien sabe por que me da violacion de segmento (core generado) este código?
Incluyo tambien el fichero por si puede ayudar.
Código
/*Incluyo las libreria stdio.h porque voy a usar ficheros*/
#include<stdio.h>
/*Añado la libreria string.h para poder usar strings o cadenas*/
#include<string.h>
/*Defino las longitudes maximas dpara vectores y cadenas de caracteres*/
#define DIMMAX 200
#define STRMAX 200
/*Realizo la primera funcion del programa, en la cual pido el nombre del fichero de lectura.
Argumentos de entrada:
char NombreFichero[]: Variable de tipo char donde tengo el nombre del fichero de lectura
FILE* Fichero: Variable de tipo FILE donde esta el fichero de lectura de datos
Argumentos de salida:
No tiene
*/
void pedirNombre(){
char NombreFichero[100];
FILE* Fichero;
/*Uso un bucle do...while, para pedir el fichero hasta que se logre abrir*/
do {
/*Si no lo logra abrir, se lo comunica al usuario por pantalla*/
if(Fichero==NULL){
}
} while(Fichero==NULL);
}
/*Hago la funcion principal, donde recopilo toda la informacion de mi programa*/
int main(){
char NombreFich[STRMAX];
FILE* Fich;
float CantidadNumeros,Numeros[DIMMAX],SumaNumeros,Media;
int i;
/*Llamo a la funcion anterior*/
pedirNombre(&NombreFich,&Fich);
/*Abro el fichero de lectura de datos*/
/*Inicializo las variables a 0 para el bucle, que me recorrera todo el fichero*/
CantidadNumeros = 0;
SumaNumeros = 0;
i = 0;
/*Leo los numeros del fichero y los almaceno en un array flotante*/
/*Sumo dichos numeros*/
SumaNumeros = SumaNumeros + Numeros[i];
i = i + 1;
CantidadNumeros = CantidadNumeros + 1;
}
/*Calculo la media de los numeros y devuelvo la informacion por pantalla*/
Media = SumaNumeros / CantidadNumeros;
printf("En el fichero hay: %.0f numeros\nLa media de los numeros del fichero es: %f\n",CantidadNumeros,Media);
/*Cierro el fichero al acabar el programa*/
}


 
  




 Autor
 Autor
		


 En línea
									En línea
								




 
						
 
						