c++ ongelma

Viope C :n viimeisessä tehtävässä harjoitellaan periytyvän luokan laatimista. Alla näet ohjelman, jossa on määritelty luokka Ajoneuvo. Pääohjelmassa käytetään Ajoneuvo-luokasta periytyvän Auto-luokan oliota. Sinun tehtävänäsi on Auto-luokan ja sen metodien tekeminen.

Vihje:
Tutki alla oleva ohjelma ja erityisesti sen kommentit huolella. Taaskaan alla olevaa koodia ei ole tarkoitus kopioida palautuskenttää, vaan ratkaisuksi riittää luokan ja sen metodien koodit.


#include
#include
using namespace std;

// Luokka Ajoneuvo sisältää saantimetodit
// AnnaPaino(), AnnaHuippunopeus(), AnnaAjetutKilometrit(), joiden avulla
// luokan Ajoneuvo muuttujien arvot voidaan lukea periytetyssä luokassa.
// Lisäksi Ajoneuvo sisältää metodin Aja(matka kilometreinä),
// joka kasvattaa ajoneuvolla ajettuja kilometrejä.

class Ajoneuvo
{
public:
int paino;
int huippu_nopeus;
long ajetut_kilometrit;
Ajoneuvo(int paino, int huippu_nopeus, long ajetut_kilometrit);
void Aja(int ajettava_matka);
int AnnaPaino();
int AnnaHuippunopeus();
long AnnaAjetutKilometrit();
};

// Luokassa on vain yksi alustusmetodi, jossa Ajoneuvon ominaisuudet
// viedään parametrina heti olion muodostamisen yhteydessä.

Ajoneuvo::Ajoneuvo(int Ap, int Ahn, long Akm)
{
paino = Ap;
huippu_nopeus = Ahn;
ajetut_kilometrit = Akm;
}

void Ajoneuvo::Aja(int ajettava_matka)
{
ajetut_kilometrit = ajettava_matka;
}

int Ajoneuvo::AnnaPaino()
{
return paino;
}

int Ajoneuvo::AnnaHuippunopeus()
{
return huippu_nopeus;
}

long Ajoneuvo::AnnaAjetutKilometrit()
{
return ajetut_kilometrit;
}

// Auto-luokka ja sen metodit (sinun ratkaisusi)
//
//
// Luokan ominaisuudet: (suluissa tietotyyppi)
// - merkki (string)
// - malli (string)
// - rekisteri_nro (string)
// - kaynnissa (bool)
// Luokan metodit
// - kaynnista(), muuttaa kaynnissa-muuttujan arvoksi 1
// - sammuta(), muuttaa kaynnissa-muuttujan arvoksi 0
// - katsasta(), tulostaa auton tiedot esimerkkitulosteen mukaisesti
// Muita huomioita
// - Muuttujien arvoihin pääset käsiksi käyttämällä Ajoneuvo-luokan saantimetodeja
// - Mikäli auto on käynnissä, kun se katsastetaan tulostetaan: "Auto käynnissä"
// - Vastaavasti auton ollessa sammutettuna, tulostetaan: "Auto ei ole käynnissä"


// pääohjelma
////////////////////////////////////////

int main()
{
int paino, nopeus;
long km;
string merkki, malli, rekkari;

// kysellään tietoja autosta
cout > merkki;

cout > malli;

cout > rekkari;

cout > paino;

cout > nopeus;

cout > km;
cout
51822
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Meinaatko että jonku pitäis tehdä tämä kotitehtävä puolestasi?

Äänestä

Ok, tässä koodia kun halusit

Yksi yhteen kopio ei ole, mutta tekee samantyyppiset asiat kuin tehtäväsi. Valitettavasti kielenä ei ole c++ mutta ehkäpä osaat soveltaa.. onnea!

ps. rivien alussa olevat välilyönnit korvasin pisteillä koska suomi24 söisi ne. Lopussa myös esimerkkitulostus!

class Vehicle(object):
....def __init__(self, weight, maxspeed, total_distance):
........self._weight = weight
........self._maxspeed = maxspeed
........self._total_distance = total_distance
....def get_weight(self):
........return self._weight
....def get_maxspeed(self):
........return self._maxspeed
....def get_total_distance(self):
........return self._total_distance
....def drive(self, distance):
........self._total_distance += distance

class Bike(Vehicle):
....def __init__(self, weight, maxspeed, total_distance, color, biketype):
........Vehicle.__init__(self, weight, maxspeed, total_distance)
........self._color = color
........self._biketype = biketype
....def get_color(self):
........return self._color
....def get_biketype(self):
........return self._biketype
....def steal(self):
........print 'You stole %s %s!' % (self.get_color(), self.get_biketype())
........total_distance = self.get_total_distance()
........if total_distance < 100:
............print 'Its brand new! - must be very valuable!'
........else:
............print 'too bad its old (driven %d kilometers)' % total_distance
........print 'Bike weighs: %f' % self.get_weight()

if __name__ == '__main__':
....color = raw_input('Give color of the bike:')
....biketype = raw_input('What kind of bike is it?')
....bikeweight = float(raw_input('How much bike weights (kg)?'))
....maxspeed = int(raw_input('What is maximum speed of bike (km/h)?'))
....total_distance = int(raw_input('How many kilometers this bike has been driven to this day?'))
....bike = Bike(bikeweight, maxspeed, total_distance, color, biketype)
....bike.steal()

## D:\temp>bike.py
## Give color of the bike:red
## What kind of bike is it?mountainbike
## How much bike weights (kg)?10.2
## What is maximum speed of bike (km/h)?45
## How many kilometers this bike has been driven to this day?0
## You stole red mountainbike!
## Its brand new! - must be very valuable!
## Bike weighs: 10.200000

Äänestä

Itekin pähkäilen tätä ihan samaa tehtävää. Tää tulostaa oikein siihen asti kunnes selvitetään onko auto käynnissä. Heittää sen todeksi myös silloinkin kun ei pitäisi.

---

class Auto: public Ajoneuvo
{
public:

string merkki;
string malli;
string rekisteri_nro;
bool kaynnissa;

Auto(int paino, long km, int nopeus, string merkki, string malli, string rekkari, bool kaynnissa);

bool kaynnista();
bool sammuta();
void katsasta();

};

Auto::Auto(int paino, long km, int nopeus, string Merkki, string Malli, string rekkari, bool kaynnissa):
Ajoneuvo(paino, km, nopeus)
{
rekisteri_nro = rekkari;
malli = Malli;
merkki = Merkki;

}

bool Auto::sammuta()
{
kaynnissa = 0;
}

bool Auto::kaynnista()
{
kaynnissa = 1;
}

void Auto::katsasta()
{
cout

Äänestä

Helppo juttu. C Raamatun sivulta 550 alkaen lisätietoa. cout

Äänestä

class Auto : public Ajoneuvo
{
public:
string merkki, malli, rekkari;
int nopeus, paino;
long km;
bool kaynnissa;


void kaynnista();
void sammuta();
void katsasta();
Auto(int a_paino, int a_nopeus, long a_km, string a_merkki, string a_malli, string a_rekkari, bool a_kaynnissa);
};

Auto::Auto(int a_paino, int a_nopeus, long a_km, string a_merkki, string a_malli, string a_rekkari, bool a_kaynnissa):
Ajoneuvo(a_paino, a_nopeus, a_km)
{
merkki = a_merkki;
malli = a_malli;
rekkari = a_rekkari;
kaynnissa = a_kaynnissa;
}

void Auto::sammuta()
{
kaynnissa=false;
}

void Auto::kaynnista()
{
kaynnissa=true;
}

void Auto::katsasta()
{
cout

Äänestä

Kommentoi aloitusta


benry kirjoitti:

Viope C :n viimeisessä tehtävässä harjoitellaan periytyvän luokan laatimista. Alla näet ohjelman, jossa on määritelty luokka Ajoneuvo. Pääohjelmassa käytetään Ajoneuvo-luokasta periytyvän Auto-luokan oliota. Sinun tehtävänäsi on Auto-luokan ja sen metodien tekeminen.

Vihje:
Tutki alla oleva ohjelma ja erityisesti sen kommentit huolella. Taaskaan alla olevaa koodia ei ole tarkoitus kopioida palautuskenttää, vaan ratkaisuksi riittää luokan ja sen metodien koodit.


#include
#include
using namespace std;

// Luokka Ajoneuvo sisältää saantimetodit
// AnnaPaino(), AnnaHuippunopeus(), AnnaAjetutKilometrit(), joiden avulla
// luokan Ajoneuvo muuttujien arvot voidaan lukea periytetyssä luokassa.
// Lisäksi Ajoneuvo sisältää metodin Aja(matka kilometreinä),
// joka kasvattaa ajoneuvolla ajettuja kilometrejä.

class Ajoneuvo
{
public:
int paino;
int huippu_nopeus;
long ajetut_kilometrit;
Ajoneuvo(int paino, int huippu_nopeus, long ajetut_kilometrit);
void Aja(int ajettava_matka);
int AnnaPaino();
int AnnaHuippunopeus();
long AnnaAjetutKilometrit();
};

// Luokassa on vain yksi alustusmetodi, jossa Ajoneuvon ominaisuudet
// viedään parametrina heti olion muodostamisen yhteydessä.

Ajoneuvo::Ajoneuvo(int Ap, int Ahn, long Akm)
{
paino = Ap;
huippu_nopeus = Ahn;
ajetut_kilometrit = Akm;
}

void Ajoneuvo::Aja(int ajettava_matka)
{
ajetut_kilometrit = ajettava_matka;
}

int Ajoneuvo::AnnaPaino()
{
return paino;
}

int Ajoneuvo::AnnaHuippunopeus()
{
return huippu_nopeus;
}

long Ajoneuvo::AnnaAjetutKilometrit()
{
return ajetut_kilometrit;
}

// Auto-luokka ja sen metodit (sinun ratkaisusi)
//
//
// Luokan ominaisuudet: (suluissa tietotyyppi)
// - merkki (string)
// - malli (string)
// - rekisteri_nro (string)
// - kaynnissa (bool)
// Luokan metodit
// - kaynnista(), muuttaa kaynnissa-muuttujan arvoksi 1
// - sammuta(), muuttaa kaynnissa-muuttujan arvoksi 0
// - katsasta(), tulostaa auton tiedot esimerkkitulosteen mukaisesti
// Muita huomioita
// - Muuttujien arvoihin pääset käsiksi käyttämällä Ajoneuvo-luokan saantimetodeja
// - Mikäli auto on käynnissä, kun se katsastetaan tulostetaan: "Auto käynnissä"
// - Vastaavasti auton ollessa sammutettuna, tulostetaan: "Auto ei ole käynnissä"


// pääohjelma
////////////////////////////////////////

int main()
{
int paino, nopeus;
long km;
string merkki, malli, rekkari;

// kysellään tietoja autosta
cout > merkki;

cout > malli;

cout > rekkari;

cout > paino;

cout > nopeus;

cout > km;
cout

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu