zsole Posted November 24, 2008 Share Posted November 24, 2008 sziasztok. segítségre lenne szükségem vavevi program ügyben . c be kellene írni a feladat.[8107] Vavevi C´el a jól ismert játékot megvalósító program elkészítése. Adott egy angol abc feletti szó. A feladat az, hogy az ¨osszes magánhangzót cseréljük le l egy magánhangzó-’v’-magánhangzó hármasra. A szó kis- és nagybetűket egyaránt tartalmazhat, a cserét ennek megfelelően kell végrehajtani. Bemenet A bemenet több sort tartalmazhat. Minden sor egy egybefüggő, legfeljebb 20 karakter hosszú szót tartalmaz. Kimenet A kimenet soronkénnt tartalmazza az átalakított szavakat.Minden szót külön sorba kell írni. Vigyázzunk a kis és nagy betűkre. itt tartok most. #include <stdio.h> #define MAX 20 FILE *fbe; FILE *fki; int i; char betu; int main() { i=0; fbe=fopen("./be.txt","rt"); fki=fopen("./ki.txt","wt"); while(!feof(fbe) || i<MAX ) { fscanf(fbe,"%c", &betu); switch(betu) { case 'a': fprintf(fki,"%c%c%c",betu,'v',betu);break; case 'A': fprintf(fki,"%c%c%c",betu,'V',betu);break; case 'e': fprintf(fki,"%c%c%c",betu,'v',betu);break; case 'E': fprintf(fki,"%c%c%c",betu,'V',betu);break; case 'i': fprintf(fki,"%c%c%c",betu,'v',betu);break; case 'I': fprintf(fki,"%c%c%c",betu,'V',betu);break; case 'o': fprintf(fki,"%c%c%c",betu,'v',betu);break; case 'O': fprintf(fki,"%c%c%c",betu,'V',betu);break; case 'u': fprintf(fki,"%c%c%c",betu,'v',betu);break; case 'U': fprintf(fki,"%c%c%c",betu,'V',betu);break; default: fprintf(fki,"%c",betu); } i++; } fclose(fbe); fclose(fki); } gcc -static -O2 vel kellene hibátlanul lefordítani. nem akar összejönni. segítsetek lécci. nem jól műkszik.... Idézés Link to comment Share on other sites More sharing options...
Tigermaster Posted Február 17, 2009 Share Posted Február 17, 2009 Először is sokat segítene, ha kiírnád, hogy milyen hibát kapsz a fordítótól(vagy hogyan működik rosszul). Ezen kívűl azért nem ártana ellenőrizni a fájlokat, hogy létezik-e ilyen, mielőtt írásra megnyitod, ráadásul miféle útvonal az a ./be.txt? . nevű mappád van? Amit használsz itt MAX-ot és i-t, az teljesen h*lyeség, hiszen úgyis betünként olvasod be a szöveget, és az a szöveg valójában egy sor(string), csak vannak benne sortörés jelek(ezeket nem látod jegyzettömbben). Mivel minden magánhangzónál ugyanazt a változót és betűt írod ki ezért egyszerűen készíthettél volna egy stringet, ami a magánhangzókat tartalmazza, és egy függvénnyel minden betűnél megvizsgálod, hogy tartalmazza-e a string azt a betűt, ha igen kiírja betu,'V',betu-t ha nem akkor csak betut. Bővebb segítséget akkor tudok adni, ha részletesen leírod, h mi a baj. Idézés Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.