GUI 8 Damen-Problem
-
Hey alle zusammen
also ich hab zurzeit ein kleines Problem beim Programmieren (Bin noch Anfänger ^^)
Kurz und schmerzlos: Wie kann ich nem Button eine Funktion zuweisen?
Bessergesagt schaut es bei mir grad so aus:
Das 8 Damen Problem geht über die Konsole ganz gut. Ich bekomm ne Liste und Fertig. Nun will ich diese aber nochmal in ne GUI reinhauen.
#include "stdafx.h"
#include "iostream"int dame_in_gefahr(int *schachbrett) {
/* x==nach unten; y==nach rechts */
int x,y;
for(x=0; x<7; x++)
if(schachbrett[x])
for(y=x+1; y<=7; y++)
/* Ist auf feld[y] eine Dame? */
if(schachbrett[y]) {
/* Wir überprüfen, ob die beiden
* Damen kollidieren. */
/* Sind beide Damen in derselben Zeile? /
if(schachbrett[x]==schachbrett[y])
return 1; / Kollision in gleicher Zeile */
/* Diagonal? /
if(abs(x-y)==abs(schachbrett[x]-schachbrett[y]))
return 2; / Kollision in der Diagonalen /
}
return 0; / keine Kollision! */
}int dame(int *schachbrett, int position) {
int x = 1, i;
static int counter = 1;while(x <= {
/* Wir setzen die Dame mit der
* Nummer x an feld[position]. */
schachbrett[position]=x;
if(!dame_in_gefahr(schachbrett)) {
if(position) {
/* die nächste Dame /
if(dame(schachbrett,position-1))
return 1; / Dame an diese Position setzen */
}
else {
cout << "Loesungs-Nr.%2d : ", counter++;
for(i=0; i<8; i++)
cout << "(%d,%d)", i+1, schachbrett[i];
cout <<"\n";
}
}
x++;
}
schachbrett[position] = 0;
return 0;
}int main(void) {
int schachbrett[8], x;for(x=0; x < 8; x++)
dame(schachbrett,7);
system ("pause");
return EXIT_SUCCESS;}
So zur GUI --> Wie kann ich jetzt diesen Code oben in den Button reinschreiben.
Die Ausgabe soll über ne Listbox ausgegeben werden.
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
HIER SOLL DIE FUNKTION REIN!!!
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
Application::Exit();
}private: System::Void listBox1_SelectedIndexChanged_1(System::Object^ sender, System::EventArgs^ e) {
// MessageBox::Show(this->listBox1->SelectedItem->ToString());
}};
Danke schonmal für die Hilfe
-
Es gibt keine Buttons im C++ Standard.
Was du da zeigst sieht nach C++/CLI aka .NET aus => falsches Forum.
-
Man ordnet der Meldung (Message) Button Mausklick eine Funktion zu, die dann entsprechend ausgeführt wird. Der Button ist ein "Kindfenster". Das ist bei allen GUIs irgendwie gleichartig gelöst.
MFC: http://henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel14.htm
WinAPI: http://henkessoft.de/C++/WinAPI/WinAPI Kapitel 1 bis 6/api5.htm
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.