Rendszertelenül lépked a C# programom az értékekben, és a gomb utasítása nem is működik csak elsőre. Mit ronthattam el?
Nemrég keztem tanulni a c#-ot. Egy egyszerű kis program amelyben 3 gomb közül választhatunk, hogy melyik kategóriából írja ki az angol szavakat(állat,színek, testrészek) ezután kiírja egy textboxba a kategória szavait, utánna pedig nekünk a második szövegdobozba kell írni a magyar megfelelőjét. Ezt az egészet le okézni és kiírja a válasz helyességét. Nos probléma az, hogy az angol szavakat kiírja válaszolsz rá megírja hogy rossz e vagy sem de utánna nema tömb 2. elemével folytatja hanem véletlenszerűen választ következő angol szót a tömb tagjai közül.(látszólag gondolom...) de ezután az "ellenőrző" gomb nem funkcionál sem nem írja ki a válasz helyességét se nem ad új szót. Ezt mindegyik kategóriánál. Mit rontottam el? Kösz előre a válaszokat.
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
string[,] allatok={{"monkey","dog","wasp","crawfish","fox","mole","sparrow","butterfly","deer","chappie"},{"majom","kutya","darázs","rák","róka","vakond","veréb","pillangó","őz","mókus"}};
string[,] szinek={{"red","blue","green","yellow","white","black","brown","orange"},{"piros","kék","zöld","sárga","fehér","fekete","barna","narancs"}};
string[,] testreszek = { { "head", "leg", "hend", "ear", "eye", "arm", "knee", "fool", "back", "chic" }, { "fej", "láb", "kéz", "fül", "szem", "kar", "térd", "lábfej", "hát", "áll", } };
int szam = 0;
public Form1()
{
InitializeComponent();
}
private void allat_Click(object sender, EventArgs e)
{
angolszavak.Text = allatok[0, 0];
}
private void szin_Click(object sender, EventArgs e)
{
angolszavak.Text = szinek[0, 0];
}
private void test_Click(object sender, EventArgs e)
{
angolszavak.Text = testreszek[0, 0];
}
private void enter_Click(object sender, EventArgs e)
{
if (angolszavak.Text == allatok[0, 0])
{
if (magyarszavak.Text == allatok[1, szam])
{
valasz.Text = "Jó válasz!";
magyarszavak.Clear();
szam++;
angolszavak.Text = allatok[0, szam];
}
else valasz.Text="Rossz válasz! A helyes válasz: "+allatok[1,szam];
magyarszavak.Clear();
szam++;
angolszavak.Text = allatok[0, szam];
}
else if (angolszavak.Text == szinek[0, 0])
{
if (magyarszavak.Text == szinek[1, szam])
{
valasz.Text = "Jó válasz!";
magyarszavak.Clear();
szam++;
angolszavak.Text = szinek[0, szam];
}
else valasz.Text = "Rossz válasz! A helyes válasz: " + szinek[1, szam];
magyarszavak.Clear();
szam++;
angolszavak.Text = szinek[0, szam];
}
else if (angolszavak.Text == testreszek[0, 0])
{
if (magyarszavak.Text == testreszek[1, szam])
{
valasz.Text = "Jó válasz!";
magyarszavak.Clear();
szam++;
angolszavak.Text = testreszek[0, szam];
}
else valasz.Text = "Rossz válasz! A helyes válasz: " + testreszek[1, szam];
magyarszavak.Clear();
szam++;
angolszavak.Text = testreszek[0, szam];
}
}
}
}
Így első ránézésre, nem maradtak le az else után a kapcsos zárójelek?
Nem lesz így jó?:
if (magyarszavak.Text == allatok[1, szam])
{
valasz.Text = "Jó válasz!";
magyarszavak.Clear();
szam++;
angolszavak.Text = allatok[0, szam];
}
else
{
valasz.Text="Rossz válasz! A helyes válasz: "+allatok[1,szam];
magyarszavak.Clear();
szam++;
angolszavak.Text = allatok[0, szam];
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!