Hallo, ich will gerade als Übung für mich selbst ein Programm schreiben, der ganz einfach durch Eingabe von Paramtern einen Kreisumfang und co. berechnet (c++).
Das habe ich auch folgendermaßen getan.
gui.h
|
C-/C++-Quelltext
|
1
2
3
4
5
|
class CGui
{
public:
void application();
};
|
gui.cpp
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <iostream>#include <string>using namespace std;#include "Kreis.h"#include "gui.h"#include <iomanip>
void CGui::application(){ float r; // Radius CKreis *poi = NULL; //float a; // Seitenlaenge a //float b; // Seitenlaenge b int auswahl; //Auswahl
do { cout << "\nWelches Teil hat das Kamerasystem erfasst?:\t"; cout << "\n1 = Kreis?:\t"; cout << "\n2 = Rechteck?:\t"; cout << "\nGeben Sie 1 oder 2 ein!:\t"; if ((cin >> auswahl)&& ((auswahl==1)||(auswahl==2))) { // hat geklappt => raus aus der schleife break; } else { cerr << "Sie haben ein ungueltiges Zeichen eingegeben! Versuchen Sie es erneut.\n"; cin.clear(); // Fehlerzustand zurücksetzen cin.ignore(1); }} while (cin);
if(auswahl=1) { do { cout << "\nGeben Sie den Radius ein:\n"; if ((cin >> r)&&((r>1)&&(getchar()=='\n'))) { // hat geklappt => raus aus der schleife break; } else { cerr << "Sie haben eine ungueltige Zahl eingegeben! Versuchen Sie es erneut.\n"; cin.clear(); // Fehlerzustand zurücksetzen cin.ignore(1); }} while (cin); }
poi = new CKreis(r);
cout << "\nDer Kreisumfang des Kreises beträgt:"; cout << "\t"; cout << poi->KreisSL(); cout << "\n"; system("Pause");}/cpp]
kreis.h
[cpp]class CKreis{protected: float r; // Radius
public: CKreis(float r=2); float KreisSL(); float KreisFI();};
|
kreis.cpp
|
C-/C++-Quelltext
|
1
2
3
4
|
#include <iostream>#define _USE_MATH_DEFINES#include <math.h>using namespace std;#include "Kreis.h"
CKreis::CKreis(float r) {}
float CKreis::KreisSL() { return(2*3.21*r); }
float CKreis::KreisFI() { return((r*r)*3.21); }
|
main.h
|
C-/C++-Quelltext
|
1
2
3
|
#include "gui.h"
int main(){CGui go; go.application();return 0;}
|
Das sind die ganzen Dateien die ich hab.
Es kommen aber die Fehler:
1>gui.obj : error LNK2028: Nicht aufgelöstes Token (0A000434) ""public: __thiscall CKreis::CKreis(float)" (??0CKreis@@$$FQAE@M@Z)", auf das in Funktion ""public: void __thiscall CGui::application(void)" (?application@CGui@@$$FQAEXXZ)" verwiesen wird.
1>gui.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall CKreis::CKreis(float)" (??0CKreis@@$$FQAE@M@Z)" in Funktion ""public: void __thiscall CGui::application(void)" (?application@CGui@@$$FQAEXXZ)".
Ich würde mich total freuen, wenn mir jemand sagen würde weshalb das passiert.
EDIT: Warum wird der obige Code falsch formatiert
?