Kezdőoldal » Számítástechnika » Programozás » Mit ronthattam el a programban...

Mit ronthattam el a programban? (C#)

Figyelt kérdés

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","spa

rrow","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","brow

n","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];

}

}

}

}


2011. jún. 3. 18:27
 1/6 anonim válasza:
Juj, szerintem ott rontottad el, hogy nem konzolos alkalmazással kezdted a tanulást, mindenki azzal indít! Nagyon zavaros, és a c# lényege az OOP. Nem vagyok nagy c# guru, de ennek a nyelvezete nagyon zavaros, ezt a programot fele ennyi sorból ki lehet hozni.
2011. jún. 4. 10:53
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Várnám az ötleteket xD hogy mégis akkro hogy kellene. Amúgy konzolossal keztem... Ennyire nem látszik?:S Ennyire csak nem lehetek béna
2011. jún. 4. 10:54
 3/6 anonim ***** válasza:
Objektumok neveit írd le kérlek.( Button, Label)
2011. jún. 4. 13:43
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

tudom mik azok az objektumok ennyire még én se vagyok hülye xD

textbox: angolszavak, magyarszavak

button: szin, test, allat(ezek a kategória gombok hogy melyik kategóriából töltse föl szavakkal az angolszavak texttboxot)

enter(ez a gomb pedig leokézi a beírt "megfejtést")

label: valasz(ez írja ki hogy jó-e vagy rossz-e a

valasz)

2011. jún. 4. 15:00
 5/6 anonim ***** válasza:

Tess gyorsan összedobtam, talán segít:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;


namespace AngolJatek

{

public partial class Form1 : Form

{

public static Random rand;

public static List<string> SzámSzavak;

public static List<string> SzínSzavak;

public static List<string> TestSzavak;


public static List<string> SzámSzavakMegoldas;

public static List<string> SzínSzavakMegoldas;

public static List<string> TestSzavakMegoldas;


public static string Tema = null;

public static int TemaSzama = 0;

public Form1()

{

InitializeComponent();

}


private void Form1_Load(object sender, EventArgs e)

{

rand = new Random();

SzámSzavak = new List<string> { "One","Two","Three" };

SzámSzavakMegoldas = new List<string> { "Egy","Kettő","Három" };


SzínSzavak = new List<string> { "Red","Green","Blue" };

SzínSzavakMegoldas = new List<string> { "Piros", "Zöld", "Kék" };


TestSzavak = new List<string> { "Head","Hair","Shoulder" };

TestSzavakMegoldas = new List<string> { "Fej", "Haj", "Váll" };

}


private void SzámGomb_Click(object sender, EventArgs e)

{

Tema = "Szám";

Sorsolas();

AngolSzo.Text = SzámSzavak[TemaSzama].ToString();

}


private void SzínGomb_Click(object sender, EventArgs e)

{

Tema = "Szín";

Sorsolas();

AngolSzo.Text = SzínSzavak[TemaSzama].ToString();

}


private void TestGomb_Click(object sender, EventArgs e)

{

Tema = "Test";

Sorsolas();

AngolSzo.Text = TestSzavak[TemaSzama].ToString();

}

public static void Sorsolas() { TemaSzama = rand.Next(0, 3); }

public static void Nyert() { MessageBox.Show("Nyertél!", "Congratulation"); }

public static void Vesztett() { MessageBox.Show("Most vesztettél!", "Sorry"); }


private void button4_Click(object sender, EventArgs e)

{

switch (Tema)

{

case "Szám":

if (MagyarSzo.Text.ToString() == SzámSzavakMegoldas[TemaSzama])

{

Nyert();

}

else { Vesztett(); }

break;


case "Szín":

if (MagyarSzo.Text.ToString() == SzínSzavakMegoldas[TemaSzama])

{

Nyert();

}

else { Vesztett(); }

break;


case "Test":

if (MagyarSzo.Text.ToString() == TestSzavakMegoldas[TemaSzama])

{

Nyert();

}

else { Vesztett(); }

break;


default:break;

}

}

}

}

2011. jún. 4. 17:13
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
ŐŐŐ hát értem én mit akartál de ez nem fog menni hisz nem lépked a List értékei közt. Másrészt meg nem alternatív megoldást kérnék ha lehetne hanem enyimét elmagyarázni hogy mért nem jó. Mert az lenne a cél hogy a saját hibámból tanuljak. De természetesen hasznos volt a tiéd és nagyon köszönöm. :)
2011. jún. 4. 17:45

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!