Ennek mi a kódja c-ben?
Egy szöveges fájl egy dráma szövegét tartalmazza az alábbi példa által demonstrált formában:
A BankBan.txt példafájl tartalma:
BÁNK
Elárultattam?
TIBORC
Én Tiborc vagyok, kegyes nagyúr - no, lám!
BÁNK
Tiborc - (Gondolkodva járkál).
TIBORC
Igen - mert szólni kellenék
Nagy dolgokat -
BÁNK
Melindáról?
TIBORC
Nem arról.
BÁNK
Nem!
TIBORC
Lopni jöttem ide; mivel a szegény
Anya s gyermekek velem - (Elfojtódik.)
BÁNK
No jól van - úgy.
A drámafájlokban a beszélő nagybetűvel írt nevét tartalmazó sort szövegsorok követik, melyek tabulátor ('\t') karakterrel kezdődnek. A szövegsorokat pontosan egy üres sor követi.
Írj programot, mely beolvassa a standard inputról a drámafájl nevét és egy szereplő nevét, majd egy szöveges fájlba kigyűjti a szereplő összes szövegét.
Amennyiben a program standard inputja pl.
BankBan.txt Tiborc
akkor a program a Tiborc.txt fájlt hozza létre, melynek elvárt szerkezete:
Én Tiborc vagyok, kegyes nagyúr - no, lám!
Igen - mert szólni kellenék
Nagy dolgokat -
Nem arról.
Lopni jöttem ide; mivel a szegény
Anya s gyermekek velem - (Elfojtódik.)
A drámafájl neve nem hosszabb 30 karakternél.
A szereplők neve nem hosszabb 20 karakternél.
A drámafájl egyik sora sem hosszabb 100 karakternél.
Sem a drámafájl neve, sem a szereplők neve nem tartalmaz whitespace karaktereket.
A standard inputon érkező szereplőnév nem feltétlenül csupa nagybetűs, de a drámafájlban a beszélő neve az.
Az eredményfájl sorai nem tabulátorral kezdődnek.
Ékezetes karakterekkel nem kell foglalkoznod, a fenti példa hazaszeretetből született.
Segítség: Ez tipikusan olyan feladat, mely a fájl soronkénti feldolgozásával oldható meg a legegyszerűbben. Egy sor beolvasására használd az fgets függvényt, és a ciklust szervezd az fgets visszatérési értékére!
Az oké, hogy string.h kell hozzá, és használni kell hogy az egyik sor most tabulátorral kezdődik e vagy sem. Szükséges az strcat, strcmp a szereplő neve miatt, de hogy így összerakni a kódot hogy kéne?
És a feladat bármilyen drámafájl tartalma lehet, ez csak példa.





Nem fogjuk helyetted megcsinálni a házi feladatodat. Mutasd meg, mi van meg eddig, hol akadtál el és akkor segítünk.
Ha bele se tudsz kezdeni, akkor valószínűleg rossz szakon tanulsz.





>>Ha bele se tudsz kezdeni, akkor valószínűleg rossz szakon tanulsz.
Esélyesebb, hogy a szakkal semmi baj, vele annál inkább.










csinálsz egy Másol boolean-t ami kezdetben false
while (tart még a fájl) {
sort beolvasod
if (nagybetűs a sor, egyezik a szereplő) {Másol = true;}
else if (nagybetűs a sor, de nem az a szereplő) {Másol = false;}
else if (Másol true) {átmásolod a sort a kimenő fájlba Tab nélkül}
}
Ennyi nagyvonalakban. A lényeg, hogy a Másol-t kapcsolgatod aszerint, hogy ki beszél, és másolsz, ha be van kapcsolva éppen.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!