Witam, mam pewien problem, napisalem program silnia, ktory zapisuje n wartosci do pliku, wszystko ok no ale moja wykladowczyni wymaga aby program byl zapisywany binarnie. Ponizej wstawiam program ktory zapisuje normalnie do pliku.
01 #include <stdio.h>
02 #include <stdlib.h>
03
04 int silnia(int n);
05
06 int main()
07 {
08 FILE plik;
09 int n,i;
10 plik=fopen("silnia","w");
11 do
12 {
13 printf ("podaj liczbe ");
14 scanf ("%d",&n);
15 } while (n<0);
16 for (i=0;i<=n;i++)
17 {
18 fprintf (plik,"Silnia z %2d wynosi : %-12d\n",i,silnia(i));
19 }
20 fclose(plik);
21 system ("PAUSE");
22
23 }
24
25 int silnia (int n)
26 {
27 int i=1,wynik=1;
28 for (i;i<=n;i++)
29 {
30 wynik=i;
31 }
32 return wynik;
33 }
Po mojej probie przerobienia tego wyglada to tak:
01 #include <stdio.h>
02 #include <stdlib.h>
03
04 int silnia(int n);
05
06 int main()
07 {
08 FILE *plik;
09 int n,i;
10 int *wsk;
11 plik=fopen("silnia","wb");
12 do
13 {
14 printf ("podaj liczbe ");
15 scanf ("%d",&n);
16 } while (n<0);
17 for (i=0;i<=n;i++)
18 {
19 int wsk=("Silnia z %2d wynosi : %-12d\n",i,silnia(i));
20 fwrite (wsk,sizeof(wsk),1,plik);
21 }
22 fclose(plik);
23 system ("PAUSE");
24
25 }
26
27 int silnia (int n)
28 {
29 int i=1,wynik=1;
30 for (i;i<=n;i++)
31 {
32 wynik=i;
33 }
34 return wynik;
35 }
Aczkolwiek nie dziala, dlatego jakby ktos mogl to poprawic to bylbym wdzieczny, jutro mam zaliczenie no i raczej bedzie zadanie tego typu, mam na mysli zapisywanie binarne.