Apua tarvitaan

Aloitteleva koodari

Tee laskinohjelma, joka laskee kahden kokonaisluvun summan, erotuksen tai tulon. Ohjelma kysyy ensin, mikä laskutoimitus suoritetaan (1 = summa, 2 = erotus, 3 = tulo). Laskutoimituksen jälkeen vastaus tulostetaan monitorille ja ohjelmaa palaa kysymään seuraavaa laskutoimitusta.

Laadi jokaista laskutoimitusta varten oma funktio, joka kysyy luvut, suorittaa halutun laskutoimituksen ja tulostaa vastauksen monitorille. Ohjelma lopetetaan syöttämällä negatiivinen luku, kuten edellisessä harjoituksessa.

Vihje:
Voit käyttää ohjelmasi runkona edellistä tehtävää. Laskutoimituksista ja tulostuksista vastaavat funktiot eivät ota vastaan parametrejä, eivätkä palauta mitään arvoa.


Esimerkkituloste:
1: kahden luvun summa
2: kahden luvun erotus
3: kahden luvun tulo

6

2091

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Selvitystä

      Siinäpä koulutehtävä. Pyysitkö opettajalta lupaa kopiointiin tänne vai toimitko luvatta?

    • Javaw

      Mitä järkeä sinun on ohjelmointia opetella, jos et osaa aivan yksinkertaisimpia tehtäviä tehdä? Et opi mitään, jos täällä vain kyselet neuvoa. Sen sijaan voisit vaikkapa paperilla miettiä, mitä ohjelma tarvitsee toimiakseen, ja miten se toimii.

      Noh, tässä summafunktio pseudokoodina. Loput funktiot osaat varmaan tehdä tämän esimerkin perusteella.

      void summa() {
      int luku1, luku2, summa;
      tulosta("Syötä 1. luku");
      kysyLuku(luku1);
      tulosta("Syötä 2. luku");
      kysyLuku(luku2);

      summa = luku1 luku2;
      tulosta(summa);
      }

      Fiksu koodari olisi toteuttanut kaikki laskutoimitukset yhdellä funktiolla;
      float laske(int toimitus, float luku1, float luku2) {
      if (toimitus == 1) {
      return luku1 luku2;
      } else if (toimitus == 2) {
      return luku1 - luku2;
      } else if (toimitus == 3) {
      return luku1 * luku2;
      } else {
      tulosta("Tuntematon laskutoimitus");
      return 0;
      }
      }

      Neuvoa saa toki kysyä, mutta pitää ensin itse yrittää. Toivottavasti nämä kaksi eivät ole olleet ainoat tehtäväsi.

    • Melkein valmis

      Alla on se, mitä olen saanut koodattua ja lopuksi oikea ratkaisu.
      Missä menee vikaan, kun ohjelma pyytää syöttämään ensimmäistä lukua, vaikka ohjelma pitäisi lopettaa negatiivisella luvulla?

      1:kahden luvun summa
      2:kahden luvun erotus
      3:kahden luvun tulo

      • Javaw

        Helpottaisi huomattavasti, jos olisit antanut nykyisen koodisi. Veikkaan että sinulta puuttuu (tai on puutteellinen) if-rakenne, joka tarkistaa onko luku negatiivinen;

        if (luku < 0) {
        break;
        }


    • Melkein valmis

      Tässä tämä nykyinen koodi.
      #include

      void summa(void);
      void erotus(void);
      void tulo(void);

      int main(void)
      {
      int valinta, luku1, luku2;
      do{

      printf("1:kahden luvun summa\n2:kahden luvun erotus\n3:kahden luvun tulo\n

      • Javaw

        Kyseessä juuri se, mitä arvelinkin.


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

    Luetuimmat keskustelut

    1. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      47
      7735
    2. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      33
      4283
    3. Ei tämä etene ikinä

      Kun kumpikaan ei enää ota yhteyttä. Mä en ainakaan uskalla.
      Ikävä
      57
      3765
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      50
      3220
    5. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      17
      2906
    6. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      69
      2636
    7. Miksi et irrota otettasi

      Suhteeni?
      Ikävä
      64
      2518
    8. Koko ajan olet

      Senkin suhteen kiusannut. Halut on ihan mielettömät olleet jo pitkään
      Ikävä
      58
      2469
    9. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      40
      2349
    10. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      16
      2306
    Aihe