Viope tehtävä luku 9

Tälläistä tehtävää nyt olen yrittänyt miettiä mutta ei millää meinaan onnistua. Viope antaa vain virheeksi:

Tarkista vakiosyöttövirtaa (cin) käyttävistä lauseista tietojen lukemisen kohde (cin >> kohde). Esimerkiksi kohteena olevaan muuttujaan, ei saa kohdistaa samalla muita operaatioita.

Onko ideoita mikä on pielessä?

alla on luokka "Koira", josta puuttuu olioden muodostamiseen tarvittava alustusmetodi, sekä metodit TulostaTiedot() ja Hauku(). Täydennä luokkaa niin, että luokasta voidaan muodostaa olioita. Ja tee puuttuvat metodit. Olion muodostamisen yhteydessä olio saa arvot: ikä, nimi, rotu ja ääni.

// Minun koodi alla
class Koira
{
public:
string rotu;
string nimi;
string aani;
int ika;

Koira();
Koira(int ika, string uusi_nimi, string uusi_rotu, string uusi_aani);
void Hauku();
void AsetaNimi(string uusi_nimi);
void AsetaRotu(string uusi_rotu);
void AsetaIka(int uusi_ika);
void TulostaTiedot();
void AsetaAani(string uusi_aani);

};

Koira::Koira()
{
nimi = "Nimetön";
rotu = "Roduton";
ika = 0;
aani = "Äänetön";
}

Koira::Koira(int uusi_ika, string uusi_nimi, string uusi_rotu, string uusi_aani)
{
nimi = uusi_nimi;
rotu = uusi_rotu;
ika = uusi_ika;
aani = uusi_aani;
}

void Koira::Hauku()
{
cout << aani << endl;
}
void Koira::AsetaAani(string uusi_aani)
{
aani = uusi_aani;
}
void Koira::AsetaNimi(string uusi_nimi)
{
nimi = uusi_nimi;
}

void Koira::AsetaRotu(string uusi_rotu)
{
rotu = uusi_rotu;
}

void Koira::AsetaIka(int uusi_ika)
{
ika = uusi_ika;
}

void Koira::TulostaTiedot()
{
cout << "Nimi:" << nimi << endl;
cout << "Ikä:" << ika << endl;
cout << "Rotu:" << rotu << endl;
}

Seuraava C -ohjelma hyödyntää Koira-luokkaa tulostaen näytölle esimerkkitulosteen näköisen tulosteen. Allaolevaa koodia ei tarvitse kopioida.

#include
#include
using namespace std;

// Koira-luokan toteutus kokonaisuudessaan

int main()
{
Koira rekku(2, "Rekku", "Dalmatialainen", "Hau!!!");
cout << "Koiran tiedot:" << endl;
rekku.TulostaTiedot();
cout << "Koira sanoo: " << rekku.Hauku();
}

Esimerkkitulostus

Koiran tiedot:
Nimi: Rekku
Ikä: 2
Rotu: Dalmatialainen
Koira sanoo: Hau!!!
Ilmianna
Jaa

4 Vastausta


Metodi 'Hauku' itsessään tulostaa, vaan ei palauta mitään, jonka voisi tulostaa.
Ilmianna
Jaa
Samassa tehtävässä pahasti jumissa, enkä ymmärrä tuota vastausta, osaisko joku vähän tarkentaa mikä tässä tehtävässä vikana :)?
Ilmianna
Jaa
Itse painin myös tällä hetkellä tämän samaisen tehtävän parissa, teoriamateriaalissa on jotenkin köyhästi aiheeseen liittyvää perehdytystä.

Tiesin entuudestaan että pitää tuossa ongelmakohdassa jotain palauttaa, mutta en nyt näe millään että miten se menisi. Kaikki ratkaisut mitä olen yrittänyt on johtanut siihen tulokseen että tuolla rekku.Hauku() sulkeiden sisällä pitäisi olla joku lähtöarvo mutta se haukahdus tulee noiden muiden tietojen kanssa yhdessä.

Miten siis palauttaisin tuon haukahduksen tuonne rekku.Hauku() metodiin. Joku yksinkertainen ratkaisu tähän on varmasti ja sen jälkeen tulee pölö olo kun ei itse sitä nähnyt :D

Tämä on kurssin ainut tehtävä joka on jäljellä.
Kommentoi
Ilmianna
Jaa
1 VASTAUS:
Itseasiassa myt kun kirjoitin ton ongelman tänne ja katsoin asiaa kahvin herättämänä niin huomasin missä oli virhe. Ohjelma toimii niinkuin pitääkin ja kurssi tehty.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti

Vastaa alkuperäiseen viestiin

Viope tehtävä luku 9

Tälläistä tehtävää nyt olen yrittänyt miettiä mutta ei millää meinaan onnistua. Viope antaa vain virheeksi:

Tarkista vakiosyöttövirtaa (cin) käyttävistä lauseista tietojen lukemisen kohde (cin >> kohde). Esimerkiksi kohteena olevaan muuttujaan, ei saa kohdistaa samalla muita operaatioita.

Onko ideoita mikä on pielessä?

alla on luokka "Koira", josta puuttuu olioden muodostamiseen tarvittava alustusmetodi, sekä metodit TulostaTiedot() ja Hauku(). Täydennä luokkaa niin, että luokasta voidaan muodostaa olioita. Ja tee puuttuvat metodit. Olion muodostamisen yhteydessä olio saa arvot: ikä, nimi, rotu ja ääni.

// Minun koodi alla
class Koira
{
public:
string rotu;
string nimi;
string aani;
int ika;

Koira();
Koira(int ika, string uusi_nimi, string uusi_rotu, string uusi_aani);
void Hauku();
void AsetaNimi(string uusi_nimi);
void AsetaRotu(string uusi_rotu);
void AsetaIka(int uusi_ika);
void TulostaTiedot();
void AsetaAani(string uusi_aani);

};

Koira::Koira()
{
nimi = "Nimetön";
rotu = "Roduton";
ika = 0;
aani = "Äänetön";
}

Koira::Koira(int uusi_ika, string uusi_nimi, string uusi_rotu, string uusi_aani)
{
nimi = uusi_nimi;
rotu = uusi_rotu;
ika = uusi_ika;
aani = uusi_aani;
}

void Koira::Hauku()
{
cout << aani << endl;
}
void Koira::AsetaAani(string uusi_aani)
{
aani = uusi_aani;
}
void Koira::AsetaNimi(string uusi_nimi)
{
nimi = uusi_nimi;
}

void Koira::AsetaRotu(string uusi_rotu)
{
rotu = uusi_rotu;
}

void Koira::AsetaIka(int uusi_ika)
{
ika = uusi_ika;
}

void Koira::TulostaTiedot()
{
cout << "Nimi:" << nimi << endl;
cout << "Ikä:" << ika << endl;
cout << "Rotu:" << rotu << endl;
}

Seuraava C -ohjelma hyödyntää Koira-luokkaa tulostaen näytölle esimerkkitulosteen näköisen tulosteen. Allaolevaa koodia ei tarvitse kopioida.

#include
#include
using namespace std;

// Koira-luokan toteutus kokonaisuudessaan

int main()
{
Koira rekku(2, "Rekku", "Dalmatialainen", "Hau!!!");
cout << "Koiran tiedot:" << endl;
rekku.TulostaTiedot();
cout << "Koira sanoo: " << rekku.Hauku();
}

Esimerkkitulostus

Koiran tiedot:
Nimi: Rekku
Ikä: 2
Rotu: Dalmatialainen
Koira sanoo: Hau!!!

5000 merkkiä jäljellä

Peruuta