C zapis do pliku


(śledź) #1

siema, jestem zupełnym nowicjuszem jeśli chodzi o programowanie, mam problem z zapisem pliku w formacie csv, kopilator wyrzuca błąd typu:too few arguments for call, nie bardzo orientuję się czemu...pomoże ktoś z moim problemem? za krótkie tłumaczenie będę wdzięczny.

(program analizuje przebieg wielomianu 3 rzędu dla np 100 próbek i wyniki zapisywać do pliku)

include

include

include

void dziedzina(float *d1, float*d2)

{

printf("Podaj dziedzinę\n");

scanf("%f%f",d1,d2);

}

void parametry(float*a)

{

float tWsp[4];

printf("podaj parametry wielomianu\n");

scanf("%f%f%f%f",a,a+1,a+2,a+3);

}

void przebieg (float tWsp[4], float d1, float d2, float tWyniki[][2])

{

float d,x,y,n=100;

int p=0;

d=(d2-d1)/(n-1);

for(x=d1; x<=d2; x=x+d)

{

y=(tWsp[0]*x*x*x)+(tWsp[1]*x*x)+(tWsp[2]*x)+(tWsp[3]);

tWyniki[p][1]=x;

tWyniki[p][2]=y;

printf("\n%d dla x=%f %1.4f\n", x,y);

p++;

if(p+1==n) x=d1-d; //dla ostatniego elementu

}

}

void zapisywanie (float*tWyniki, int wielkość, float*d1, float*d2)

{

FILE*plik;

if ((plik= fopen_s("nowy dokument.csv","w"))==NULL);

{

printf("bład przy otwarciu pliku\n");

exit(1);

}

fprintf(plik,"%f",tWyniki);

fclose_s(plik);

return 0;

}

int main()

{

float tWyniki,tWsp[4], d1, d2;

setlocale(LC_ALL,"polish");

dziedzina(&d1,&d2);

printf("%f\t%f\n",d1,d2);

parametry(tWsp);

przebieg(tWsp,d1,d2,&tWyniki);

printf("%f\n", tWyniki);

zapisywanie(&tWyniki,&d1,&d2);

system("pause");

return 0;

}


(Sawyer47) #2

fopen_s, fclose_s to nie są standardowe funkcje. fopen_s obsługuje się inaczej niż standardowe fopen, zobacz http://msdn.microsoft.com/en-us/library ... 80%29.aspx albo użyj funkcji standardowych.

PS Jakiekolwiek formatowanie kodu bardzo zwiększyłoby jego czytelność.


(śledź) #3

niestety po zmianie na fopen i fclose dzieję się to samo;/.


(Drobok) #4

Pierwszy lepszy błąd z brzegu. Masz zapisywanie zadeklarowane z 4 argumentami a podajesz tylko 3. Naucz się korzystać z kompilatora i wstawiać kod w znacznik code.


(śledź) #5

ano faktycznie, dzięki