<< Studentská tombola | C# - cvičení | Kalkulačka >>

Zadání

  • Vytvořte v CS aplikaci pro pro evidenci žáků
  • Evidujte ID, Jméno, CJ, AJ, MAT, IT
    • pomocí roletového menu vyvolejte dialog pro otevření textového souboru
    • zajistěte čtení dat z textového souboru do dvojrozměrného pole včetně výpočtu průměru ze zadaných známek
    • vypište v multiline textboxu (listView, gridView) obsah textového souboru
    • umožněte výběr studenta a editaci jeho dat včetně zpětného uložení do souboru

Textový testovací soubor

1,Jiří Paleček,1,2,1,6
2,Karel Zeman,2,2,4,1
3,Hana Koblasová,3,3,2,2
4,Petr Černý,4,3,2,3

Ukázka kódu

public void otevřítToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Stream myStream = null;
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.InitialDirectory = "d:\";
            openFileDialog1.Filter = "txt soubory (*.txt)|*.txt|Všechny soubory (*.*)|*.*";
            openFileDialog1.FilterIndex = 1;
            openFileDialog1.RestoreDirectory = true;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    if ((myStream = openFileDialog1.OpenFile()) != null)
                    {
                        using (myStream)
                        {
                            // Insert code to read the stream here.
                            string jménoSouboru = openFileDialog1.FileName;
                            Encoding kódování;
                            kódování = Encoding.UTF8;
                            StreamReader sr = new StreamReader(jménoSouboru, kódování);

                            int početŘádků = 4;
                            int početPoložek = 5;
                            int čísloPoložky = 0;
                            int čísloŘádku = 0;

                            string řádek;
                            string[] řádky = new string[početŘádků];
                            string[] položky = new string[početPoložek];
                            string[,] data = new string[početŘádků,početPoložek];

                            while ((řádek = sr.ReadLine()) != null )
                            {
                                řádky[čísloŘádku] = řádek;
                                položky = řádky[čísloŘádku].Split(',');
                                foreach (string položka in položky)

                                {
                                    data[čísloŘádku, čísloPoložky] = položka;
                                    čísloPoložky++;
                                }
                                čísloPoložky = 0;
                                cbJméno.Items.Add(data[čísloŘádku, 0]);
                                čísloŘádku++;
                             }
                            tbText.Lines = řádky;
                            sr.Close();
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
                }
            }
        }
RSS