C-ohjelmointi syksy 2009
Harjoitus 4
29-5.10.2009
Tehtävät 3-6. Tee menupohjainen ohjelma (kirjan tehtävä 8-6), joka tunnistaa seuraavat syötteenä annetut komennot:
i n n on kokonaislukuarvoa
r name name on tiedostonimi
w
s r r on kaksoistarkkuuden luku (double)
d
h
q
Ohjelma toimii saadun syötteen perusteella seuraavasti:
i Varaa muistilohkon n:ää kaksoistarkkuuden lukua varten. Jos on jo valmiiksi
varattu muistilohko, niin se vapautetaan.
r Lukee kaksoistarkkuuden lukuja annetusta tiedostosta muistilohkoon. Lukeminen
epäonnistuu, jos muistia ei ole varattuna. Lukeminen lopetetaan, kun joko
varattu muistilohko on täynnä tai lukuja ei voida enää lukea tiedostosta,
koska luvut loppuvat tiedostosta (EOF) tai lukemisessa tapahtuu virhe.
w Tulostaa muistilohkoon talletetut luvut.
s Etsii muistilohkosta annettua lukua ja ilmoittaa, löytyykö se vai ei. Etsiminen
epäonnistuu, jos muistilohkoa ei ole varattu.
d Tällä säädellään virheenjäljityssanomien tulostusta. Ensimmäisellä kerralla
asetetaan virheenjäljitys päälle ja tulostetaan virheenjäljitysinformaatiota,
toisella kerralla poistetaan virheenjäljitys ja siihen liittyvä lisäinformaatio.
Sen jälkeen aina joka toinen komento asettaa virheenjäljityksen päälle ja joka
toinen poistaa sen päältä. On käytössä vain, jos ohjelma on käännetty
virheenjäljitysmoodissa (debugging mode).
h Näyttää kaikki käytettävissä olevat komennot.
q Sulkee kaikki avatut tiedostot, vapauttaa varatun muistitilan ja lopettaa
ohjelman suorituksen.
.
Ohjausaikoina opittavia asioita: