Ohjelmointi 2 2017 / Pääteohjaus C1/Eclipse
Seuraavien harjoitusten tarkoituksena on opettaa C++ -ohjelmointiympäristön. C++ -ohjelmien editointia ja kääntämistä harjoitellaan Eclipse-kehitysympäritössä.
Oletetaan että Eclipseen on asennettu tarvittava lisäosa ohjeiden mukaan
1. Yksinkertaisen ohjelman kirjoittaminen ja kääntäminen Eclipse -kehitysympäristön avulla.
- Katso ohjeesta projektin luominen ja C++-ohjelman kirjoittaminen
- Lisää projektiin uusi CPP-tiedosto ja kopioi alla oleva painoi.cpp -tiedoston sisältö siihen. Oikeastaan projektissa ei muita C++-tiedostoja saakkaan olla (joissa on main-funktio).
- Tallenna projekti ja kaikki tiedostot.
- Käännä ohjelma Project/Build Project (jos ei ole Build Automatically päällä)
- Ohjelmointiympäristön pitäisi nyt tulostaa virheitä ja varoituksia. Klikkaamalla tai siirtymällä nuolinäppäimillä varoituksen/virheen kohdalle siirtyy kursori paikkaan, jossa varoitus/virhe on ohjelmakoodissa.
- Korjaa kaikki virheet ja varoitukset.
- Käännä ohjelma ja testaa sitä.
- Tarkista vielä lopuksi mitä tiedostoja kääntäjä on luonut projektihakemistoosi.
painoi.cpp
#include<iostream>
using namespace std;
double kysy_paino(double &pai)
{
cout<<"Anna painosi(kg)>";
cin>>pai
}
void kysy_pituus(double &pit)
{
cout<<"Anna pituutesi(cm)>";
cin>>pit;
}
int main(void)
{
double pituus,paino,nimi;
kysy_pituus(pituus);
kysy_paino(paino);
painoind=paino/( pituus*pituus/10000);
cout<<"Painoindeksisi on: "<<painoind<<"\n";
return 0;
}
2. Debuggerin käyttö.
C++ debuggeri toimii lähes samanlailla kuin Java debuggeri. Kokeillaan kuitenkin korjatun version painoi2.cpp ajamista debug-tilassa.
- Tee uusi projekti ja anna nimeksi painoi2. Kopioi alla oleva painoi2.cpp -tiedosto projektihakemistoosi ja päivitä projekti (projektin nimen päälle ja F5). Tai vaihtoehtoisesti voit taas tehdä uuden CPP-tiedoston ja kopioida painoi2.cpp -tiedoston sisällön siihen.
- Käynnistä ohjelma debug-tilassa painamalla F11.
- Kun debug-tila on päällä pitäisi ruudulla olla Variables-niminen "lärpsykkä". Tuolla näet lokaalit muuttujat ja niiden arvot. Oikalla napilla muuttujan nimen päällä voit mm. muuttaa muuttujan arvoa.
- Jos olet jossakin aliohjelmassa ja haluat nähdä kutsuneen modulin muuttujien arvoja, niin siirry Debug-ikkunassa modulin nimen (esim. main) päälle. Valitettavasti näkymä vaihtuu aina pois, jolloin sitä pitää itse vaihtaa takaisin.
- Voit myös keräillä tärkeimmät muuttujat omaksi Watch Expression kokoelmaksi: Mene muuttujan päällä ja paina oikeaa nappia ja Create Watch Expression. Kun Expression ikkuna löytyy, voit sinne lisätä muuttujia myös kirjoittamalla niiden nimet. Jos haluat esim. seurata pääohjelman paino-muuttujan käyttäytymistä ilman että tarvitsee koko ajan vaihtaa debug-ikkunan modulia, niin lisää main::paino
- Aja ohjelmaa rivi kerrallaan painamalla F5 tai F6, kuten Java-debuggerissakin. Voit myös asettaa koodiin keskeytyskohdan klikkaamalla koodieditorin vasempaan reunusta haluamasi rivin kohdalta (tai näppäimistöllä Ctrl-Shift-B). Valitsemasi rivin kohdalle pitäisi tulla pieni sininen täppä. F8 ajaa seuraavaan keskeytyskohtaan saakka.
- Katso välillä tulostusruutua, jossa ohjelma pyörii ja vastaile tarvittaessa syöttöihin.
- Kokeile uudestaan (F11). Käytä myös kursoriin saakka ajamista (eli siirrä kursori jollekkin riville ja paina Ctrl-R). Huomaa että ohjelman pitää olla tällöin debug-tilassa.
- Ohjelman ajon voi keskeyttää painamalla Run/Terminate tai punaista neliötä.
- Huolehdi ettei keskeneräisiä ajoja jää päälle.
painoi2.cpp
#include<iostream>
using namespace std;
void kysy_paino(double &pai)
{
cout<<"Anna painosi(kg)>";
cin>>pai;
}
void kysy_pituus(double &pit)
{
cout<<"Anna pituutesi(cm)>";
cin>>pit;
}
int main(void)
{
double pituus,paino;
kysy_pituus(pituus);
kysy_paino(paino);
double painoind=paino/( pituus*pituus/10000);
cout<<"Painoindeksisi on: "<<painoind<<"\n";
return 0;
}
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.