Diskuze: Známkovač 1.0

C# .NET .NET (C# a Visual Basic) Známkovač 1.0 American English version English version

Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

Taková malá blbůstka v C Sharp, možná ocení jen učitelé. Je to jenom cvičební program a můj první, který něco umí :) . Momentálně se snažim o možnost zadávat rozsahy známek i podle procent, v budoucnu bych chtěl i možnost ukládat a načítat formuláře pro jednotlivé písemky.
Přikládám i zdroják, tak pište, co vám přijde zbytečné.
Stažení programu: http://uloz.to/…ovac-1-0-exe
Stažení projektu pro Microsoft Visual c sharp 2010 express: http://uloz.to/…-zdrojak-zip

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 WindowsFormsApplication1

{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        float body;
        float maxbody;
        float procenta;
        float z11;
        float z12;
        float z21;
        float z22;
        float z31;
        float z32;
        float z41;
        float z42;
        float z51;



        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void tbbody_Click(object sender, EventArgs e)
        {
            tbmax.Visible = false;

        }

        private void tbmax_TextChanged(object sender, EventArgs e)
        {


            if (tbmax.Text == "")
            {

            }
            else
            {
                try
                {
                maxbody = float.Parse(tbmax.Text);
                }
                catch
                {
                    MessageBox.Show("Chybná hodnota");
                }
            }
        }

        private void tbbody_TextChanged(object sender, EventArgs e)
        {

            if (tbbody.Text == "")
            {

            }
            else
            {
                try
                {
                    tbznamka.Text = "";
                    body = float.Parse(tbbody.Text);
                    procenta = (100 / maxbody) * body;
                    tbprocenta.Text = procenta.ToString("N2");
                    if (body < z11 && body > z12)
                    {
                        tbznamka.Text = "1";
                    }
                    else if (body == z11)
                    {
                        tbznamka.Text = "1";
                    }
                    else if (body == z12)
                    {
                        tbznamka.Text = "1";
                    }
                    else if (body == z21)
                    {
                        tbznamka.Text = "2";
                    }
                    else if (body < z21 && body > z22)
                    {
                        tbznamka.Text = "2";
                    }
                    else if (body == z22)
                    {
                        tbznamka.Text = "2";
                    }
                    else if (body == z31)
                    {
                        tbznamka.Text = "3";
                    }
                    else if (body < z31 && body > z32)
                    {
                        tbznamka.Text = "3";
                    }
                    else if (body == z32)
                    {
                        tbznamka.Text = "3";
                    }
                    else if (body == z41)
                    {
                        tbznamka.Text = "4";
                    }
                    else if (body < z41 && body > z42)
                    {
                        tbznamka.Text = "4";
                    }
                    else if (body == z42)
                    {
                        tbznamka.Text = "4";
                    }
                    else if (body < z51)
                    {
                        tbznamka.Text = "5";
                    }
                    else if (body == z51)
                    {
                        tbznamka.Text = "5";
                    }
                    else
                    {
                        tbznamka.Text = "X";
                    }


                }
                catch
                {
                    MessageBox.Show("Chybná hodnota");
                 }
            }
        }

        private void tbznamka_TextChanged(object sender, EventArgs e)
        {

        }

        private void tbprocenta_TextChanged(object sender, EventArgs e)
        {

        }

        private void tb11_TextChanged(object sender, EventArgs e)
        {


            if (tb11.Text == "")
            {

            }
            else
                try
                {
                    {
                        z11 = float.Parse(tb11.Text);
                    }
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }

        }

        private void tb12_TextChanged(object sender, EventArgs e)
        {
            if (tb12.Text == "")
            {

            }
            else
                try
                {
                    {
                        z12 = float.Parse(tb12.Text);
                    }
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }

        }

        private void tb21_TextChanged(object sender, EventArgs e)
        {
            if (tb21.Text == "")


            {

            }
            else
            {
                try
                {
                    z21 = float.Parse(tb21.Text);
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }
            }

        }

        private void tb22_TextChanged(object sender, EventArgs e)
        {
            if (tb22.Text == "")
            {

            }
            else
            {
                try
                {
                    z22=float.Parse(tb22.Text);
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }
            }
        }

        private void tb31_TextChanged(object sender, EventArgs e)
        {
            if (tb31.Text == "")
            {
            }
            else
            {
                try
                {
                    z31 = float.Parse(tb31.Text);
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }
            }
        }

        private void tb32_TextChanged(object sender, EventArgs e)
        {
            if (tb32.Text == "")
            {
            }
            else
            {
                try
                {
                    z32 = float.Parse(tb32.Text);
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }
            }

        }

        private void tb41_TextChanged(object sender, EventArgs e)
        {
            if (tb41.Text == "")
            {
            }
            else
            {
                try
                {
                    z41 = float.Parse(tb41.Text);
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }
            }


        }

        private void tb42_TextChanged(object sender, EventArgs e)
        {
            if (tb42.Text == "")
            {
            }
            else
            {
                try
                {
                    z42 = float.Parse(tb42.Text);
                }
                catch
                {
                    MessageBox.Show("Chybné číslo");
                }
            }
        }

        private void tb51_TextChanged(object sender, EventArgs e)
        {
            if (tb51.Text == "")
            {
            }
            else
            {
                try
                {
                    z51 = float.Parse(tb51.Text);
                }
                catch
                {
                    MessageBox.Show("chybné číslo");
                }
            }

        }
    }
}
Odpovědět 8.5.2013 12:38
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Adam Ježek
David Čápka:

Na začátek dobré, ale kód máš velmi duplicitní. používej sender, je to ukázané třeba zde: http://www.itnetwork.cz/…rms-aplikace

Nahoru Odpovědět 8.5.2013 12:40
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Petr G
Redaktor
Avatar
Odpovídá na Adam Ježek
Petr G:

Místo

if (tb51.Text == "")
            {
            }

radši použij

if (tb51.Text != "")
{
// Sem hned můžeš psát ten kód, co máš v else
}
Editováno 8.5.2013 12:47
 
Nahoru Odpovědět 8.5.2013 12:46
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:

Sakra chlape, tohle je výbornej nápad! :)

Kámoš dělal v jave něco na způsob bakalářů, ale tohle je taky good :D

Nahoru Odpovědět 8.5.2013 13:06
Unix- svět, kde chcete být nulou :) (UID)
Avatar
TomBen
Redaktor
Avatar
TomBen:

Dělal jsem to taky, ale ptal jsem se učitelů a oni to nepotřebují.
Možná je to individuální, ale většina tyhle věci dělá z hlavy a celkem
bez větších problémů to mají dřív, než by to někam stihli zapsat.

Nahoru Odpovědět 8.5.2013 13:10
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na TomBen
Adam Ježek:

já to dělal spíše z cvičebních důvodů, než abych to distribuoval mezi učiteli

Nahoru Odpovědět 8.5.2013 13:25
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
nepritomny
Člen
Avatar
nepritomny:

nejseš ty ten co tady nedávno blbnul kvůli desetinejm číslám v batchi?

 
Nahoru Odpovědět 17.5.2013 15:59
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na nepritomny
Adam Ježek:

správně :) máš jedničku za postřeh :)

Nahoru Odpovědět 17.5.2013 16:03
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Adam Ježek
David Čápka:

V tom případě moc chválím, že jsi přešel z Batche na něco normálního :)

Nahoru Odpovědět  +1 17.5.2013 16:17
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

místo těch if-ů bych dal switch ..

Nahoru Odpovědět 17.5.2013 16:21
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Honza Bittner
Kit:

Spíš bych místo ifů a switche vygeneroval známky do pole. Klíčem by byly body, hodnotou známka.

Nahoru Odpovědět  +1 17.5.2013 16:31
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Honza Bittner
Adam Ježek:

abych řek pravdu, tak switchum moc nerozumim

Nahoru Odpovědět 18.5.2013 13:50
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Michal Žůrek (misaz):

Učitelé možná by to ocenili, kdyby to umělo něco víc. Třeba si ukládat známky ke jménu do databáze.

Nicméně je to pěkné. :)

Editováno 18.5.2013 13:56
Nahoru Odpovědět 18.5.2013 13:55
Nesnáším {}, proto se jim vyhýbám.
Avatar
Зайчик
Člen
Avatar
Odpovídá na Adam Ježek
Зайчик:

achjo zas budu za toho špatného já.

zdrojový kod

  • absolutní prasárna
  • půlka kódu ohromný větvení blbostí
  • použij pole
  • 50* tam máš try a catch ještě k tomu na úplný blbosti
  • když už try a catch tak používej exception

logika

  • nenapadlo tě místo 50ti vyjímek udělat prostě že do tech textboxů nepůjdou zadat písmena?
  • jak už tu někdo řekl
if(nejakablbost.Text == "") {/*tady nic?:D*/}

totální kravina

  • místo těch 50ti floatů to nasypej do pole
  • smaž ty metody, který absolutně nic nedelaj viz
private void Form1_Load(object sender, EventArgs e)
        {

        }

hrůza u většiny komponent máš event textchanged tak jim dej všem jednu metodu a použij sender

Vím že jsem to zkritizoval až až ale to jen proto, že bys neměl začínat C#em s tím, že je tohle dobré, je to absolutní katastfora, tak to koukej opravit :) já být učitelem, kterému to odevzdáš, tak ti dam automaticky 0bodů hned jak uvidím první metodu ještě bych chtěl říct že pokud víš že nevyužiješ vyšší framework (což teď používáš) tak to udělej na starším.

Nahoru Odpovědět  +2 18.5.2013 15:30
Коммунизм для нашего будущего!
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Зайчик
Jiří Gracík:

Ono je rozdíl když to řekneš normálně a vysvětlíš to nebo když jenom kritizuješ, takhle se to dá :)

Nahoru Odpovědět 18.5.2013 15:50
Creating websites is awesome till you see the result in another browser ...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.