C++ markka -> euro

En saa toimimaan mitenkään tätä, enkä keksi mikä on vikana. Ohjelman pitäisi pyytää markkamäärää ja tulostaa se euroina kahden desimaalin tarkkuudella. Missä siis vika?


#include
int main()
{

int markka, muunnos;
float euro = 5,94573;

printf("Syötä jokin markkamäärä: \n");
scanf("%d", &muunnos);
scanf("%d", &markka);
scanf("%f", &euro);

muunnos = markka / euro

printf("Markat euroina: %.2f", muunnos);

}
81879
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

Tää nyt kuulostaa ihan koulutehtävältä, missä pitää etsiä virheet koodista. Ei tollasta koodia voi keksiä ku joku opettaja.

muunnos pitää olla myös float.

luetaan vain markat näppäimistöltä.

laskennan perään puolipiste.

Äänestä
  • Niin, itse tehty tuo ohjelmointi tuohon tehtävänannon perusteella. En saa vieläkään rullaamaan..

    Äänestä

  • Missä Vika? kirjoitti:

    Niin, itse tehty tuo ohjelmointi tuohon tehtävänannon perusteella. En saa vieläkään rullaamaan..

    perusteella päässyt?

    Voisitko pistää mitä koodisi on tällä hetkellä?

    Äänestä

  • Piru kirjoitti:

    perusteella päässyt?

    Voisitko pistää mitä koodisi on tällä hetkellä?

    #include
    int main()
    {

    int markka;
    float euro = 5.94573;
    float muunnos = markka / euro;

    printf("Syötä jokin markkamäärä: \n");
    scanf("%d", &markka);

    muunnos = markka / euro;

    printf("Markat euroina: %.2f ", muunnos);
    scanf("%f", &muunnos);

    }


    Tällä hetkellä näyttää tältä, mutta ohjelma ei suostu ajamaan sitä kahdella desimaalilla, vaikka %.2f on käytössä. Tulee virheilmoitus. Muilta osin toimii normaalisti. Kun vaihdan %.3f, niin tulee normaalisti kolme desimaalia. Eli en voi muuta kuin edelleen kysyä, Missä Vika?

    Äänestä

  • Missä Vika? kirjoitti:

    #include
    int main()
    {

    int markka;
    float euro = 5.94573;
    float muunnos = markka / euro;

    printf("Syötä jokin markkamäärä: \n");
    scanf("%d", &markka);

    muunnos = markka / euro;

    printf("Markat euroina: %.2f ", muunnos);
    scanf("%f", &muunnos);

    }


    Tällä hetkellä näyttää tältä, mutta ohjelma ei suostu ajamaan sitä kahdella desimaalilla, vaikka %.2f on käytössä. Tulee virheilmoitus. Muilta osin toimii normaalisti. Kun vaihdan %.3f, niin tulee normaalisti kolme desimaalia. Eli en voi muuta kuin edelleen kysyä, Missä Vika?

    Koitas tämmöistä. Tein aivan erilailla kun ei ollut ohjeistusta, mutta tämä toimii ainakin ja tulee desimaalit. Mutta kerro tarkemmat ohjeet jos ei kelpaa.

    #include
    using namespace std;
    int main()
    {

    double markat;
    double eurot = 5.94573;
    double muunnos;

    coutmarkat;

    muunnos = (double) markat / (double) eurot;

    cout

    Äänestä

  • Missä Vika? kirjoitti:

    #include
    int main()
    {

    int markka;
    float euro = 5.94573;
    float muunnos = markka / euro;

    printf("Syötä jokin markkamäärä: \n");
    scanf("%d", &markka);

    muunnos = markka / euro;

    printf("Markat euroina: %.2f ", muunnos);
    scanf("%f", &muunnos);

    }


    Tällä hetkellä näyttää tältä, mutta ohjelma ei suostu ajamaan sitä kahdella desimaalilla, vaikka %.2f on käytössä. Tulee virheilmoitus. Muilta osin toimii normaalisti. Kun vaihdan %.3f, niin tulee normaalisti kolme desimaalia. Eli en voi muuta kuin edelleen kysyä, Missä Vika?

    #include
    #include
    #pragma hdrstop
    //---------------------------------------------------------------------------
    #pragma argsused
    int main(void)
    {
    float markka;
    float euro = 5.94573;
    float muunnos=0;

    printf("Syötä jokin markkamäärä: \n");
    scanf("%f", &markka);
    muunnos = markka / euro;
    printf("Markat euroina: %.2f ", muunnos);
    getch();
    return 0;
    }
    //**************************************************************************

    Äänestä

  • Builder kirjoitti:

    #include
    #include
    #pragma hdrstop
    //---------------------------------------------------------------------------
    #pragma argsused
    int main(void)
    {
    float markka;
    float euro = 5.94573;
    float muunnos=0;

    printf("Syötä jokin markkamäärä: \n");
    scanf("%f", &markka);
    muunnos = markka / euro;
    printf("Markat euroina: %.2f ", muunnos);
    getch();
    return 0;
    }
    //**************************************************************************

    Nyt toimi, kun hieman muokkailin tätä pohjaa. Kiitoksia!

    Äänestä

Kyseessä lieneekin C.

Äänestä

Kommentoi aloitusta


Missä Vika? kirjoitti:

En saa toimimaan mitenkään tätä, enkä keksi mikä on vikana. Ohjelman pitäisi pyytää markkamäärää ja tulostaa se euroina kahden desimaalin tarkkuudella. Missä siis vika?


#include
int main()
{

int markka, muunnos;
float euro = 5,94573;

printf("Syötä jokin markkamäärä: \n");
scanf("%d", &muunnos);
scanf("%d", &markka);
scanf("%f", &euro);

muunnos = markka / euro

printf("Markat euroina: %.2f", muunnos);

}

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu