Hjälp med c++, klasser.
Hej! Jag har fått en skoluppgift där jag ska göra en enkel godisautomat. Den ska inte ta pengar utan bara visa antal varor och låta användaren ta ut varor. Det ser ut såhär
main
#include <iostream>
#include "automatVara.h"
using namespace std;
void sell(automatVara&);
void menu();
int main()
{
automatVara Japp(5);
automatVara Snickers(4);
automatVara Twix(3);
automatVara Dajm(6);
menu();
int choice;
cin >> choice;
while (choice != 9)
{
switch (choice)
{
case 1:
sell(Japp);
break;
case 2:
sell(Snickers);
break;
case 3:
sell(Twix);
break;
case 4:
sell(Dajm);
break;
default:
cout << "Välj mellan 1, 2, 3 och 4" << endl;
break;
}
menu();
cin >> choice;
}
return 0;
}
void menu()
{
cout << "Lucka nr 1: Japp. Antal:" << endl;
cout << "Lucka nr 2: Snickers. Antal:" << endl;
cout << "Lucka nr 3: Twix. Antal:" << endl;
cout << "Lucka nr 4: Dajm. Antal:" << endl;
cout << "Skriv in numret på varan du vill ha, avsluta med 9" << endl;
}
void sell(automatVara& produkt)
{
if (produkt.HamtaAntalVaror() > 0)
{
produkt.makeSale();
cout << "Varsegod!" << endl;
}
else
cout << "Den varan är slut" << endl;
}
automatVara.h
class automatVara
{
public:
int HamtaAntalVaror ();
void makeSale ();
private:
int antalVaror;
};
automatVara.cpp
#include <iostream>
#include "automatVara.h"
using namespace std;
int automatVara::HamtaAntalVaror()
{
return antalVaror;
}
void automatVara::makeSale()
{
antalVaror--;
}
Når inte main fram till klassen eller? Uppskattar all hjälp på vägen ni kan ge!
||=== Build: Debug in Godisautomat (compiler: GNU GCC Compiler) ===|
D:\programmering\Godisautomat\main.cpp||In function 'int main()':|
D:\programmering\Godisautomat\main.cpp|10|error: no matching function for call to 'automatVara::automatVara(int)'|
D:\programmering\Godisautomat\main.cpp|10|note: candidates are:|
include\automatVara.h|1|note: automatVara::automatVara()|
include\automatVara.h|1|note: candidate expects 0 arguments, 1 provided|
include\automatVara.h|1|note: automatVara::automatVara(const automatVara&)|
include\automatVara.h|1|note: no known conversion for argument 1 from 'int' to 'const automatVara&'|
D:\programmering\Godisautomat\main.cpp|11|error: no matching function for call to 'automatVara::automatVara(int)'|
D:\programmering\Godisautomat\main.cpp|11|note: candidates are:|
include\automatVara.h|1|note: automatVara::automatVara()|
include\automatVara.h|1|note: candidate expects 0 arguments, 1 provided|
include\automatVara.h|1|note: automatVara::automatVara(const automatVara&)|
include\automatVara.h|1|note: no known conversion for argument 1 from 'int' to 'const automatVara&'|
D:\programmering\Godisautomat\main.cpp|12|error: no matching function for call to 'automatVara::automatVara(int)'|
D:\programmering\Godisautomat\main.cpp|12|note: candidates are:|
include\automatVara.h|1|note: automatVara::automatVara()|
include\automatVara.h|1|note: candidate expects 0 arguments, 1 provided|
include\automatVara.h|1|note: automatVara::automatVara(const automatVara&)|
include\automatVara.h|1|note: no known conversion for argument 1 from 'int' to 'const automatVara&'|
D:\programmering\Godisautomat\main.cpp|13|error: no matching function for call to 'automatVara::automatVara(int)'|
D:\programmering\Godisautomat\main.cpp|13|note: candidates are:|
include\automatVara.h|1|note: automatVara::automatVara()|
include\automatVara.h|1|note: candidate expects 0 arguments, 1 provided|
include\automatVara.h|1|note: automatVara::automatVara(const automatVara&)|
include\automatVara.h|1|note: no known conversion for argument 1 from 'int' to 'const automatVara&'|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|