• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

POMOC - zadania z obiektowości c++

Object Storage Arubacloud
0 głosów
460 wizyt
pytanie zadane 20 kwietnia 2019 w C i C++ przez Danielos Nowicjusz (240 p.)
edycja 20 kwietnia 2019 przez Danielos

Mam problem z zadaniami z obiektówki. W pierwszym zadaniu chodzi o to, aby utworzyć trzy obiekty cow, sheep i horse, tak aby program mógł zliczyć ich dzienne zapotrzebowanie wody. Urzytkownik wprowawdza dane obiektów do zmiennej input za pomoca funkcji getline() ,z której program następnie wczytuje dane za pomocą instrukcji warunkowej. Problem polega na tym, że nie umiem do końca rozrzyfrować w jaki sposób program to zlicza, przez co w konsoli po wpisaniu danych wyskakuje mi zero. Getline() w pętli też mi chyba nie działa...

Plik z zadaniem

kod: 

#include <iostream>
#include<cstdio>
#include <string>
using namespace std;
class FarmAnimal{
public:
	FarmAnimal(double water_consumption);
	double getWaterConsumption();
	double weight;
	double liters;
	double type;
private:
	double water_consumption;
};
FarmAnimal::FarmAnimal(double water_consumption) {
	this->water_consumption = water_consumption;
}
double FarmAnimal::getWaterConsumption() {
	return water_consumption;
}


class ConsumptionAccumulator
{
public:
	ConsumptionAccumulator();
	double getTotalConsumption();
	void addConsumption(FarmAnimal animal);
private:
	double total_consumption;
};
ConsumptionAccumulator::ConsumptionAccumulator() :
total_consumption(0)
{
}
double ConsumptionAccumulator::getTotalConsumption()
{
	return total_consumption;
}
void ConsumptionAccumulator::addConsumption(FarmAnimal animal)
{
	total_consumption += animal.getWaterConsumption();
}


class cow : public FarmAnimal{
public:
	cow(double weight) : FarmAnimal(weight*0.086){} 
};

class sheep : public FarmAnimal {
public:
	sheep(double weight) : FarmAnimal(weight*0.11){}
};

class horse : public FarmAnimal {
public:
	horse(double weight) : FarmAnimal(weight*0.068){}
};


int main()
{
	string input = " ";
	ConsumptionAccumulator accumulator;
	double weight;
	do
	{
		for (int i = 0; i < 2; i++) {
			getline(cin, input);
		}
		if (1 == scanf_s(input.c_str(), "cow %lf", &weight)) {
			accumulator.addConsumption(cow(weight));
		}
		else if (1 == scanf_s(input.c_str(), "sheep %lf", &weight)) {
 			accumulator.addConsumption(sheep(weight));
		}
		else if (1 == scanf_s(input.c_str(), "horse %lf", &weight)) {
			accumulator.addConsumption(horse(weight));
		}
		input = " ";
	} while (input != " ");
	cout << accumulator.getTotalConsumption();
	system("pause");
	return 0;
}

Mam jeszcze drugie zadanie odnośnie linked listy, którego całkiem nie rozumiem. Jeśli ktoś chciałby się podjąć tego to byłbym wdzięczny za rowziązanie, albo chociaż za wytłumaczenie.

Plik zad2

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 444 wizyt
0 głosów
1 odpowiedź 243 wizyt
+1 głos
1 odpowiedź 236 wizyt
pytanie zadane 19 kwietnia 2015 w PHP przez HaKIM Szeryf (87,590 p.)

92,620 zapytań

141,474 odpowiedzi

319,813 komentarzy

62,004 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...