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

580

    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ä.

    Luetuimmat keskustelut

    1. Hyvää iltaa!

      Mikä on päivän viisaus?
      Ikävä
      16
      457
    2. Näytät kivalta kun nukut

      *zoomaa palohälyttimen kameraa*
      Ikävä
      10
      412
    3. Haittaako jos

      kaivattusi käy tosi usein pissalla ja/tai kakalla?
      Ikävä
      16
      347
    4. Arvaa mitä mies

      Aion pilata elämäsi totaalisesti. Kyllä, totaalisesti.
      Ikävä
      3
      341
    5. Mies mä oon ihan helppo

      Miehelle johon oon ihastunut. Olen harvoin ihastunut, mutta suhun olen. Ei tarvitse kuin pyytää, niin...
      Ikävä
      13
      206
    6. Hyvää yötä

      Janne niminen mies🥰
      Ikävä
      1
      103
    7. 0
      90
    8. Mies olen aika erakko nykyään

      Vanhentunutkin olen muutamana viime vuonna parikyt vuotta. Kun en ennenkään kelvannut, niin tuskin nytkään kelpaan. Lisä
      Tunteet
      0
      90
    9. Kuinka moni palstalaisista on näin hyvässä kondiksessa

      76-vuotias rokkari Rick Springfield esittelee elämäntyyliään : https://www.youtube.com/watch?v=GbxHuNy6d68
      70 plus
      3
      67
    10. Olet onnellinen sinkku

      Näin se on nähtävä.
      Ikävä
      1
      61
    Aihe