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

606

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

      tekevät vaikeaksi kohdata kaivattusi?
      Ikävä
      73
      853
    2. Miltä se tuntuu

      Miltä se tuntuu havahtua, että on ollut ihmistä kohtaan, joka on rakastanut ja varjellut, täysi m*lkku? Vai havahtuuko s
      Ikävä
      104
      708
    3. 35
      577
    4. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      40
      575
    5. En mahda sille mitään

      Olet ihanin ja tykkään sinusta todella paljon.
      Ikävä
      29
      572
    6. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      46
      570
    7. Rakas

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      33
      559
    8. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      50
      540
    9. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      34
      537
    10. Sinunkin pitää jättää

      Se kaivattusi rauhaan.
      Ikävä
      35
      464
    Aihe