Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2014, 21:22   #1
yankel
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 22
По умолчанию Наследование классов си шарп

задача: имеется группа студентов, вывести фио. средний балл и коэффициент пересчета стипендии тех, чей средней балл по 5
предметам больше 4х.
коэффициент пересчета стипендии равен 2, если ср. балл - 5
коэффициент пересчета стипендии равен 1.5, если ср балл больше 4х, но меньше 5 и нет оценок 2 и 3
коэффициент пересчета стипендии равен 1, если ср. балл больше 4х, но меньше 5 и есть оценка 3
коэффициент пересчета стипендии равен 0, если есть оценка 2

Вот, что пока (не)получилось у меня:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication34
{
    class Student
    {
        public string fio;
        public double cr;
        public int[] Progress;
        public Student(string fio1, int[] progress1)
        {
            fio = fio1;
            cr = 0;
            Progress = progress1;
            for (int i = 0; i < progress1.Length; i++)
            {
                cr = cr + progress1[i];
            }
            cr = cr / progress1.Length;

        }

    }
    class step : Student
    {
        public double k;
        public step(string fio, int[] progress)
            : base(fio, progress)
        {
            k = 0;
            for (int i = 1; i <= progress.Length; i++)
            {
                if (cr == 5)
                    k = 2;
                if (cr < 5)
                {
                    if (cr > 4)
                    {
                        if (progress[i] != 2)
                        {
                            if (progress[i] != 3)
                                k = 1.5;
                        }
                    }
                }
                if (progress[i] == 2)
                {
                    k = 0;
                    break;
                }
                if (cr < 5)
                {
                    if (cr > 4)
                    {
                        if (progress[i] == 3)
                        {
                            k = 1;
                            break;
                        }
                    }
                }
            }

        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            step[] Students = new step[5];
            Students [0] = new step("Иванов", new int[] { 3, 4, 5, 4, 4 });
            Students [1] = new step("Петров", new int[] { 3, 4, 2, 4, 3 });
            Students [2] = new step("Сидоров", new int[] { 5, 4, 5, 5, 4 });
            Students [3] = new step("Васин", new int[] { 3, 5, 5, 4, 3 });
            Students [4] = new step("Смирнов", new int[] { 4, 5, 5, 5, 5 });
            for (int i = 0; i < Students.Length - 1; i++)
                {
                    double k = Students [i].k;
                    int imax = i;
                    double max = Students[i].cr;
                    for (int j = i + 1; j < Students.Length; j++)
                    {
                        if (Students[j].cr > max)
                        {
                            max = Students[j].cr;
                            imax = j;
                        }
                    } step f;
                    f = Students[imax];
                    Students[imax] = Students[i];
                    Students[i] = f;

                }

                for (int i = 0; i < 5; i++)
                {
                    if (Students[i].cr >= 4)
                    {
                        Console.WriteLine("ФИО  {0}\t" + "средний балл  {1,4:f2}" + "коэффициент перевода {2,3:f2}", Students[i].fio, Students[i].cr, Students[i].k); }
                }
            }
             

        }

    }

Последний раз редактировалось yankel; 17.04.2014 в 21:42. Причина: Ошибся разделом, не знаю как удалить отсюда
yankel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наследование классов Розетко Компоненты Delphi 12 28.12.2013 09:19
Наследование классов (С++) MayhemWithMercy Помощь студентам 4 01.10.2012 12:08
наследование классов Ioane Помощь студентам 0 14.04.2012 16:00
наследование классов Dimarik Общие вопросы C/C++ 15 02.07.2009 20:00