Moi. Olen vielä aloittelija ohjelmoimisessa ja päätin huvinvuoksi tehdä laskurin, joka muuttaa celsius-arvot fahrenheit-arvoiksi. Tässä on koodini, joka toimii hyvin.
float Kaava(float); int main() { float FerTemp; float CelTemp; cout << "Tämä on yksinkertainen C++:lla koodattu celsius - fahrenheit -laskuri."; cout << "\n\nMuuta celsiuksista fahrenheiteiksi arvo: "; cin >> CelTemp; FerTemp = Kaava(CelTemp); cout << "Antamasi arvo fahrenheitteina: "; cout << FerTemp << endl; return 0; } float Kaava(float CelTemp) { float FerTemp; FerTemp = ((CelTemp * 9) / 5) + 32; return FerTemp; }
Ongelma on siinä, että haluaisin nyt laajentaa tätä ohjelmaani niin, että laskuri kysyisi "Muuta celsiuksista fahrenheiteiksi arvo: ":n LISÄKSI kysymyksen toisinpäin, "Muuta fahrenheiteistä celsiuksiksi arvo: ". Eli mihin kohtaan tuo toinen kysymys pitäisi koodata? Jotenkin yritin toisen kysymyksen sinne sovittaa, mutta ohjelma näytti kysymyksen vasta sen jälkeen, kun ensimmäiseen kysymyksen on syöttänyt arvon ja ohjelma on laskenut sen. Molemmat kysymykset pitäisi näkyä samaan aikaan näytöllä ja molempiin pitäisi pystyä kirjoittamaan arvo samaan aikaan. Kiitos.
Siis tarkoititko että "celsuksista" kysymyksen jälkeen kysytään "fahrenheit" kysymyksen jälkeen. No laitat
cout << "\n\nMuuta fahrenheiteista celsuiksiksi arvo: "; cin >> FerTemp;
Cin kohdan jälkeen. Vai tarkoititko että miten todella pystyy kirjoittamaan kahdelle riville yhtä aikaan?
Sitä, että voi kirjoittaa kahteen kysymykseen (kahdelle riville) yhtä aikaa.
Siis tarkoititko jotakin systeemiä joka kysyisi:
Fahrenheit --> celsius vai celsius --> fahrenheit.
Komentoriville ei voi tehdä systeemiä, jossa olisi kaksi kysymystä saman aikaisesti, koska DOSissa (komentorivillä) ei ole kunnollista tapaa siirtyä näiden välillä. Yleensä paras toteutus on tehdä ohjelma, joka aluksi kysyy laskutoimituksen ja vasta sitten arvon, tarkistaa, mikä laskutoimitus valittiin ja tulostaa sen mukaisesti. Tässä epätäydellinen esimerkki:
int main() { int Toimitus, A, B; // Toistetaan, kunnes valitaan nolla while (true) { cout << "Mitä tehdään:" << endl; cout << "1. Yhteenlasku" << endl; cout << "2. Vähennyslasku" << endl; cout << "3. Poistutaan" << endl; cin >> Toimitus; if (Toimitus == 3) break; // Jos valittiin 3, poistutaan if (Toimitus != 2 || Toimitus != 1) continue; // Jos ei ole 1 eikä 2, palataan alkuun cout << "Anna 1. arvo:" << endl; cin >> A; cout << "Anna 2. arvo:" << endl; cin >> B; if (Toimitus == 1) cout << "Lukujen summa on " << A + B; else cout << "Lukujen erotus on " << A - B; } return 0; }
No suurinpiirtein tällaista tarkoitin että siinä lukisi:
Muuta celsiuksista fahrenheiteiksi arvo:(tähän kirjoitetaan arvo)
Muuta fahrenheiteista celsiuksiksi arvo:(tähän kirjoitetaan arvo)
Eli siis kahdelle riville tekstiä samanaikaisesti.
No silloin varmaan paras tapa olisi tehdä siitä windows-ohjelma. Jos kerta olet vielä aloittelija (niin kuin minäkin) niin suosittelen lämpimästi harjoittelemaan perus c++:saa kunnolla. Itse hyppäsin suoraan windows-ohjelmointiin ja sen huomaa, kun koodi on yhtä sotkua ja erroria pukkaa kokoajan.
Voit tehdä esim. näin:
cout << "Muuta celsiuksista fahrenheiteiksi arvo: "; cin >> celsius; cout << "Muuta fahrenheiteista celsiuksiksi arvo: "; cin >> farenheit; //muunnos ja tulostus
Konsolissa ei ole kätempää tapaa kuin tuo Metaboliksen näyttämä.
Niin, tuossa Heikin esimerkissä kysytään ja suoritetaan ensin C => F ja sitten F => C.
Sanoinhan tuon saman jo alussa :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.