Kezdőoldal » Számítástechnika » Programozás » Valaki segitene kijavitani...

Valaki segitene kijavitani azt, hogy hol a hiba?

Figyelt kérdés
Karel a robotnál kezdtünk el programozni,de elakadtam ide feltöltöttem minden fáljt amit használtam [link]
2016. szept. 30. 23:32
 1/8 anonim ***** válasza:
100%

Ha a kérdésednek megfelelő minőségű választ írnék, csak annyit mondanék, hogy nem.


Legalább azt nyögnéd ki, hogy mit kellene csinálnia és ehelyett mit csinál. De még erre sem vagy képes. Tudod, csak hogy legyen honnan kiindulnia annak a baleknak, aki segít neked...

2016. szept. 30. 23:56
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

stirs.kw ben az egy térkép ahol lépcsők vannak és fel kellene lépkednie rajta miközben kis csipógókat vesz fel és az utolsó fokon azokat leteszi.Mellékelem a képet a térképről.Egyéb dolog amiben szükség lenne még?

[link]

2016. okt. 1. 00:05
 3/8 anonim ***** válasza:
100%
Részemről ennyi. Jó éjt!
2016. okt. 1. 00:07
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
Én komolyan nem értelek.Azt sem tudom,hogy mit hogyan kezdjek neki nemhogy folytatni illetve nem tudom azt sem,hogy milyen plusz információkra lenne szükséged ,hogy segits.
2016. okt. 1. 00:21
 5/8 2*Sü ***** válasza:
100%

Gyanítom, hogy te tetted fel ezt a kérdést is:

http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..


Ott szépen leírták, hogy a függvények definiálásánál is, a meghívásuknál is kerek zárójelet () kell használni kapcsos zárójel helyett. A kapcsos zárójel a blokkok határát jelöli.


Tehát ehelyett:


void turnRight{} {

turnLeft{};

turnLeft{};

turnLeft{};


Ezt:

void turnRight() {

turnLeft();

turnLeft();

turnLeft();

}


(Itt ráadásul a blokkzáró kapcsos zárójel is hiányzik.)


Van benne még egy hiba, amitől ugyan jól fog működni, csak felesleges. A climbStair is felveszi a cuccokat , meghívja a pickBeeper függvényt, te meg külön meghívod még egyszer a main-ban a climbStair után, teljesen feleslegesen.


A kerek zárójel, a szögletes zárójel és a kapcsos zárójel különböző karaktereket jelent, mindegyiknek megvan a maga szerepe a nyelvben, és nem cserélheted fel őket. Előbb nézz meg példákat, és tanuld meg, hogy mi mire való, próbáld azt módosítani, és csak utána nekiállni bármit is magadtól csinálni, mert ez kicsit olyan, mintha úgy akarnál vezetni a városban, hogy még nem tanultad meg, hogy hogyan kell sebességet váltani, vagy nem tudod melyik a gáz- és melyik a fékpedál.


~ ~ ~


Amúgy az #1, #3 válaszoló azt várta volna el, hogy leírod a #2 mellé azt is, hogy mit csinál jelenleg a program. Egyáltalán lefut-e, ha nem, akkor pontosan, milyen hibát ír ki, ha lefut, akkor pontosan mit csinál és az miért nem jó. Kicsit olyan ez, mintha azt mondanád, hogy az telefonod rossz? Hogy rossz? Bekapcsol egyáltalán? Kiír valami hibaüzenetet? Nem lehet vele telefonálni? Vagy nem működik a hangerő gomb? Te kérdezel, ha releváns választ akarsz, akkor célszerű neked venned a fáradtságot, hogy lehetőleg minden információt megadj, ami megkönnyíti a válaszadást, ne nekünk kelljen megtalálni a kódodban, hogy pontosan mi is a problémád, ne harapófogóval kelljen kihúzni, hogy mi is a probléma pontosan. A másik kérdésnél viszonylag szépen össze is szedted ezt, csak nem biztos, hogy aki ezt a kérdést látja, az látta a másik kérdést, illetve mivel az oldal anonim, nem tudja, hogy te írtad-e azt ki, vagy valaki más. Ha te írtad ki, akkor legalább utalj a másik kérdésedre, linkeld be, vagy legyén ugyanolyan alapos itt is.

2016. okt. 1. 02:29
Hasznos számodra ez a válasz?
 6/8 tabaki ***** válasza:

Hányszor ismételtük el, hogy mi a hiba, a kérdésnél is, és privátban is? De nem, te jobban tudod, és dafke ugyanazt az értelmetlen marhaságot akarod megint lenyomni a torkunkon.

Nem minket kell meggyőznöd, hanem a C-fordítót. Márpedig az nem fog belefáradni és legyinteni, hogy ott egye meg a fene, legyen neked igazad...

Mutatok egy érdekeset. Fogtam a kódodat, és átírtam, pontosan úgy, ahogyan annyiszor javasoltuk:

[link]

Ha véletlenül a helyedben volnék, én bizony nagyon szégyellném magam.

2016. okt. 1. 20:46
Hasznos számodra ez a válasz?
 7/8 tabaki ***** válasza:
Hm... Most kaptam a hírt, hogy az előző kérdést nem te tetted föl, visszaszívom a gorombaságaimat, bocsánat. A jelek szerint a tanárotok hülyeséget írt fel a táblára, ami nem a legszerencsésebb kezdete egy most még ismeretlen tudomány elsajátításának. Majd egyéb szempontból is megnézem a kódodat, csak most mással vagyok elfoglalva.
2016. okt. 2. 22:12
Hasznos számodra ez a válasz?
 8/8 tabaki ***** válasza:

A kerek zárójeleket csak helyesbítettem, egyéb problémák:


#include "karel.h"


void turnRight(){

      turnLeft();

      turnLeft();

      turnLeft();

}      // <<< innen hiányzott a blokk lezárása


void climbStair(){

      turnLeft();

      movek();

      turnRight();

      movek();

      if(beepersPresent()){

            pickBeeper();

      }

}


int main(){

      turnOn("stairs.kw");


      movek();

      climbStair();

      pickBeeper();      // <<< megakad, mert már fölvetted a climbStair()-ben

      climbStair();

      pickBeeper();      // <<< megakad, mert már fölvetted

      climbStair();

      pickBeeper();      // <<< megakad, mert már fölvetted

      climbStair();

      putBeeper();      // <<< hiába rakod le, ha nem mégy tovább, nem látszik

      putBeeper();      // <<< ha nem mégy tovább, nem látszik

      putBeeper();      // <<< ha nem mégy tovább, nem látszik


      turnOff();

      return 0;

}      // <<< blokk vége, ide kapcsos zárójel kell

2016. okt. 3. 00:27
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!