You are not logged in.

  • Login

1

Saturday, September 23rd 2006, 1:03pm

Lernprogramm

also wie der titel scho sagt würde ich mir gerne mit c++ selber ein lernprogramm basteln....

so etz hab ich folgendes problem...

Ich programmiere noch nicht so lange und beutzte c++ Builder 6

ich hab jetzt eine edit feld erstellt wo man später das Deutsche wort reinschreibt und auf einem label soll die das englische word stehen.

so...

dann hab ich noch ein button erstellt um auf ok drücken zu können wenn es richtig kommt richtig und wenns falsch is soll falsch angezeigt werden.

so kann mir jemand helfen wie das funktioniert....

ich hab etz so als beispiel des gemacht:

TForm1 *Form1;
int Vocabeln, ja, Nr, yes;
const int Max = 1;
String Vocabeln1[Max];

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------



void __fastcall TForm1::Button1Click(TObject *Sender)
{
Vocabeln = StrToInt (Edit1->Text);
if (Vocabeln == ja) Button1->Caption = "richtig";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
randomize ();
Vocabeln1[0] = "Yes";
Nr = random (Max);
Label1->Caption = Vocabeln1[Nr];


}
//---------------------------------------------------------------------------





so weiter weiß ich auch nicht mehr...

Wie mach ich des etz, das wenn das label wie in meinem fall yes ist man in dem edit feld ja eingibt und dann richtig kommt ?


danke jetzt schon mal für die hilfe

2

Saturday, September 23rd 2006, 1:41pm

Re: Lernprogramm

C Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
TForm1 *Form1;
int Nr;     // "ja" und "yes" brauchen wir nicht.
const int Max = 1;
String Vocabeln;   // In Vocabeln soll ein string rein.
String Vocabeln1[Max];
 
//---------------------------------------------------------------------------
 __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 // Vocabeln = StrToInt (Edit1->Text); // Damit speicherst du den Zahlenwert des Strings in "Vocabeln", 
                                      //wir brauchen aber den String:
 Vocabeln = Edit1->Text;
 // if (Vocabeln == ja) // damit vergleichst du den Inhalt der Variablen "Vocabeln" mit dem Inhalt der 
                        //Variable "ja". Du willst aber den Inhalt von "Vocabeln" mit dem Wort "ja" vergleichen:
if(Vocabeln == "ja")
Button1->Caption = "richtig";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 randomize ();
 Vocabeln1[0] = "Yes";
 Nr = random (Max);  
 Label1->Caption = Vocabeln1[Nr]; 
}
//---------------------------------------------------------------------------

Ich hoffe das funktioniert so ;)
Kanns leider nicht testen.

3

Saturday, September 23rd 2006, 2:19pm

ok danke warst mir eine große hilfe....

etz müsst ich dann nur noch wissen:

wie mach ich des das nur richtig angeigt wird wen es dem richtigen wort aus dem label entspircht ???

also, ich lasse in einem label z.B. 10 englische wörter durch random zufällig anzeigen und in die edit zeile soll ich dann das deutsche wort eingeben, es soll aber nur richtig sein wenn auch das richtige deutsche wort genannt wird...

danke schon jetztz wieder mal für die hilfe

4

Saturday, September 23rd 2006, 2:28pm

Du könntest bei den Vokabeln eine weitere Dimension fürs deutsche Wort anfügen:

C Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
TForm1 *Form1;
int Nr; 
const int Max = 2;
String Eingabe, Vocabeln[Max][2];
 
//---------------------------------------------------------------------------
 __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Eingabe = Edit1->Text;
  if(Eingabe == Vocabeln[Nr][1])
    Button1->Caption = "richtig";
  else
    Button1->Caption = "falsch";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 randomize ();
 Vocabeln[0][0] = "Yes"; 
 Vocabeln[0][1] = "Ja";
 Vocabeln[1][0] = "No";
 Vocabeln[1][1] = "Nein";
 Nr = random (Max); 
 Label1->Caption = Vocabeln[Nr][0];  // Das englische Wort
}
//---------------------------------------------------------------------------

5

Saturday, September 23rd 2006, 2:55pm

grad getestet, aber egal was ich eingebe es wird immer richtig angezeigt... ?! Woran liegt das ?

wie macht ihr das so schnell ???

6

Saturday, September 23rd 2006, 3:07pm

Jetzt müsste "falsch" angezeigt werden bei ner falschen Eingabe.
Wär auch nicht schlecht, wenn du noch nen 2. Button erstellst, der dir ein neues englisches Wort ins Label setzt.
Dann kannste richtig testen.

7

Saturday, September 23rd 2006, 3:20pm

mhhh... jetzt wird dauerhaft flasch angezeigt selbest bei richtiger eingabe :?

PS: habe jetzt den 2ten button eingefügt.

8

Saturday, September 23rd 2006, 4:07pm

So, jetzt gehts. Hat sich ein Fehler beim Variablennamen eingeschlichen und deine random() Funktion war doch richtig.

9

Saturday, September 23rd 2006, 4:22pm

hast du es schon getestet bei mir gehts immernoch nicht der zeigt immernoch dauerhaft flasch an ?!

10

Saturday, September 23rd 2006, 4:38pm

Quoted from ""wolf360""

hast du es schon getestet bei mir gehts immernoch nicht der zeigt immernoch dauerhaft flasch an ?!

Bei mir läufts wunderbar, habs direkt ausm Borland-Editor kopiert.

11

Saturday, September 23rd 2006, 7:38pm

also wenn ich des obere koppiere kommt immer richtig (klar geht ja gar net anders..

und wenn ich des untere koppiere kommt immer falsch....

12

Sunday, September 24th 2006, 5:06pm

wieso funktioniert des bei mir net ?

13

Saturday, September 30th 2006, 2:53pm

bekomme ich jetzt keine antwort mehr ?

14

Saturday, September 30th 2006, 3:43pm

hast du auch die letzte version?

Quoted

Zuletzt bearbeitet von newb am 23 Sep 2006 04:09 pm, insgesamt 2-mal bearbeitet


Ist übrigens gar nicht so verkehrt, die eigenen Postings mal zu bearbeiten anstatt immer Doppelpostings zu machen - der letzte als Erinnerung ist ja ok..
aber die anderen machen den thread nur unübersichtlicher

15

Saturday, September 30th 2006, 7:58pm

ich hab beide versionen koppiert und eingefügt
aber wenn ich des obere koppiere kommt immer richtig (klar geht ja gar net anders..

und wenn ich des untere koppiere kommt immer falsch....

Similar threads

Social bookmarks