Stránka 1 z 1

Domácí úkol do školy

Napsal: 13 lis 2016 13:14
od dikusek1
Zdravím,
máme za úkol udělat program přes Visual Studio, potřebuji to udělat do zítra, takže odpovědi co nejdříve.
program.png
program.png (9.21 KiB) Zobrazeno 911 x

program2.png
program2.png (7.17 KiB) Zobrazeno 911 x

Už vím, jak udělat Random proměné a zobrazí se to v labelu viz obrázek.
Program je na počítaní a zkontrolovaní jestli je výsledek dobře nebo špatně, takže třeba když vyberu sčítaní(+) a to spočítá a zkontroluje, jestli je výsledek dobře, nebo když vyberu násobení(*), tak ať to spočítá a zkontroluje. V obrázku
Pak tam má být, že to napíše jestli to je dobře nebo špatně, tak se to postupně počítá kolik bylo dobře/špatně v textboxech a až to dosáhne 10, zastaví se a spočítá to výslednou známku z průměru kolik bylo dobře/špatně.

Zde posílám kód, co zatím mám, ostatní nevím:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Projekt1
{
public partial class Form1 : Form
{ Random Nahodne = new Random();
int NahodneCislo;
int NahodneCislo2;
int Spravne = 0;
int Spatne = 0;



public Form1()
{ InitializeComponent();
NahodneCislo = Nahodne.Next(50);
NahodneCislo2 = Nahodne.Next(50) + 50;
lblNahodneCislo.Text = NahodneCislo.ToString();
lblNahodneCislo2.Text = NahodneCislo2.ToString();

}

private void btnKontrola_Click(object sender, EventArgs e)
{

if ((int.Parse(lblNahodneCislo.Text) + int.Parse(lblNahodneCislo2.Text)) == int.Parse(txtCislo.Text)) {

lblVysledek.Text = "správně";
++Spravne;
txtSpravne.Text = Spravne.ToString();
}

else {
lblVysledek.Text = "špatně";
++Spatne;
txtSpatne.Text = Spatne.ToString();
}
if (Spravne + Spatne == 10) {
btnKontrola.Enabled = false;
btnDalsi.Enabled = false;


}

}

private void btnDalsi_Click(object sender, EventArgs e)
{
Random Nahodne = new Random();
int NahodneCislo;
int NahodneCislo2;
NahodneCislo = Nahodne.Next(50);
NahodneCislo2 = Nahodne.Next(50) + 50;
lblVysledek.Text = "";
lblNahodneCislo.Text = NahodneCislo.ToString();
lblNahodneCislo2.Text = NahodneCislo2.ToString();
}




private void RadScitani_CheckedChanged(object sender, EventArgs e)
{


lblZnamenko.Text = "+";


}

private void radOdcitani_CheckedChanged(object sender, EventArgs e)
{

lblZnamenko.Text = "-";


}

private void RadNasobeni_CheckedChanged(object sender, EventArgs e)
{

lblZnamenko.Text = "*";

}
private void RadDeleni_CheckedChanged(object sender, EventArgs e)
{

lblZnamenko.Text = ":";

}
} }

// drobná úprava názvu. mmmartin

Re: Domácí úkol do školy

Napsal: 13 lis 2016 13:38
od faraon
Do zítra? To teda začínáš brzy! Doufej že se tu někdo, kdo v tom umí, ještě dnes vyskytne.
A příště dej zdroják do tagu CODE (páté tlačítko v prvním řádku editoru, ať se zachová aspoň trochu čitelné formátování:

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Projekt1
{
    public partial class Form1 : Form
    { Random Nahodne = new Random();
        int NahodneCislo;
        int NahodneCislo2;
        int Spravne = 0;
        int Spatne = 0;
       
       

        public Form1()
        { InitializeComponent();
            NahodneCislo = Nahodne.Next(50);
            NahodneCislo2 = Nahodne.Next(50) + 50;
            lblNahodneCislo.Text = NahodneCislo.ToString();
            lblNahodneCislo2.Text = NahodneCislo2.ToString();

        }

        private void btnKontrola_Click(object sender, EventArgs e)
        {   

            if ((int.Parse(lblNahodneCislo.Text) + int.Parse(lblNahodneCislo2.Text)) == int.Parse(txtCislo.Text))   {
               
                lblVysledek.Text = "správně";
                ++Spravne;
                txtSpravne.Text = Spravne.ToString();
            }

            else {
                lblVysledek.Text = "špatně";
                ++Spatne;
                txtSpatne.Text = Spatne.ToString();
            }
            if (Spravne + Spatne == 10) {
                btnKontrola.Enabled = false;
                btnDalsi.Enabled = false;
               

            }

        }

        private void btnDalsi_Click(object sender, EventArgs e)
        {
            Random Nahodne = new Random();
            int NahodneCislo;
            int NahodneCislo2;
            NahodneCislo = Nahodne.Next(50);
            NahodneCislo2 = Nahodne.Next(50) + 50;
            lblVysledek.Text = "";
            lblNahodneCislo.Text = NahodneCislo.ToString();
            lblNahodneCislo2.Text = NahodneCislo2.ToString();
        }

       
       

        private void RadScitani_CheckedChanged(object sender, EventArgs e)
        {

           
            lblZnamenko.Text = "+";
           
           
        }

        private void radOdcitani_CheckedChanged(object sender, EventArgs e)
        {

            lblZnamenko.Text = "-";


        }

        private void RadNasobeni_CheckedChanged(object sender, EventArgs e)
        {

            lblZnamenko.Text = "*";

        }
        private void RadDeleni_CheckedChanged(object sender, EventArgs e)
        {

            lblZnamenko.Text = ":";

        }
    } }

Mimochodem, co je to za jazyk? Vypadá to jako C++ zprzněné někým kdo se kdysi naučil základy QBasicu :crazy:

Re: Domácí úkol do školy

Napsal: 13 lis 2016 13:52
od dikusek1
No, zadali nám to v pondělí a tohle jsem udělal od uterka a zkoušel jsem na to přijít sám :D ale nedařilo se

Re: Domácí úkol do školy

Napsal: 13 lis 2016 13:55
od beather
no určitě by jsi to mohl formulovat jinak než "musí to být dneska, takže odpovězte hned !" vypadá to hrozně.. :-)

Re: Domácí úkol do školy

Napsal: 13 lis 2016 13:57
od dikusek1
Jo sorry, vím ale jsem z toho zmatený a nevím co do toho kódu napsat :D a problém je v tom že to nikdo ze třídy taky neví :D

Re: Domácí úkol do školy

Napsal: 13 lis 2016 14:05
od Martab
A v jakém jazyku to má být? Sice nevím jak k tomu udělat tu grafickou nadstavbu, ale ve Visualu by to pak už měla být jen otázka klikání, základní program by šel napsat v Cčku (najdi si na netu kalkulačku a kód k ní) a pak to "jen" spojit. A nebo počkat, až se tu někdo zjeví kdo v tom umí...

Re: Domácí úkol do školy

Napsal: 13 lis 2016 14:09
od faraon
Snaha se cení, teď to chce nakopnout správným směrem.

Jestli jsem to dobře rozluštil, tak v metodě Kontrola bys měl načíst zadané číslo z okénka, a porovnat ho s vypočítaným výsledkem, ne?

A ten můžeš vypočítat na čtyři různé způsoby, podle toho kterou operaci máš použít.

Re: Domácí úkol do školy

Napsal: 13 lis 2016 14:10
od dikusek1
mám takový pocit že to je C#, protože jsem si musel nainstalovat .NET Framework a to pokud vím spolupracuje s C#

Dodatečně přidáno po 2 minutách 19 vteřinách:
faraon : ano , čtyři různé způsoby počítaní (+,-,*,:) a pak to zkontrolovat jestli to je dobře (TextBox Výsledek) a pak průměr známky z toho kolik bylo špatně/dobře

Re: Domácí úkol do školy

Napsal: 13 lis 2016 18:37
od Eldan
Tohle je C#, na školách se učí celkem často. Grafická stránka je WYSIWYG, takže tam žádný problém, na metody je to "našroubované" eventově.

Nenapíšu ti kód (protože ty se učíš a ty bys měl přemýšlet), ale řeknu ti na co se zaměřit:
- Pamatuj si v proměnné jakou operaci jsi vybral a při kontrole využij tuhle proměnnou k tomu, abys v závisloti na její hodnotě mohl s danými čísly udělat potřebnou operaci.

- Čísla která se mají zpracovat si generuješ sám randomem, int.Parse si nech jen na porovnání uživatelského vstupu, bude dobré když hodíš error v případě, že tam uživatel napíše něco nečíselného. Předgenerované (random) čísla si ukládáš do proměnných - tak ty proměnné používej a nenačítej do té kontroly text z labelu, když máš proměnnou.

- Kód, který se všude opakuje úplně stejně bys mohl přesunout do funkce, kterou budeš volat všude tam, kde tenhle kód běží.