Ĺadny brzuch
;) sorry jak było juz o tym, ale nie znalazłam :lol:
mam problem z programem w C
#include <stdio.h>
#include "otworz.h"
main ()
{
/*co tu wpisać, żeby działała funkcja otworz_czytaj zapisana w pliku otwzorz.h*/
}
otworz_czytaj (char nazwa[FILENAME_MAX])
{
FILE*plik;
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
while ((plik=fopen(nazwa, "r"))==NULL)
{
perror ("blad otwarcia pliku!");
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
}
return plik;
}
BARDZO BYM WDZIĘCZNA BYŁA ZA POMOC;), BARZDO BARDZO WDZIECZNA ZA SZYBKŚ POMOC
Masz drobne błędy. Nie określiłaś typu zwracanego przez funkcję, zakładając że chcesz zwrócić wskażnik na FILE, powinno być tak :
FILE *otworz_czytaj(char nazwa[FILENAME_MAX])
A w main prościej być nie może :
//--------------------------------
#include <stdio.h>
#include "otworz.h"
main()
{
char tab[FILENAME_MAX];
otworz_czytaj(tab);
}
//--------------------------------
Only C++
BBAARRDDZZOO dziękuje za szybka odpowiedz
zaczęłam trochę kombinować i nie wychodziło ;)
dzieki
to może któś pomoże jeszcze w tym (dla pewności dodam że to jeden z programów do szyfrowania, więc za inne uwagi, podpowiedzi tez byłabym wdzieczna)
#include <stdio.h>
#include <ctype.h>
#include "otworz.h"
#include "przerobka.h"
FILE*otworz_czytaj(char nazwa[FILENAME_MAX]);
FILE*przerobka (char nazwa [FILENAME_MAX], FILE*plik, char c, int a);
main ()
{
FILE*plik;
char nazwa[FILENAME_MAX];
char c;
int a;
otworz_czytaj(nazwa);
przerobka (nazwa, plik, c, a);
}
FILE*otworz_czytaj (char nazwa[FILENAME_MAX])
{
FILE*plik;
char c;
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
while ((plik=fopen(nazwa, "r"))==NULL)
{
perror ("blad otwarcia pliku!");
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
}
return plik;
}
FILE*przerobka (char nazwa [FILENAME_MAX], FILE*plik, char c, int a)
{
FILE*plik2;
char nazwa2[FILENAME_MAX];
tmpnam(nazwa2);
plik2=fopen(nazwa2, "w+b");
if (plik2==NULL)
while((c=fgetc(plik))!=EOF)
{
int a;
if(isalpha©)
{
c=tolower©;
fputc(c,plik2);
}
else if(c == ' ' && a != c)
fputc(c,plik2);
else;
a=c;
}
fclose (plik2);
return plik2;
}
chodzi o to że program zapisany w kilku plikach, ma przygotować tekst do szyfrowania (tekst w jez. ang ma zawierac wyłącznie małe litery, wyrazy oddzielone pojedynczą spacją)
cytat:Magda1980 napisała:
...
Ty chcesz żeby ktoś na forum napisał cały program za Ciebie?? Trochę tych pytań na forum nie rozumiem...
BTW jeśli nie chce Ci się pisać samej programu to nie zaśmiecaj forum!! Napisz poprostu do mnie na GG :)
/Ja, dziesięć lat młodszy a takie śmieszne programiki piszę dla zabawy :)/
GG: 6197664
Tlen.pl: marek-90
-----------------
To może lepiej do mnie, jestem troche starszy :)
Only C++
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
mam problem z programem w C
#include <stdio.h>
#include "otworz.h"
main ()
{
/*co tu wpisać, żeby działała funkcja otworz_czytaj zapisana w pliku otwzorz.h*/
}
otworz_czytaj (char nazwa[FILENAME_MAX])
{
FILE*plik;
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
while ((plik=fopen(nazwa, "r"))==NULL)
{
perror ("blad otwarcia pliku!");
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
}
return plik;
}
BARDZO BYM WDZIĘCZNA BYŁA ZA POMOC;), BARZDO BARDZO WDZIECZNA ZA SZYBKŚ POMOC
Masz drobne błędy. Nie określiłaś typu zwracanego przez funkcję, zakładając że chcesz zwrócić wskażnik na FILE, powinno być tak :
FILE *otworz_czytaj(char nazwa[FILENAME_MAX])
A w main prościej być nie może :
//--------------------------------
#include <stdio.h>
#include "otworz.h"
main()
{
char tab[FILENAME_MAX];
otworz_czytaj(tab);
}
//--------------------------------
Only C++
BBAARRDDZZOO dziękuje za szybka odpowiedz
zaczęłam trochę kombinować i nie wychodziło ;)
dzieki
to może któś pomoże jeszcze w tym (dla pewności dodam że to jeden z programów do szyfrowania, więc za inne uwagi, podpowiedzi tez byłabym wdzieczna)
#include <stdio.h>
#include <ctype.h>
#include "otworz.h"
#include "przerobka.h"
FILE*otworz_czytaj(char nazwa[FILENAME_MAX]);
FILE*przerobka (char nazwa [FILENAME_MAX], FILE*plik, char c, int a);
main ()
{
FILE*plik;
char nazwa[FILENAME_MAX];
char c;
int a;
otworz_czytaj(nazwa);
przerobka (nazwa, plik, c, a);
}
FILE*otworz_czytaj (char nazwa[FILENAME_MAX])
{
FILE*plik;
char c;
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
while ((plik=fopen(nazwa, "r"))==NULL)
{
perror ("blad otwarcia pliku!");
printf ("podaj nazwe pliku: ");
scanf ("%s", nazwa);
}
return plik;
}
FILE*przerobka (char nazwa [FILENAME_MAX], FILE*plik, char c, int a)
{
FILE*plik2;
char nazwa2[FILENAME_MAX];
tmpnam(nazwa2);
plik2=fopen(nazwa2, "w+b");
if (plik2==NULL)
while((c=fgetc(plik))!=EOF)
{
int a;
if(isalpha©)
{
c=tolower©;
fputc(c,plik2);
}
else if(c == ' ' && a != c)
fputc(c,plik2);
else;
a=c;
}
fclose (plik2);
return plik2;
}
chodzi o to że program zapisany w kilku plikach, ma przygotować tekst do szyfrowania (tekst w jez. ang ma zawierac wyłącznie małe litery, wyrazy oddzielone pojedynczą spacją)
cytat:Magda1980 napisała:
...
Ty chcesz żeby ktoś na forum napisał cały program za Ciebie?? Trochę tych pytań na forum nie rozumiem...
BTW jeśli nie chce Ci się pisać samej programu to nie zaśmiecaj forum!! Napisz poprostu do mnie na GG :)
/Ja, dziesięć lat młodszy a takie śmieszne programiki piszę dla zabawy :)/
GG: 6197664
Tlen.pl: marek-90
-----------------
To może lepiej do mnie, jestem troche starszy :)
Only C++