Loading...
tsveteivanova avatar tsveteivanova 0 Точки

завършване част 2 C#

Здравейте,

 

направих задачата както е описана в Лаб, но не ми разчита едното grade и не разбирам защо break ми го изписва грешно

Ето решението, ще съм балгодарна ако ми помогнете!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace graduated_part_2
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = Console.ReadLine();
            double counter = 1;
            double sum = 0;
            double excluded = 0;
            bool isExcluded = false;
          

            while (counter <= 12)
            {
                double grade = double.Parse(Console.ReadLine());
                if (grade < 4)
                {
                    excluded++;
                }
            }
                double grade = double.Parse(Console.ReadLine());
                if (grade<4.00)
                {
                    excluded++;
                }

                else if (grade >= 4.00)
                {
                    sum += grade;
                    counter++;
                }
                if (excluded >= 2)
                {
                isExcluded = true;
                    break;
                }
                if (isExcluded == false)
                {
                    double avarage = sum / 12;
                    Console.WriteLine($"{name} graduated. Average grade: {avarage:f2}");
                }
                else
                {
                    Console.WriteLine($"{name} has been excluded at {counter} grade");
                }

            }

        }

    }

Тагове:
0
Programming Basics
Iv_Konov avatar Iv_Konov 383 Точки

Добро утро,

 

Коригирах... и - 100/100. Не разбрах защо if-else конструкцията беше извън while цикъла...

 

=================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace graduated_part_2
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = Console.ReadLine();
            int counter = 0; // броячите трябва да бъдат int 
            double sum = 0;
            int excluded = 0; // броячите трябва да бъдат int 
            bool isExcluded = false;
            double grade = 0;


            while (counter < 12) // counter <= 12  ако го има равното, програмата ще чака оценка за 13-и клас :)
            {
                grade = double.Parse(Console.ReadLine());
                //if (grade < 4) // това е излишно
                //{
                //    excluded++;
                //}

                if (grade < 4.00)
                {
                    excluded++;
                }

                else if (grade >= 4.00)
                {
                    sum += grade;
                    counter++;
                }
                if (excluded >= 2)
                {
                    isExcluded = true;
                    break;
                }
            }
            //grade = double.Parse(Console.ReadLine());
           
            if (isExcluded == false)
            {
                double avarage = sum / 12;
                Console.WriteLine($"{name} graduated. Average grade: {avarage:f2}");
            }
            else
            {
                Console.WriteLine($"{name} has been excluded at {counter + 1} grade"); // counter + 1 - ученикът е бил в следващия клас, но не го е завършил!
            }

        }

    }

}

===================================

 

Поздрави,

Иван

 

0
02/04/2019 07:54:21
Iv_Konov avatar Iv_Konov 383 Точки

п.с. относно grade/brake:

grade - добра практика е да декларираш променливите в началото на програмата; противното не е забранено, но трябва да внимаваш, ако променливата се ползва на няколко места

brake - беше извън while цикъла

 

Иван

0
02/04/2019 09:02:13
BobiLazarov avatar BobiLazarov 7 Точки

Аз така съм го решил

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Graduation
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = Console.ReadLine();
            int counter = 0;
            double avaragegerades = 0.00;

            bool isexcluded = false;
            int excluded = 0;

            while (counter < 12)
            {
                double grade = double.Parse(Console.ReadLine());
                if (grade <4)
                {
                    excluded++;
                }
                else if (grade >= 4) 
                {
                    avaragegerades += grade;

                    counter++;
                    
                }
                if (excluded >= 2)
                {
                    counter += 1;
                    isexcluded = true;
                    break;
                }
            }
            double sum = avaragegerades / counter;

            if (isexcluded == false) 
            Console.WriteLine($" {name} graduated. Average grade: {sum:f2}");
            else
            {
                Console.WriteLine($"{name} has been excluded at {counter} grade" );
            }
        }
    }
}


 

0
em3ata avatar em3ata 2 Точки

Привет, ето моето решение : https://pastebin.com/a6BgKgJ5

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.