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

663

    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. Mitä mietit juuri nyt?

      🤔
      Ikävä
      91
      1052
    2. Aurinkoni...

      On ikävä sua ❤️
      Ikävä
      55
      732
    3. Huonoja uutisia-nyt lähtee höyrylaivat

      https://www.ita-savo.fi/ Konkurssiin meni tämäkin yritys. Raja kiinni ja venäläiset turistit puuttuvat. Täällä menee pe
      Savonlinna
      35
      614
    4. Ei näytä hyvältä

      Kyllä nyt Ähtäriä viedään vesikelkalla. Neuvotteliat untuvikkoja kaikki. Mikko tietty tapansa mukaan loikki puheenjohtaj
      Ähtäri
      39
      546
    5. Älä itke rakas.

      Tunnen sun kyyneleet silmissäni. Kaikki tulee menemään hyvin. Loppu häämöttää jo...
      Ikävä
      49
      490
    6. Jos vielä toivot...mies...

      Saisinpa jonkun merkin sinulta, jos vielä odotat 📝➡️📱 Rohkeus on mennyt jos seurustelet vaikka nykyisin. En halua häi
      Ikävä
      46
      475
    7. On ikävä sua

      Muru.
      Ikävä
      31
      469
    8. Ilahtuisin jos laittaisit viestin

      Mutta et niin tee 😔 sillä sun mielestä on mun vuoro.
      Ikävä
      34
      447
    9. Minkä haluaisit

      Nähdä kaivatultasi
      Ikävä
      38
      434
    10. Olet hurmaava

      Olet paras mies, joka on tullut vastaan. Sinussa on jotakin, mitä muissa ei ole. En vaan tiedä, mikä on oikein sinun su
      Ikävä
      14
      431
    Aihe