Enviado em 20/05/2013 - 16:45h
E ai pessoal, beleza? Estou fazendo um programinha aqui simples pra fazer conversão de unidades, mas está dando erro de segmentação quando eu tento rodar o programa, será que alguém pode me ajudar?
Valeu.
(Tem algumas coisa de Windows porque eu estava testando no meu outro computador também, mas da erro na hora de digitar o nome do arquivo de entrada, então não chega em nada do windows.)
Valeu.
(Tem algumas coisa de Windows porque eu estava testando no meu outro computador também, mas da erro na hora de digitar o nome do arquivo de entrada, então não chega em nada do windows.)
/*Programa para conversão de KJ em Kcal
Autor: Djalma Lacerda de Oliveira Junior */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 1000
int cont;
float x[MAX], y[MAX], xk[MAX], yk[MAX];
char name_input[MAX], name_output[MAX];
void Leitura(){
int i;
FILE *input;
printf ("Este programa converte dados de KJ para KCal\n");
printf ("Entre com o nome do arquivo de entrada: \n");
fgets (name_input, MAX, stdin);
input = fopen (name_input, "r");
for (i = 0; i < MAX; i++){
fscanf (input, "%f", &x[i]);
fscanf (input, "%f", &y[i]);
if(y[i] == 0){
break;
}
cont = cont + 1;
}
fclose (input);
}
int Conversao(){
int i, n;
n = 0;
for (i = 0; i < cont - 1; i++){
yk[i] = (y[i] / 4.1868);
}
return 0;
}
int Impressao(){
int i;
printf ("Entre com o nome do arquivo de saida: \n");
fgets (name_output, MAX, stdin);
FILE *output;
output = fopen (name_output, "w");
for (i = 0; i < cont-1; i ++){
fprintf (output, "%f ", x[i]);
fprintf (output, "%f\n", yk[i]);
}
fclose (output);
return 0;
}
int main(){
Leitura();
Conversao();
Impressao();
printf ("Os dados foram convertidos com sucesso!\n");
system ("pause");
return 0;
}