Elikkä olen juuri aloittanut ohjelmoinnin c++ kielellä ja yritin tehdä painoindeksilaskurin, mutta ohjelma kaatuu heti kun viimeiset arvot on syötetty, eikä tulosta ilmaannu ruudulle. Tämä voi olla kyllä täysin reisille vedetty:
#include <iostream> #include <cmath> using namespace std; int main () { float paino, pituus, indeksi; cout <<"Tervetuloa painoindeksi laskuriin! \n"; cout <<"Syötä painosi kg \n"; cin >> paino; cout <<"Syötä pituus m. \n"; cin >> pituus; // tässä kaatuu! indeksi = paino=/(pituus* pituus); cout <<"Painoindeksisi on...." << indeksi <<" End of the story"; return 0; }
mikähän tässä mättää?
Mod. lisäsi kooditagit
#Tämä odottaa syötettä.
cout <<"Tervetuloa painoindeksi laskuriin! \n";
#Mikset käyttäisi tässä mielummin cin komentoa tässä coutin tilalla?
cout <<"Painoindeksisi on...." << indeksi <<" End of the story";
Tuossa vois olla hyvä apu..
Ohjelma ei mitä ilmeisimmin kaadu(ellei pituus satu olemaan nolla, jolloin kyseessä on nollalla jako), mutta se sulkeutuu välittömästi, kun main-funktio loppuu, joten et ehdi nähdä viimeisintä tulostusta.
Lisää ohjelman loppuun(ennen return 0; -lausetta) vaikkapa windowsin tapauksessa system("pause"). Muitakin vaihtoehtoja löytyy, mutta sillä ei tässä vaiheessa ole merkitystä. Voit myös ajaa ohjelmasi komentoriviltä, jolloin ikkuna ei sulkeudu ohjelman päätyttyä ja tulosteet jäävät näkyviin.
TatuSalin: kannattaa tarkistaa omat tietonsa ennen kun yrittää auttaa muita. Viestisi on valitettavasti silkkaa disinformaatiota.
Ketjun aloittajan ohjaisin näiden pariin:
https://www.ohjelmointiputka.net/oppaat/opas.
https://www.ohjelmointiputka.net/oppaat/opas.
Tulos ei ilmaannu ruudulle, koska et vaihda riviä tulostuksen jälkeen. Tuloksesi siis ylikirjoittuu konsolin toimesta. Lisäksi toinen seikka mikä on tietääkseni vähän kääntäjäkohtainenkin, on että tuollaisena nuo tulostukset saattavat jäädä virtaan vellomaan eivätkä tule ruudulle asti. Käytä \n sijasta endl jolloin cout suoltaa standardivirran kiltisti ruudulle. Siis:
cout <<"Painoindeksisi on...." << indeksi << endl << " End of the story" << endl;
Edit.
Ei tuon kyllä pitäisi kelvata kääntäjällekään. Tässä on aika selvä typo:
indeksi = paino=/(pituus* pituus);
Aihe on jo aika vanha, joten et voi enää vastata siihen.