Noorbert Üdv mindenkinek! Most kezdtem c-ben programozni és a saját kis linuxomon problémába ütköztem fordításkor.. :S, A program egy szám párosságát vagy páratlanságát vizsgálja. A progi: "#include < stdio.h > int main() { int szam; printf("Add meg a szamot: "); scanf("%d", &szam); if (szam%2 == 0) { printf("A szam paros.\n") } else{ printf("A szam paratlan.\n"); } return 0; }" A hibaüzenet: "paros.c:1:19: error: stdio.h: No such file or directory paros.c: In function ‘main’: paros.c:5: warning: incompatible implicit declaration of built-in function ‘printf’ paros.c:6: warning: incompatible implicit declaration of built-in function ‘scanf’ paros.c:9: error: expected ‘;’ before ‘}’ token" Kérlek segítsetek, hogy mi a gond.
Noorbert zolee1988kiraktam de a kódtól független a hibaüzenet mert suliban szépen futott a progi viszont itthon mindegyik progira ezt a hibaüzenetet kapom. Az Xubuntu 8.04.-ben próbáltam és a Ubuntu 7.10. live módban.
mglas Hali! Ahogy elnézem, itt a gcc jelzett néhány, a kódban lévő logikai és szintaktikai hibát. Szóval nézd át a forrást, erősen figyelve a jegyzeteidre vagy könyvre, amiből tanulsz, és ha hibátlan, próbáld újra fordítani.
Ritana Noorbert#include után a kacsacsőrbe ne tegyél szóközöket, az 5. sorban a printf függvény végéről hiányzik egy ; jel is. Nem minden fordító ennyire szőrös szívű, de a gcc pont az. (de nem azért mert béna fordító, hanem éppen azért mert fejlett, szinte minden hibát lefülel még fordítási időben)
hityuxx Noorbert"Az Xubuntu 8.04.-ben próbáltam és a Ubuntu 7.10. live módban." Szerintem live módban nem fogja lefordítani, próbáld ki telepített rendszeren.
Noorbert Ritanaevvel csak az a gond, hogy a szóközök az #include utána a kacsacsőrben akkor kerültek oda amikor ide beírtam, hogy az oldal megjelenítse azaz ne vegye az oldal html tag-nek. A pontosvessző hiba valóban volt viszont a javítás után is fordításkor ugyanaz a hibaüzenet fogadott.
Ritana NoorbertMárpedig ezek a hibaüzenetek arra utalnak, hogy valamiért mégsem olvasta be az stdio.h headert. Várj, megpróbálom lefordítani én is. R
Ritana NoorbertHát nálam a fentiek kijavítása után hibajelzés nélkül lefordult :/ gcc paros.c parancs nem működik ?? Hmm, jobban megnézve, a kimenetben az első sorod kicsit fura... stdio.h fájl nem létezik ???
Noorbert Ritananem, nem működik.. :S viszont írtam múltkor egy nagyon egyszerű kis progit ami csak bekér egy számot majd kiírja azt de ennél is ugyanez a hibaüzenetet kapom!!! pedig abban már tuti nincs hiba, mert suliban működött és itthon meg nem.
Ritana NoorbertNem a programodban van a hiba, a kód a fenti javítással jó ! (mi baja is lehetne?) Próbáld meg a g++ fordítóval is (normál esetbe ugyanúgy beforgatja) g++ paros.c S telepítsd újra a synaptickel a gcc és a g++ -t. Más ötletem egyelőre nincs . R
mglas #include int main() { int szam; printf("Add meg a szamot: "); scanf("%d", &szam); if (szam%2 == 0) { printf("A szam paros.\n"); } else { printf("A szam paratlan.\n"); } return 0; } Ezt nálam "megette" a gcc.
mglas Noorbertott volt, csak arra nem figyeltem, hogy a hozzászólás elmentésénél html tag-nek érzékelte.
lacirta A kod helyesen: stdio-nal nincs space, es ide kell ; a sor vegere: printf("A szam paros.\n");
hityuxx lacirta"Az Xubuntu 8.04.-ben próbáltam és a Ubuntu 7.10. live módban." Szerintem live módban nem fogja lefordítani, próbáld ki telepített rendszeren.
Ritana lacirtaTök mindegy, g++ ugyanúgy fordít c++ -t, mint C-t. Sőt, azt hiszem minden C++ fordító C fordító is egyben. Itt most azt kell kideríteni, hogy hová tűnt az az stdio header. :)