<< 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); } } }