Switch-lausella laskeminen

Missä Vika?

1: vähennyslasku
2: yhteenlasku
3: kertolaskuValitse toiminto:2
Anna eka luku:3
Anna toka luku:1
3 1=4


Tältä pitäisi näyttää, mutta viimeisen rivin tulostus ei onnistu. Voisiko joku auttaa, tiedän että se on todella pienestä kiinni..




#include

int main(void)

{
float luku1, luku2;
float miinus, summa, tulo;

char ch;

printf("1: vähennyslasku \n");
printf("2: yhteenlasku \n");
printf("3: kertolasku \n");
printf("Valitse toiminto: ");
ch=getchar();
printf("Anna eka luku: ");
scanf("%f", &luku1);
printf("Anna toka luku: ");
scanf("%f", &luku2);

miinus=luku1-luku2;
summa=luku1 luku2;
tulo=luku1*luku2;



switch (ch)
{
case 1:
printf("%f %f = %f\n",luku1,luku2,(luku1 luku2));
break;

case 2:
printf("%f - %f = %f\n",luku1,luku2,(luku1-luku2));
break;

case 3:
printf("%f * %f = %f\n",luku1,luku2,(luku1*luku2));

}

return 0;

}

4

477

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • fidel

      Pitäiskö sen mennä näin:

      switch (ch)
      {
      case '1':
      ...
      case '2':
      ...
      case '3':
      ...
      }

      Käyttäjän syöte '1' on inttinä 49, '2' 50 jne.

      • Missä Vika?

        Juuri näin, nyt toimii!


    • maukka79

      #include

      int main(void)

      {
      float luku1, luku2;
      float miinus, summa, tulo;

      char ch;

      printf("1: vähennyslasku \n");
      printf("2: yhteenlasku \n");
      printf("3: kertolasku \n");
      printf("Valitse toiminto: ");
      ch=getchar();
      printf("Anna eka luku:");
      scanf("%f", &luku1);
      printf("Anna toka luku: ");
      scanf("%f", &luku2);



      miinus=luku1-luku2;
      summa=luku1 luku2;
      tulo=luku1*luku2;



      switch (ch)
      {
      case 1:
      printf("%f %f=%f",luku1,luku2,(luku1 luku2));
      break;

      case 2:

      printf("%f- %f = %f\n",luku1,luku2,(luku1-luku2));
      break;


      case 3:
      printf("%f * %f = %f\n",luku1,luku2,(luku1*luku2));

      }

      return 0;

      }

      ei toimi mikä on vikana

    • Melkein ratkaistu

      Yhteenlaskun olen saanut toimimaan. Vähennyslasku on muuten oikein, mutta luvut yritetään laskea yhteen, vaikka kyseessä on vähennyslasku. Miten sen saa toimimaan? Ongelma näkyy alapuolella.


      Testi 2:n suoritusnäkymä
      Suoritusaika: < 10 ms
      1: vähennyslasku
      2: yhteenlasku
      3: kertolasku
      Valitse toiminto:1
      Anna eka luku:45
      Anna toka luku:7
      45 7=52

      Raportti


      Apua

      Virhe tulostuksessa: ohjelmasi tulosti "45 7=52", vaikka tulostuksen olisi pitänyt olla "45-7=38"

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. Millä voin

      Hyvittää kaiken?
      Ikävä
      99
      2860
    2. Jotain puuttuu

      Kun en sinua näe. Et ehkä arvaisi, mutta olen arka kuin alaston koivu lehtiä vailla, talven jäljiltä, kun ajattelen sinu
      Ikävä
      104
      2420
    3. Haluan sut

      Haluatko sinä vielä mut?
      Ikävä
      91
      2200
    4. Ampuminen Iisalmessa

      Älytöntä on tämä maailman meno.
      Iisalmi
      17
      2002
    5. 171
      1842
    6. Pohjola kadulla paukuteltu

      Iltasanomissa juttua.
      Iisalmi
      42
      1836
    7. Hei A, osaatko

      sanoa, miksi olet ihan yhtäkkiä ilmestynyt kaveriehdotuksiini Facebookissa? Mitähän kaikkea Facebook tietää mitä minä en
      Ikävä
      45
      1787
    8. Haluaisin aidosti jo luovuttaa ja unohtaa

      Ei tästä mitään tule koskaan.
      Ikävä
      78
      1736
    9. Synnittömänä syntyminen

      Helluntailaisperäisillä lahkoilla on Raamatunvastainen harhausko että ihminen syntyy synnittömänä.
      Helluntailaisuus
      133
      1529
    10. Mitä tämä tarkoittaa,

      että näkyy vain viimevuotisia? Kirjoitin muutama tunti sitten viestin, onko se häipynyt avaruuteen?
      Ikävä
      41
      1314
    Aihe