Hogyan kellene megírni ezt a függvényt?
a line függvénye kellene mivel beteg voltam és tanár az újrahasznosítás elvét használta (ergo másoljuk ki régiből) fogalmam sincs mit kell bele írni így csak a többi dolgot tudtam sajnos magamtól megírni.karakterenkénti olvasás bináris 0 a végére megjegyzést tettem mögé ennyire futotta.....valaki segítene benne mi van/lehet ebben a line függvénybe?esetleg kódban tudna segíteni?
#include <stdio.h>
#include <stdlib.>
struct adat{
int ssz;
char sor[200];
int szo;
}
int main (){
FILE *in;
FILE *out;
adat a;
in=fopen("program.cpp","r");
out=fopen("program.bin","wr");
a.ssz=1;
line(in,a.sor) //karakterenkénti olvasás bináris 0 a végére
while(!feof(in)){
a.szo=szoszam(a.sor);
fwrite(&a,sizeof(adat),1,out);
a.ssz++;
}
fclose(in);
fclose(out);
}
int szoszam(char s[])
{
int sz=0;
int i=0;
while(s[i]){
if(s[i]==' ' || s[i]=="\t" || s[i]=='\n")sz++;
i++;
}
return sz;
}
egyébként feladat kiírása:
Írjon programot, amely soronként beolvassa e program forrásállományát meg számolja soronként előforduló szavak számát, majd a következő struktúrájú állományba írja ki a sorokat:
short int sorszam; /*a beolvasott sorok sorszáma*/
char szoveg[80]; /*egy sornyi szöveg*/
int szoszam; /*az aktuális sorban lévő szavak száma*/
Mi a lótúrót nem tudsz ezen?
Olvasod karakterenként a szöveget...
Kezdőállapot: sorokszama=0, adat='' (ez jelképes), szoszam=0, szofigyelo: boolean=false (int)
Oszt olvasod a karaktereket ugyebár, ügyelve az eofra...
Első lépésben sorokszama++ (feltéve hogy nem eof)
Szóval szófigyelő false és nem space-t olvastál, akkor a szavakszáma++, és átállítod a szófigyelőt true-ra (1),
aztán amikor space-t olvasol, a szófigyelőt false-ra állítod :D
amikor meg sorvége jelet olvasol, akkor meg szépen beleírod a statot a kimeneti fájlba.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!