Na verdade, meu problema não é só na abertura e escrita no arquivo, mas sim em como fazer a lógica para todo o programa, pois preciso perguntar ao usuário a faixa de espessuras, o raio interno, o diâmetro, realizar os cálculos e salvar no arquivo só as espessuras e os valores.....não tenho ideia de como fazer isso.
Tentei criar uma matriz e gravar cada faixa de valor em uma coluna especifica dela (ex: espessura na coluna 1 e valor na coluna dois) mas não rolou, e segundo o professor, com vetor também não da certo...ai fiquei sem saber como fazer...
adicionado 20 minutos depois
O que consegui fazer até o momento foi isso...
quando peço para imprimir o vetor vpeso na função quantidade, todos os valores saem 0.
estou testando com a impressão primeiro pra depois passar para a gravação no arquivo.
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
const float PI = 3.14;
const float y = 17.7;
char NOME[50], RA[8];
float s,r,d,q,valor,ptotal,custo,tmax, tmin;
int vpeso[100],vcusto[100],vesp[45],c,t,e,u,x;
int superficie ()
{
s=PI*PI*(2*r+d)*d;
return 0;
}
int quantidade ()
{
int t=0;
int c=0;
for (t=tmin; t<=tmax; t++)
{
ptotal=vesp[x]*s*y;
vpeso[t]=ptotal;
}
for (t=tmin; t<=tmax; t++)
{
printf("%d - ", vpeso[t]);
}
for(c=tmin; c<tmax; c++)
{
custo=vpeso[t]*valor;
vcusto[c]=custo;
}
return 0;
}
int main()
{
printf("Digite seu nome: ");
scanf("%[^\n]s",NOME);
printf("\n Digite seu RA: ");
scanf("%s", RA);
printf("\n Digite a espessura minima de ouro em µm: ");
scanf("%f", &tmin);
while(tmin<1)
{
printf("\n O valor minimo da espessura deve ser 5µm!");
printf("\n Digite a espessura minima de ouro em µm: ");
scanf("%f", &tmin);
}
printf("\n Digite a espessura maxima de ouro em µm: ");
scanf("%f", &tmax);
while(tmax<tmin||tmax>50)
{
printf("\n O valor maximo da espessura deve ser maior que o minimo e chegando ao maximo 50µm!");
printf("\n Digite a espessura maxima de ouro em µm: ");
scanf("%f", &tmax);
}
u=tmin-1;
for(x=tmin;x<=tmax;x++)
{
vesp[x]=u+1;
u=u+1;
}
for(x=tmin;x<=tmax;x++)
{
printf("%d - ", vesp[x]);
}
printf("\n Digite o raio interno do anel em mm: ");
scanf("%f", &r);
while(r<1)
{
printf("\n O raio interno deve ser maior que 0! ");
printf("\n Digite o raio interno do anel em mm: ");
scanf("%f", &r);
}
printf("\n Digite o diametro do anel em mm: ");
scanf("%f", &d);
while (d<1||d>=r)
{
printf("\n O diametro do anel deve ser maior que 0 e menor que o raio!");
printf("\n Digite o diametro do anel em mm: ");
scanf("%f", &d);
}
printf("\n Digite o valor do grama de ouro em R$: ");
scanf("%f", &valor);
while(valor<0)
{
printf("\n O valor do ouro deve ser no mínimo R$1");
printf("\n Digite o valor do grama de ouro em R$: ");
scanf("%f", &valor);
}
superficie();
quantidade();
return 0;
}