Witam,
mam za zadanie napisać program z klasą "Samochód" i do niej kilka metod, np. tankuj, jedź, wł/wył silnik itd.
Napisałem taki program:
#include<iostream>
#include <string>
using namespace std;
class Samochod{
public:
bool silnik;
int paliwo;
int przebieg;
void uruchom_silnik(){
if (silnik == 0){
silnik = 1;
cout << "Uruchomiono silnik." << endl;
}
else cout << "Silnik jest juz uruchomiony!" << endl;
}
void zatrzymaj_silnik(){
if (silnik == 1){
silnik = 0;
cout << "Zatrzymano silnik." << endl;
}
else cout << "Silnik nie jest uruchomiony!" << endl;
}
void jedz(int odleglosc){
przebieg += odleglosc;
int spalanie = 0.08 * odleglosc;
paliwo -= spalanie;
}
void tankuj(int tankowanie){
if(paliwo + tankowanie > 50){
cout << "Tankowanie niemozliwe, przekroczono pojemnosc baku!" << endl;
return;
}
paliwo += tankowanie;
}
void prezentuj(){
if(silnik == 1)
cout << "Silnik: wlaczony" << endl;
else cout << "Silnik: wylaczony" << endl;
cout << "Przebieg" << przebieg << "km" << endl;
cout << "Ilosc paliwa w baku:" << paliwo << "litrow" << endl;
}
};
int main(){
int nr;
cout << "MENU ZARZADZANIA SAMOCHODEM" << endl;
cout << "Wybierz opcje" << endl;
cout << "1. Uruchom silnik" << endl;
cout << "2. Zatrzymaj silnik" << endl;
cout << "3. Jedz" << endl;
cout << "4. Tankuj" << endl;
cout << "5. Wyswietl informacje" << endl;
cin >> nr;
Samochod s1;
switch(nr){
case 1:
s1.uruchom_silnik();
break;
case 2:
s1.zatrzymaj_silnik();
break;
case 3:
int odleglosc;
cout << "Ile km chcesz przejechac?" << endl;
cin >> odleglosc;
s1.jedz(odleglosc);
break;
case 4:
int tankowanie;
cout << "Ile litrow chcesz zatankowac? (max 50)" << endl;
cin >> tankowanie >> endl;
s1.tankuj(tankowanie);
break;
case 5:
s1.prezentuj();
break;
}
return 0;
}
I nie wiem co oznaczają błędy:
[Error] no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' and '<unresolved overloaded function type>')
[Note] candidates are:
w linijce
cin >> tankowanie >> endl;
Proszę o pomoc, w ich naprawieniu.