Hilfe benötigt!! Problem bei überprüfung eines Wertes (globale Variable oder in der .cpp einer Klasse?)
-
Fehler
-
Also:
1. Verwende Code-Tags
Hättest du sie verwendet, hätte ich mir sogar deinen Code angeschaut.// Drück Zitieren um zu sehen wie´s geht.2. Es gibt keine If-Schleifen, höchstens If-Anweisungen.
3. Man kann keine globalen Variablen in main anlegen, das muss man außerhalb machen
Gruß
Don06
-
Zeig mal deinen ganzen Code ... der soweit man es bisher sieht ziemlich grober Mist ^^ Achja ... wenn du als Return-Value int hast, musst du auch nen int zurückgeben. Nimm void und der meckert nicht.
-
Fehler
-
Ich glaube, dass sich mehr Leute den Code anschauen würden, wenn du ihn in den entsprechenden Tag ([cpp]) setzt.
-
Sorry bin zum ersten mal in so einem Forum wie mache ich das?
Danke
-
Einfach vor deinen Code
und nach deinen Codesetzen.
-
Hallo
Kurzbeschreibung
Möchte dann im Programm die Startgebühr abhängig ob jemand Hobbyklasse oder Vereinsläufer ist, ausgeben.
Vereinsläufer soll dann eine Vererbung von Läufer werden und all Attribute und Methoden übernehmen.
Bei der Eingabe der Läufer wir dan gefragt ob jeamand im Verein ist oder nicht.
Wenn ja wird ein entsprechender Wert zu gewissen und dann beim Anzeigen der gesamten Läufer mit auf dem Bildschrim angezeigt.Hobbläufer soll dann ein Objekt der Klasse LAEUFER werden oder so?............
-
nja hab das jetzt nicht nach deiner beschreibung gemacht sondern deinen Code korrigiert/verbessert:
#if !defined(WALKER_H__INCLUDED) #define WALKER_H__INCLUDED #if (_MSC_VER > 1000) #pragma once #endif // (_MSC_VER > 1000) #include <string> class Walker { public: Walker(const unsigned short&, const std::string&, const std::string&, const char, const bool); ~Walker(); public: void show_data(); void set_time(const float& time) { m_time = time; } bool is_hobby_run() const { return m_itshobby; } private: void calc_payment(); private: int m_startpos; std::string m_prename; std::string m_name; char m_sex; float m_time; bool m_itshobby; int m_payment; }; #endif // WALKER_H__INCLUDED#include "Walker.h" #include <iostream> Walker::Walker(const unsigned short& start_pos, const std::string& prename, const std::string& name, const char sex, const bool hobby_run) : m_startpos(start_pos), m_prename(prename), m_name(name), m_sex((sex == 'm' ? 'm' : (sex == 'f' ? 'f' : 'n'))), m_itshobby(hobby_run), m_payment(0), m_time(0.0f) { calc_payment(); } Walker::~Walker() { } void Walker::show_data() { std::cout << m_prename << " " << m_name << " (" << m_sex << "):\n\tStartposition: " << m_startpos << "\n\tStartgebuehr: " << m_payment << << "\n\tHobby: " << m_itshobby << std::endl; } void Walker::calc_payment() { m_payment = (m_sex == 'm' ? 1 : 0); // Mann zahlt 1€ mehr. m_payment += (m_itshobby ? 8 : 6); // Hobbyläufer 2€ mehr. }#include "Walker.h" int main() { Walker walker(1, "Peter", "Depp", 'm', true); walker.show_data(); }... hab es nicht getestet ... sollte aber gehen
Könnte hier auch schön den Streamoperator überladen usw ... aber egal. So geht das schonmal 
-
cool
Danke fürs erste, werden den Code jetzt mal studieren und meinen anpassen, da ich das ja selber können sollte.
Hast mir aber schon viel geholfen.
Bis dann
-
Hmm, nur kurz: bist du dir sicher, dass es Sinn macht, Vereinsläufer abzuleiten, Hobbyläufer aber einfach nur als Variable vom Typ Läufer zu erstellen? Wähle eine von beiden Methoden, aber besser die gleiche für beide.