Hej! Nu har du snurrat till det här. Kan nån hjälpa mig att få rätt till koden?!?
Jag håller på att skriva ett aktie program (mycket enklet, försöker lära mig c++), kan nån rätta denna koden och se om den
funkar?
#include <iostream>
#include <stdlib>
#include <string>
//deklaration av klassen aktie
class aktie{
char foretag[25];
int aktier, varde, totalt;
void to() {totalt=aktier*varde;}
public;
void ordna (const char* fo, int x, int pris);
void visa();
};// klass aktie
void aktie::ordna (const char* fo, int x, int pris){
strcpy (foretag, fo);
aktier=x;
varde=pris;
tot();
}
void aktie::visa(){
cout<<"Företag: "<<foretag
<<"Aktier: " <<aktier<<'\n'
<<"Totalt: "<<totalt<<'\n'
}//slut
int main(void){
char namn[25];
int antal, pris:
aktie aktie1;
cout<<"ange aktie: ";
cin>>cin namn;
cout<<"ange antal: ";
cin>>antal;
cout<<"ange pris: ";
cin>>pris;
aktie1.ordna(namn, antal, pris);
aktie1.visa();
return 0;
}
//prototyp
void kop(int antal, int pris);
void salj(int antal, int pris);
void uppdatera(int pris);
//metoder
void aktie::kop(int antal, int pris){
aktier+=antal;
varde=pris;
tot();
}
void aktie::salj(int antal, int pris){
if(antal > aktier){
cout<<"Du har inte så många aktier!\n";
exit(1);
}
aktier-=antal;
varde=pris;
tot()}
void aktie::uppdatera(int pris){
varde=pris;
tot();
}
m.v.h gust@vSv: Kan nån hjälpa mig att få rätt till koden?!?
För det första bör du ha klassdefinitionen i en fil, definitionerna av metoderna i en fil och main i en fil.
Sen bör du absolut inte använda char* utan istället std::string, och dessutom har du inkluderat onödiga filer.
Så till att börja med borde du rensa upp klassdefinitionen. För det första; vad har "ordna" för funktion?
Jag skulle i så fall skriva det nåt så här (har bytt namnet också):
class Aktier{
public:
//konstruktor
Aktier(std::string foretag, int antal, int pris) : fo(foretag), n(antal), p(pris) {}
//Dina funktioner
//...
private:
std::string fo;
int n, p, tot;
void calctot() {tot=n*p);
};
Sen ska du skriva alla funktioner på samma sätt som du har gjort med aktie::visa. Deklarationen i "Aktier", defintionen med Aktier::fnksnamn.