Как создать приложение с помощью структур? - 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);
   }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы