Формировать очередь из фамилий и имен тех из них, у которых количество положительных оценок больше, чем отрицательных - C#

Узнай цену своей работы

Формулировка задачи:

Для каждого из N студентов группы известны ФИО и оценки (в баллах) по пяти дисциплинам. Сформировать очередь из фамилий и имен тех из них, у которых количество положительных оценок больше, чем отрицательных.

Решение задачи: «Формировать очередь из фамилий и имен тех из них, у которых количество положительных оценок больше, чем отрицательных»

textual
Листинг программы
public partial class Form1 : Form
    {
        List<Person> student;
        public Form1()
        {
            student = new List<Person>();
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            dataGridView1.AllowUserToAddRows = false;
            try
            {
                int n = Convert.ToInt32(textBox1.Text);
                dataGridView1.Rows.Add(n);
                Generate(n);
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                button1.Enabled = false;
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                   student.Add(new Person
                        (dataGridView1[0, i].Value.ToString(), dataGridView1[1, i].Value.ToString(),
                        dataGridView1[2, i].Value.ToString(),dataGridView1[3, i].Value.ToString(),
                        dataGridView1[4, i].Value.ToString(),dataGridView1[5, i].Value.ToString())
                        );
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
        private void button3_Click(object sender, EventArgs e)
        {  
            Queue<string> students = new Queue<string>();
            foreach (Person z in student)
            {
               if (z.Count())
                {
                    students.Enqueue(z.FIO);
                }
            }
            foreach(string temp in students)
            {
                comboBox1.Items.Add(temp);
                
            }
        }
 
        private void Generate(int n)
        {
            Random rand = new Random();
            List<string> nick =
                "Вася Коля Петя Саша Даша Рома Катя Поля Тома Жора Паша Гоша Тоша"
                .Split(' ').ToList();
            List<string> surname =
                "Котелков Узелков Погромов Томошин Симонов Петров Иванов Котов Крошкин Енотов"
                .Split(' ').ToList();
            string abc = "ЦУКЕНГШЗХФВАПРОЛДЯЧСМИТБЮ";
            string ball = "2345";
            for (int i = 0; i < n; i++)
            {
                dataGridView1[0,i].Value = String.Format("{0} {1}.{2} ",
                    nick[rand.Next(0,nick.Count)],
                    surname[rand.Next(0, surname.Count)],
                    abc[rand.Next(0,abc.Count())]
                    );
                for (int j = 1; j < 6; j++)
                {
                    dataGridView1[j, i].Value = ball[rand.Next(0, ball.Count())];
                }
            }
 
        }
 
 
    }
    public class Person
    {
        private string fio;
        private int matan;
        private int difuru;
        private int funan;
        private int mathphizik;
        private int filosofy;
   
        public string FIO
        {
            get { return fio; }
            set { fio = value; }
 
        }
 
        public Person(string f, string a, string b, string c, string d, string e)
        {
            matan = Int32.Parse(a);
            mathphizik = Int32.Parse(d);
            difuru = Int32.Parse(b);
            funan = Int32.Parse(c);
            filosofy = Int32.Parse(e);
            fio = f;
        }
 
        public bool Count()
        {
            int count = 0;
            if (this.filosofy > 3) count++;
            if (this.matan > 3) count++;
            if (this.difuru > 3) count++;
            if (this.funan > 3) count++;
            if (this.mathphizik > 3) count++;
            if (count >= 3) return true;
            return false;
 
        }
    }

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


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

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

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