Hirdetés

Keresés

Új hozzászólás Aktív témák

  • föccer
    nagyúr

    Sziasztok!

    Bocsinálta programozóként kell dolgoznom ( :( ) Van egy kód részlet, amint nem éltem, hogy miért nem jut át a kód.

    Tudnátok segíteni nekem, hogy mit csesztem el benne?

    Belép a switch-be ahol a Tarolas csak ezt a 3 értéket veheti fel (tesztelni a Szaraz ágon futok), de nem lép ki belőle és a konzolra már nem kerül ki a "Korrekció kiszámolva" üzenet..

    Köszönettel, FG

    // -------azonosítás
    console.log('Azonosítás indul');
    switch (Tarolas){
    case 'Szaraz': {Rikorr = ((Rimin*0.92) + 4.5);
    RikorrN = ((Rimin*0.95) + 5.5);
    Rmkorr = ((Rm*0.92) - 6.5);
    RmkorrN = ((Rm*0.95) - 8.5);
    console.log('Száraz ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;}
    case 'Nedves': {Rikorr = (Rimin + 4);
    RikorrN = (Rimin + 5);
    Rmkorr = (Rm - 6);
    RmkorrN = (Rm - 8);
    console.log('Nedves ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;}
    case 'NC' : {Eredmeny[2] = 'Tárolás miatt nem minősíthető';
    break;}}
    console.log('Korrekciók kiszámolva');

    Sziasztok!

    Köszönöm a reakciókat. Iránymutatás jó volt, úgy néz ki, hogy átlenüdlt a problémán.

    Bár nem értem, hogy miért, de így rendben fut. Az értetlenkedésem okat, hogy néhány sorral fentebb ugyan azzal a szintaktikával, amit tegnap írtam, hiba nélkül megy, míg ennél a résznél csak így, lecsupaszítva működik... :-/

    console.log('Azonosítás indul');
    switch (Tarolas){
    case 'Szaraz': Rikorr = ((Rimin*0.92) + 4.5);
    RikorrN = ((Rimin*0.95) + 5.5);
    Rmkorr = ((Rm*0.92) - 6.5);
    RmkorrN = ((Rm*0.95) - 8.5);
    console.log('Száraz ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;
    case 'Nedves': Rikorr = (Rimin + 4);
    RikorrN = (Rimin + 5);
    Rmkorr = (Rm - 6);
    RmkorrN = (Rm - 8);
    console.log('Nedves ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;
    case 'NC' : Eredmeny[2] = 'Tárolás miatt nem minősíthető';
    break;}

    console.log('Korrekciók kiszámolva');

    köszönöm, hogy ránéztetek. :R

    üdv, föccer

  • nevemfel
    senior tag

    Sziasztok!

    Bocsinálta programozóként kell dolgoznom ( :( ) Van egy kód részlet, amint nem éltem, hogy miért nem jut át a kód.

    Tudnátok segíteni nekem, hogy mit csesztem el benne?

    Belép a switch-be ahol a Tarolas csak ezt a 3 értéket veheti fel (tesztelni a Szaraz ágon futok), de nem lép ki belőle és a konzolra már nem kerül ki a "Korrekció kiszámolva" üzenet..

    Köszönettel, FG

    // -------azonosítás
    console.log('Azonosítás indul');
    switch (Tarolas){
    case 'Szaraz': {Rikorr = ((Rimin*0.92) + 4.5);
    RikorrN = ((Rimin*0.95) + 5.5);
    Rmkorr = ((Rm*0.92) - 6.5);
    RmkorrN = ((Rm*0.95) - 8.5);
    console.log('Száraz ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;}
    case 'Nedves': {Rikorr = (Rimin + 4);
    RikorrN = (Rimin + 5);
    Rmkorr = (Rm - 6);
    RmkorrN = (Rm - 8);
    console.log('Nedves ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;}
    case 'NC' : {Eredmeny[2] = 'Tárolás miatt nem minősíthető';
    break;}}
    console.log('Korrekciók kiszámolva');

    A swich case statement javascript alatt a következőképpen néz ki:

    switch (expression) {
    case value1:
    statements1;
    break; // opcionális
    case value2:
    statements2;
    break; // opcionális
    default:
    statements3;
    break; // opcionális
    }

    (value1 - 2 lehet Number és string is, ez a legfőbb különbség a C-hez képest.)
    Alapszintaktika, hogy bármilyen statement helyére tehetsz több statement-et tartalmazó utasításblokkot, kapcsos zárójelek közt: {}

    Te a breaket a {}-os utasításblokkba tetted, ami ebben az esetben nem a case esetből ugrik ki, hanem a {}-al jelölt utasításblokkból. Tehát ráfut a következő case esetre.

  • tick
    aktív tag

    Sziasztok!

    Bocsinálta programozóként kell dolgoznom ( :( ) Van egy kód részlet, amint nem éltem, hogy miért nem jut át a kód.

    Tudnátok segíteni nekem, hogy mit csesztem el benne?

    Belép a switch-be ahol a Tarolas csak ezt a 3 értéket veheti fel (tesztelni a Szaraz ágon futok), de nem lép ki belőle és a konzolra már nem kerül ki a "Korrekció kiszámolva" üzenet..

    Köszönettel, FG

    // -------azonosítás
    console.log('Azonosítás indul');
    switch (Tarolas){
    case 'Szaraz': {Rikorr = ((Rimin*0.92) + 4.5);
    RikorrN = ((Rimin*0.95) + 5.5);
    Rmkorr = ((Rm*0.92) - 6.5);
    RmkorrN = ((Rm*0.95) - 8.5);
    console.log('Száraz ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;}
    case 'Nedves': {Rikorr = (Rimin + 4);
    RikorrN = (Rimin + 5);
    Rmkorr = (Rm - 6);
    RmkorrN = (Rm - 8);
    console.log('Nedves ágon');
    console.log('Rikorr: ', Rikorr);
    console.log('RikorrN: ', RikorrN);
    console.log('Rmkorr: ', Rmkorr);
    console.log('RmkorrN: ', RmkorrN);
    break;}
    case 'NC' : {Eredmeny[2] = 'Tárolás miatt nem minősíthető';
    break;}}
    console.log('Korrekciók kiszámolva');

    node/Chrome alatt nalam megy gond nelkul.
    Milyen kornyezetben futtatod?
    A 'Száraz ágon' uzenet logolva van?

    Erdemes egyebkent betenni egy default caset is pl egy hibauzenettel, ha esetleg megsem csak ez a 3 ertek lenne.

Új hozzászólás Aktív témák