C++ Calculator Problem beim Programmieren.

Also wenn ich den Code angucke:
Warum eine Klasse "String" wenn in C++ "string" verfügbar wäre (besser die Klasse "Panzer" nennen).

Dann hat "String" ein Konstruktor, aber kein Destruktor.

Dann muss main entweder ein "int main()" oder ein "int main(int arc,char*argv[])" sein.

Dann kann man die Rechnung
Code:
a=c-b
cout<<a*-1
Auch als
Code:
a=b-c
schreiben.

Wenn du dein Spiel noch erweitern willst (mehr Panzer) kannste auch eine std::map oder ein std::vector verwenden, um die Panzer zu speichern.

Ich formatier dir den Code mal, wie ich es machen würde...
Code:
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]#include [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"StdAfx.h"[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]#include [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]<iostream>[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]#include [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]<string>[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]using [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]namespace[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] std;[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]cons t[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] LEN = 5;[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]class[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] Panzer {[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]public[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4]:[/SIZE]
[SIZE=4]string s;[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] Xp;[/SIZE]
[SIZE=4]};[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] main()[/SIZE]
[SIZE=4]{[/SIZE]
[SIZE=4]Panzer panzer[LEN];[/SIZE][SIZE=4][COLOR=#008000][SIZE=4][COLOR=#008000]//hast insgesamt 5 panzer 0.1.2.3 und 4[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=4]Panzer zielpanzer;[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] start,ziel;[/SIZE]
[SIZE=4]panzer[0].s=[/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"p0"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4]; panzer[0].Xp=0;[/SIZE]
[SIZE=4]panzer[1].s=[/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"p1"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4]; panzer[1].Xp=175;[/SIZE]
[SIZE=4]panzer[2].s=[/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"p2"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4]; panzer[2].Xp=1135;[/SIZE]
[SIZE=4]panzer[2].Xp=panzer[2].Xp+panzer[0].Xp-panzer[1].Xp;[/SIZE]
[SIZE=4]cout<<[/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"Willkommen beim XP Calculator!\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4];[/SIZE]
[SIZE=4]cout<<[/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"Bitte geben Sie Ihren Startpanzer ein:"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4];[/SIZE]
[SIZE=4]cin>> zielpanzer.s;[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] ([/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] i=0;i<LEN;i++)[/SIZE][SIZE=4][COLOR=#008000][SIZE=4][COLOR=#008000]//startpanzer aussuchen[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4](panzer[i].s==zielpanzer.s)[/SIZE]
[SIZE=4]{start=i; [/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]break[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4];}[/SIZE]
[SIZE=4]cout<<[/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"Bitte geben Sie ihren Zielpanzer ein:"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4];[/SIZE]
[SIZE=4]cin>> zielpanzer.s;[/SIZE]
[SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] ([/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4] i=0;i<LEN;i++)[/SIZE][SIZE=4][COLOR=#008000][SIZE=4][COLOR=#008000]//startpanzer aussuchen[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4](panzer[i].s==zielpanzer.s)[/SIZE]
[SIZE=4]{ziel=i;[/SIZE][SIZE=4][COLOR=#0000ff][SIZE=4][COLOR=#0000ff]break[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4];}[/SIZE]
[SIZE=4]panzer[3].Xp=panzer[start].Xp-panzer[ziel].Xp;[/SIZE]
[SIZE=4]cout<< panzer[3].Xp*(-1) << [/SIZE][SIZE=4][COLOR=#a31515][SIZE=4][COLOR=#a31515]"XP\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=4];[/SIZE]
[SIZE=4]cin.clear();[/SIZE]
[SIZE=4]cin.ignore(cin.rdbuf()->in_avail());[/SIZE]
[SIZE=4]cin.get(); [/SIZE]
[SIZE=4]}[/SIZE]
Die Tabs wolle irgendwie nicht ins Editierfeld. Na ja...
Was mir noch aufgefallen ist: #include <string> nicht <string.h>
Du kannst die "\n" einfach wo anhängen, während am eine ein "\0" nicht notwendig ist, da es bei einer Zeichenkette automatisch angehangen wird.
 
Zuletzt bearbeitet:
naja so läufts auch erstmal... aber tortzdem danke für deine Hilfe.

Ich hab aber jetzt nen neues Problem. Ich würde gerne das Programm jetzt mit einer GUI ausstatten. Deshalb hab ich mich mal an eine Windows Forms-Anwendung herangetraut.
Hab auch schon nen bisschen allein hinbekommen:

Man soll über eine Checkbox den Panzer den auswählen und dann über den Button unten rechts den nächsten Panzer auswählen können.
Ich weiß nur nicht, wie ich die ganzen Rechenschritte usw. programmieren soll.
Kann mir da jemand helfen??

MfG Stevie
 
Also über ein Doppelkilck auf den Button generierst du den Standardereignishandler also eine Funktion, die den Klick verarbeitet.
Dort kannst du beispielweise dann eine neue Form anzeigen lassen oder ein Panel ...

Was für Schritte du brauchst, weiß ich nicht, aber ein Blatt Papier und ein Stift schadet nie, um sich Formel oder Struktogramme aufzuzeichnen.

Du hast doch zwei Panzer, deren XP verglichen wird, wie wärs da mit zwei Listen, dort dann die Panzer rein und dann bei jedem onChange ein Feld neu schreiben, in dem die Differenz drinsteht.
Code:
this->Label1->Text=list1->Selected->Text-list2->Selected->Text

Dir ist hoffentlich klar, das eine kleine Excel-Tabelle dafür genauso geeignet ist...
 
ok und wo müsste dann diese Zeile hin?
hier mein Code:
Code:
#pragma once

namespace Test12 {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Zusammenfassung für Form1
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: Konstruktorcode hier hinzufügen.
			//
		}

	protected:
		/// <summary>
		/// Verwendete Ressourcen bereinigen.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::PictureBox^  Panzer1;
	protected: 

	protected: 


	private: System::Windows::Forms::TextBox^  textBox1;
	private: System::Windows::Forms::CheckBox^  checkBox1;
	private: System::Windows::Forms::Button^  button1;
	private: System::Windows::Forms::PictureBox^  pictureBox1;
	private: System::Windows::Forms::CheckBox^  checkBox2;


	protected: 

	private:
		/// <summary>
		/// Erforderliche Designervariable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Erforderliche Methode für die Designerunterstützung.
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
		/// </summary>
		void InitializeComponent(void)
		{
			System::ComponentModel::ComponentResourceManager^  resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
			this->Panzer1 = (gcnew System::Windows::Forms::PictureBox());
			this->textBox1 = (gcnew System::Windows::Forms::TextBox());
			this->checkBox1 = (gcnew System::Windows::Forms::CheckBox());
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox());
			this->checkBox2 = (gcnew System::Windows::Forms::CheckBox());
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->Panzer1))->BeginInit();
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->pictureBox1))->BeginInit();
			this->SuspendLayout();
			// 
			// Panzer1
			// 
			this->Panzer1->BackgroundImage = (cli::safe_cast<System::Drawing::Image^  >(resources->GetObject(L"Panzer1.BackgroundImage")));
			this->Panzer1->BackgroundImageLayout = System::Windows::Forms::ImageLayout::None;
			this->Panzer1->Location = System::Drawing::Point(18, 34);
			this->Panzer1->Name = L"Panzer1";
			this->Panzer1->Size = System::Drawing::Size(90, 58);
			this->Panzer1->TabIndex = 1;
			this->Panzer1->TabStop = false;
			this->Panzer1->Click += gcnew System::EventHandler(this, &Form1::pictureBox1_Click);
			// 
			// textBox1
			// 
			this->textBox1->Location = System::Drawing::Point(18, 8);
			this->textBox1->Name = L"textBox1";
			this->textBox1->Size = System::Drawing::Size(175, 20);
			this->textBox1->TabIndex = 0;
			this->textBox1->Text = L"Bitte wählen Sie Ihren Startpanzer:";
			// 
			// checkBox1
			// 
			this->checkBox1->AutoSize = true;
			this->checkBox1->Location = System::Drawing::Point(115, 74);
			this->checkBox1->Name = L"checkBox1";
			this->checkBox1->Size = System::Drawing::Size(65, 17);
			this->checkBox1->TabIndex = 1;
			this->checkBox1->Text = L"Panzer1";
			this->checkBox1->UseVisualStyleBackColor = true;
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(546, 359);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(126, 41);
			this->button1->TabIndex = 2;
			this->button1->Text = L"nächster Schritt";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click_1);
			// 
			// pictureBox1
			// 
			this->pictureBox1->BackgroundImage = (cli::safe_cast<System::Drawing::Image^  >(resources->GetObject(L"pictureBox1.BackgroundImage")));
			this->pictureBox1->Location = System::Drawing::Point(186, 34);
			this->pictureBox1->Name = L"pictureBox1";
			this->pictureBox1->Size = System::Drawing::Size(90, 58);
			this->pictureBox1->TabIndex = 3;
			this->pictureBox1->TabStop = false;
			this->pictureBox1->Click += gcnew System::EventHandler(this, &Form1::pictureBox1_Click_1);
			// 
			// checkBox2
			// 
			this->checkBox2->AutoSize = true;
			this->checkBox2->Location = System::Drawing::Point(283, 74);
			this->checkBox2->Name = L"checkBox2";
			this->checkBox2->Size = System::Drawing::Size(65, 17);
			this->checkBox2->TabIndex = 4;
			this->checkBox2->Text = L"Panzer2";
			this->checkBox2->UseVisualStyleBackColor = true;
			this->checkBox2->CheckedChanged += gcnew System::EventHandler(this, &Form1::checkBox2_CheckedChanged);
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(693, 426);
			this->Controls->Add(this->checkBox2);
			this->Controls->Add(this->pictureBox1);
			this->Controls->Add(this->button1);
			this->Controls->Add(this->checkBox1);
			this->Controls->Add(this->textBox1);
			this->Controls->Add(this->Panzer1);
			this->Name = L"Form1";
			this->Text = L"Form1";
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->Panzer1))->EndInit();
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->pictureBox1))->EndInit();
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
			 }
	private: System::Void pictureBox1_Click(System::Object^  sender, System::EventArgs^  e) { 
			 }
private: System::Void pictureBox1_Click_1(System::Object^  sender, System::EventArgs^  e) {
		 }
private: System::Void checkBox2_CheckedChanged(System::Object^  sender, System::EventArgs^  e) {
		 }
};
}
 
button1_Click
Code:
bool panzer1_selected=this->checkbox1->Checked;
bool panzer2_selected=this->checkbox2->Checked;
if(panzer1_selected&&panzer2_selected)
this->button1->Text=L"Es sind beide Panzer ausgewählt, aber keine Werte zum Berechnen vorhanden";
else 
this->button1->Text=L"Weniger wie 2 Panzer ausgewählt";
Da in deinem Code alle Daten (XP und so) fehlen und es bei zwei Panzern relaitv dürftig ist, macht der Codeschnipsel nicht arg viel, zeigt dir aber hoffentlich ein bisschen, wie man in .Net auf die Variablen zugreift. (Strg+Leertaste zeigt dir eine Wortvervollständigung an, sehr hilfreich, da viele Begriffe selbsterklärend sind)
 
ja das fenster öffnet sich bei debuggen, aber wenn ich 2 Panzer anwähle und ich auf den Button drück, tut sich nichts.
 
Zuletzt bearbeitet:
hatte das vergessen.

Also wenn ich debugge, dann öffnet das Programm, aber wenn ich 2 panzer markiere und den Button drück, passiert nichts.
Ja es werden keine Fehler angezeigt.
 
Code:
#pragma once


namespace panzertest {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Zusammenfassung für Form1
	///
	/// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
	///          die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
	///          das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
	///          Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
	///          arbeiten, die diesem Formular zugewiesen sind.
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: Konstruktorcode hier hinzufügen.
			//
		}

	protected:
		/// <summary>
		/// Verwendete Ressourcen bereinigen.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::CheckBox^  checkBox1;
	protected: 
	private: System::Windows::Forms::CheckBox^  checkBox2;
	private: System::Windows::Forms::CheckBox^  checkBox3;
	private: System::Windows::Forms::CheckBox^  checkBox4;
	private: System::Windows::Forms::Button^  button1;
	private: System::Windows::Forms::Label^  label1;

	private:
		/// <summary>
		/// Erforderliche Designervariable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Erforderliche Methode für die Designerunterstützung.
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
		/// </summary>
		void InitializeComponent(void)
		{
			this->checkBox1 = (gcnew System::Windows::Forms::CheckBox());
			this->checkBox2 = (gcnew System::Windows::Forms::CheckBox());
			this->checkBox3 = (gcnew System::Windows::Forms::CheckBox());
			this->checkBox4 = (gcnew System::Windows::Forms::CheckBox());
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->label1 = (gcnew System::Windows::Forms::Label());
			this->SuspendLayout();
			// 
			// checkBox1
			// 
			this->checkBox1->AutoSize = true;
			this->checkBox1->Location = System::Drawing::Point(31, 26);
			this->checkBox1->Name = L"checkBox1";
			this->checkBox1->Size = System::Drawing::Size(80, 17);
			this->checkBox1->TabIndex = 0;
			this->checkBox1->Text = L"checkBox1";
			this->checkBox1->UseVisualStyleBackColor = true;
			// 
			// checkBox2
			// 
			this->checkBox2->AutoSize = true;
			this->checkBox2->Location = System::Drawing::Point(31, 49);
			this->checkBox2->Name = L"checkBox2";
			this->checkBox2->Size = System::Drawing::Size(80, 17);
			this->checkBox2->TabIndex = 1;
			this->checkBox2->Text = L"checkBox2";
			this->checkBox2->UseVisualStyleBackColor = true;
			// 
			// checkBox3
			// 
			this->checkBox3->AutoSize = true;
			this->checkBox3->Location = System::Drawing::Point(31, 72);
			this->checkBox3->Name = L"checkBox3";
			this->checkBox3->Size = System::Drawing::Size(80, 17);
			this->checkBox3->TabIndex = 2;
			this->checkBox3->Text = L"checkBox3";
			this->checkBox3->UseVisualStyleBackColor = true;
			// 
			// checkBox4
			// 
			this->checkBox4->AutoSize = true;
			this->checkBox4->Location = System::Drawing::Point(31, 95);
			this->checkBox4->Name = L"checkBox4";
			this->checkBox4->Size = System::Drawing::Size(80, 17);
			this->checkBox4->TabIndex = 3;
			this->checkBox4->Text = L"checkBox4";
			this->checkBox4->UseVisualStyleBackColor = true;
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(427, 388);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(75, 23);
			this->button1->TabIndex = 4;
			this->button1->Text = L"button1";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
			// 
			// label1
			// 
			this->label1->AutoSize = true;
			this->label1->Location = System::Drawing::Point(257, 120);
			this->label1->Name = L"label1";
			this->label1->Size = System::Drawing::Size(35, 13);
			this->label1->TabIndex = 5;
			this->label1->Text = L"label1";
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(514, 423);
			this->Controls->Add(this->label1);
			this->Controls->Add(this->button1);
			this->Controls->Add(this->checkBox4);
			this->Controls->Add(this->checkBox3);
			this->Controls->Add(this->checkBox2);
			this->Controls->Add(this->checkBox1);
			this->Name = L"Form1";
			this->Text = L"Form1";
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 bool p1,p2,p3,p4;
				 p1=checkBox1->Checked;
				 p2=checkBox2->Checked;
				 p3=checkBox3->Checked;
				 p4=checkBox4->Checked;
				 if(p1&&p2)
					 label1->Text=L"p1+p2";
				 else label1->Text=L"p1+p2=|=wahr";
			 }
};
}
Da funktionierst bei mir.
Mit "mitm Debugger reingehangen" hab ich gemeint, dass du prüfst, ob die Funktion überhaupt aufgerufen wird, indem du ein Breakpoint an den Anfang der Funktion setzt.
Also so: breakpoint.png
 
ja jetzt gehts, aber was bringt mir der break point?

wie bekomm ich da jetzt die Rechnung und XP Zahlen reim? Hab schon versucht in die .cpp Datei was vom alten Calculator reinzumachen, hat aber nicht geklappt.
 
Wenn dein Programm an der Stelle vorbeikommt, dann wird es dort angehalten und du kannst in Visual Studio dir die Variablen anzeigen lassen (untem im Fenster oder beim darüberfahren).

Wie du die XPs reinbekommst, weiß ich nicht, vielleicht als statisches Array.
Code:
struct my{
System::String panzer;
int XP;};
const my panzer[]={
{"Hallo",10},
{Bravo",100,}
...
};
Die Rechnung ist einfach... Math::Abs(panzer.XP-panzer[j].XP)

BTW: Du weißt, dass es eine CheckedListBox gibt?
 
ach so.

und wo kommt der code rein? in die .cpp oder in Form1.h?

ja weiß ich.
 
meine .cpp datei sieht jetzt so aus:
Code:
#include "stdafx.h"
#include "Form1.h"

using namespace panzertest;
struct my{
System::String panzer;
int XP;};
const my panzer[]={
{"Hallo",10},
{"Bravo",100,}
...
};

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	Math::Abs(panzer[i].XP-panzer[j].XP)
	// Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false); 

	// Hauptfenster erstellen und ausführen
	Application::Run(gcnew Form1());
	return 0;
}
leider kann nur nicht gedebuggt werden:
Code:
1>Test12.cpp(8): error C3149: "System::String": Dieser Typ kann ohne "^" der obersten Ebene hier nicht verwendet werden.
1>Test12.cpp(8): error C3265: Ein verwalteter 'panzer' kann nicht in einem nicht verwalteten 'my' deklariert werden
1>          Eine globale oder statische Variable oder ein Member eines systemeigenen Typs, der auf Objekte im gc-Heap verweist, kann nicht deklariert werden.
1>Test12.cpp(13): error C2143: Syntaxfehler: Es fehlt '}' vor '...'
1>Test12.cpp(13): error C2143: Syntaxfehler: Es fehlt ';' vor '...'
1>Test12.cpp(13): error C2059: Syntaxfehler: '...'
1>Test12.cpp(14): error C2143: Syntaxfehler: Es fehlt ';' vor '}'
1>Test12.cpp(14): error C2059: Syntaxfehler: '}'
1>Test12.cpp(19): error C2065: 'i': nichtdeklarierter Bezeichner
1>Test12.cpp(19): error C2228: Links von ".XP" muss sich eine Klasse/Struktur/Union befinden.
1>Test12.cpp(19): error C2065: 'j': nichtdeklarierter Bezeichner
1>Test12.cpp(19): error C2228: Links von ".XP" muss sich eine Klasse/Struktur/Union befinden.
1>Test12.cpp(21): error C2143: Syntaxfehler: Es fehlt ';' vor 'System::Windows::Forms::Application::EnableVisualStyles'
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
 
Was meinen wohl "..." ?
"Kann ohne "^" nicht verwendet werden -> System::String^panzer
Das "Math::Abs(panzer.XP-panzer[j].XP)" macht wohl w a s...?
i und j sind Platzhalter, bitten nicht einfach nur Code kopieren sondern auch verstehen.

Ich glaub, du solltest zuerst etwas mehr Tutorials machen...
Ein Konsolenprogramm ist gut geeignet, um sich die Basics anzueignen, dafür ist ein komplexes mathematisches oder einfaches informatisches Probelm sehr hilfreich.

Beispiel: Lösen einer Quadratischen Gleichung, Kurvendiskussion einer Funktion 3. Grades, Tic-Tac-Toe berechnen oder für Kniffel ein Helfer zum Würfeln...

Danach wirst du verstehen, wie C++-Programme funktionieren und wie man verschiedene Probleme angeht. Glaub mir, ich hab auch nach 3 Tagen lernen gedacht, dass ich was an der GUI schreib und bin kläglich gescheitert, nach mehreren Konsolenprogramme war es dann für mich gar nicht mehr schwer ein GUI-Programm zu schreiben.
 
ja hast recht, nur leider hab ich bis jetzt keine guten c++ Tutorials gefunden und eigene Projekte sind mir bis jetzt auch kaum eingefallen.
 
http://www.willemer.de/informatik/cpp/index.htm
Damit habe ich angefangen. OK, nur die ersten paar Kapitel. Dann hab ich auf eigene Faust weiterprogrammiert, aber immer wieder dort nachgeschlagen...
Allerdings ist es nicht mehr so wie früher, da wurde viel geändert, ist jetzt mehr so Nachschlagewerk ohne Übungen...

http://www.cplusplus.com/doc/tutorial/
Sieht für mich auf den ersten Blick sehr gut aus und wenn du ein wenig Englisch verstehst, sollte es für dich geeignet sein.

Sonst kannste auch mal die Links unter "Nützliche Links für Anfänger" hier im Unterforum angucken.
 
hmm müssten auch paar gute bücher geben, einfach bei thalia vorbeigehen .) und mal rumblättern obs hilft oder in eine bibliothek gehen

oder wenn du iwo scripte von informatiker studiengängen findest, dort sind auch meistens übungen dabei und sehr gut erklärt (meiner meinung nach zumindest)
jenachdem ob du dich damit WIRKLICH beschäftigen willst oder dies nur eine kurzfristige interrese ist

gestern bin ich auf diese seite gestoßen, meiner meinung nach ganz gut
http://www.cpp-tutor.de/cpp/hinweise.html
 
Zurück
Oben