Как создать приложение с помощью структур? - C#
Формулировка задачи:
Всем привет! Как с помощью структур создать приложение? У меня есть файл, в котором хранится информация об учениках автошколы: ФИО, учебная группа, количество долгов. Нужно вывести группу, у которой больше всего долгов. Прошу помочь.
Решение задачи: «Как создать приложение с помощью структур?»
textual
Листинг программы
using System; using System.IO; using System.Text; struct AutoPupils { public int group; public int credit; public string FIO; public void Show() { Console.WriteLine("ФИО : " + FIO); Console.WriteLine("Группа : " + group); Console.WriteLine("Долг : " + credit); } public static AutoPupils[] GetInfo(string s) { StreamReader input = null; try { input = new StreamReader(s, Encoding.UTF8); AutoPupils[] AllInfo = new AutoPupils[1000]; int i; string str; string[] Pupilinfo = null; for (i = 0; i < AllInfo.Length; i++) { str = input.ReadLine(); if (str != null) Pupilinfo = str.Split(' '); else break; if (Pupilinfo.Length == 5) { AllInfo[i] = new AutoPupils (Pupilinfo[0] + " " + Pupilinfo[1] + " " + Pupilinfo[2], Int32.Parse(Pupilinfo[3]), Int32.Parse(Pupilinfo[4])); } } AutoPupils[] n = new AutoPupils[i]; for (i = 0; i < n.Length; i++) n[i] = AllInfo[i]; bool flag = true; while (flag) { flag = false; for (i = 0; i < n.Length - 1; i++) if (n[i].group > n[i + 1].group) { AutoPupils b = n[i]; n[i] = n[i + 1]; n[i + 1] = b; flag = true; } } return n; } catch (Exception exc) { Console.WriteLine(exc.Message); return null; } finally { if (input != null) input.Close(); } } public AutoPupils(string f, int g, int c) { FIO = f; group = g; credit = c; } } class structdemo { static void Main() { Console.WriteLine("путь к файлу с данными : "); AutoPupils[] arr = AutoPupils.GetInfo(Console.ReadLine()); Console.WriteLine("Информация об учениках : \n"); foreach (AutoPupils pupil in arr) { pupil.Show(); Console.WriteLine(); } int ng, maxquan = 0 ; string mg = ""; ng = arr[0].group; for (int i = 0, j = 0; i < arr.Length; i++) { if (arr[i].group == ng && arr[i].credit > 0) j++; if(arr[i].group != ng ||i==arr.Length-1) { if (maxquan <j) { maxquan = j; mg = Convert.ToString(ng); } else if (maxquan == j) { mg +=", " + Convert.ToString(ng); } j = 0; if (arr[i].credit > 0) j++; ng = arr[i].group; } } Console.WriteLine("Больше всего должников в группе(-ах) {0}. Их кол-во = {1}",mg,maxquan); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д