Rättningssystem i C++ windows form

Permalänk

Rättningssystem i C++ windows form

Hej mitt namn är Karl och jobbar med ett projekt som ska fungera som en sorts glosmaskin.
Jag är nästan klar med projektet och behöver bara få till rättningssystemet av orden att fungerar.
Jag använder mig av en lista. där användaren får skriva in det svenska ordet och ett engelska ord.

Det som inte fungerar är rättningen med "nästa ord knappen" och att få listen att slumpa fram orden i textlådan med det svenska ordet.

// "lägg till" knappen btn_add, lägger till både de svenska och engelska ordet. private: System::Void btn_add_Click(System::Object^ sender, System::EventArgs^ e) { if (tbx_addSv->Text == "" || tbx_addEng->Text == ""){ btn_add->Enabled=false; } else{ String^ Svensktord = tbx_addSv->Text; glosa->Add(Svensktord); tbx_addSv->Text = ""; String^ Engelsktord = tbx_addEng->Text; glosa->Add(Engelsktord); tbx_addEng->Text = ""; if (txtResultat->Text==""){ txtResultat->Text="Tillagda glosor: " + "\n" + Svensktord; } else{ txtResultat->Text=txtResultat->Text + "\n" + Svensktord; } } } private: System::Void tbx_addSv_TextChanged(System::Object^ sender, System::EventArgs^ e) { if (tbx_addSv->Text->Length != 0) { tbxSvInmatad = true; if(tbxEngInmatad == true && tbxSvInmatad == true) { btn_add->Enabled=true; } } } private: System::Void tbx_addEng_TextChanged(System::Object^ sender, System::EventArgs^ e) { if (tbx_addEng->Text->Length != 0) { tbxEngInmatad = true; } if(tbxEngInmatad == true && tbxSvInmatad == true) { btn_add->Enabled=true; } } private: System::Void txtResultat_TextChanged(System::Object^ sender, System::EventArgs^ e) { } // Svara Glossi, användaren får svara på den svenska inmatningen i engelska. private: System::Void btn_Svara_Click(System::Object^ sender, System::EventArgs^ e) { if (tbx_SvarEng->Text == glosa[i+1]) { txtResultat->Text ="Rätt svar!" + "\n" + glosa[i] + " = " + glosa[i+1] ; //glosa->RemoveAt(i); } else{ MessageBox::Show("Fel svar försök igen!"); } } // Starta Glossi minst 20 glosor (I detta fall 2 för att förenkla testerna) private: System::Void btn_Start_Click(System::Object^ sender, System::EventArgs^ e) { if(glosa->Count >= 4 ){ txtResultat->Text = ""; gtbtest->Enabled=true; btn_New->Enabled=true; srand (time(0)); do{ i = rand()% glosa->Count; }while( i%2==1 && i==1 ); tbx_SvarSv->AppendText(glosa[i]); } else{ MessageBox::Show("Mata in minst 20 glosor!"); } } // Återställer programmet och nollställer allt. private: System::Void btn_New_Click(System::Object^ sender, System::EventArgs^ e) { if (glosa->Count >= 2 ){ txtResultat->Text = ""; glosa->Clear(); gtbtest->Enabled=false; tbx_SvarSv->Text = ""; tbx_SvarEng->Text = ""; } } // Nästa ord, här ska nästa ord starta och visas när du har svarat på det första angivna ordet. private: System::Void btn_Next_Click(System::Object^ sender, System::EventArgs^ e) { tbx_SvarSv->Text = ""; tbx_SvarEng->Text = ""; i = rand()% glosa->Count; tbx_SvarSv->AppendText(glosa[i]); } // Ifall tbx_SvarEng är tom är "Nästa" inaktiverad private: System::Void tbx_SvarEng_TextChanged(System::Object^ sender, System::EventArgs^ e) { if (tbx_SvarEng->Text == ""){ btn_Next->Enabled=false; } else btn_Next->Enabled=true; }

Tackar för all hjälp!

Permalänk
Medlem
Skrivet av looxztation:

Gör om gör rätt, använd [ code ][ /code ] taggarna
Tänker inte ens försöka läsa din kod utan att du använt dig utav dessa

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB

Permalänk

Fixat, ledsen och tack för tipset!

Skrivet av Pamudas:

Gör om gör rätt, använd [ code ][ /code ] taggarna
Tänker inte ens försöka läsa din kod utan att du använt dig utav dessa