Deu certo @devair1010 e @Asrety, minha unica duvida agora é tipo:
o usuario entra com o numero que deve ser correspondido a um arquivo, mas eu preciso usar esse numero que o usuario entra para algumas condicionais, porém num eu preciso de variavel char e outra de variavel int, entao estou tendo que solicitar 2x o numero do usuario. tem alguma forma de eu corrigir isso?
meu programa até agora:
include<stdio.h>
#include<stdlib.h>
#include<math.h>
float f(float x)
{
return(pow(((6 * x) - 5), 0.5));
}
int main(void)
{
float limInf, limSup, coefLinear, coefAngular, *A, *t, soma = 0, area;
int n, i;
FILE *arqOrdem;
char nOrdem[50];
//Introdução do Programa
printf("Este programa resolve a integral da f(x) = (6x-5)^0.5 pelo metodo da Quadratura Gaussian. \n\n\n");
//Entrada de dados
printf("Entre com o limite inferior de integracao\n");
scanf("%f", &limInf);
printf("Entre com o limite superior de integracao\n");
scanf("%f", &limSup);
printf("Entre com o numero de pontos\n");
scanf("%d", &n);
printf("\nNome do arquivo: ");
scanf("%s", nOrdem);
strcat(arq,".txt");
//Alocação de Memória
A = malloc(n * sizeof(float));
t = malloc(n * sizeof(float));
//Correlação de A's e t's para o n definido
arqOrdem = fopen(nOrdem, "r");
for (i = 0; i <= n - 1; i++ ) {
fscanf(arqOrdem, "%f", &t[i]);
printf("\n%f\n",t[i]);
fscanf(arqOrdem, "%f", &A[i]);
printf("\n%f\n",A[i]);
}
fclose(arqOrdem);
//Calculo do coeficiente linear e angular
coefAngular = (limSup - limInf) / 2;
coefLinear = (limInf + limSup) / 2;
//Calculo da área
for (i = 0; i <= n - 1; i++)
soma = soma + (A[i] * coefAngular * f((coefAngular * t[i]) + coefLinear));
//Conclusão do programa
area = soma;
printf("\nA area da funcao (6x-5)^0.5 para %d pontos e A = %f\n", n, area);
//Liberação de memória
free(A);
free(t);
printf("\n");
system("Pause");
return 0;
}