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

03. Graduation pt.2

Моят проблем не се основава на това, че не мога да я реша. Напротив решил съм я. Проблема ми е в това, че не знам доколко ми е правилен и хубаво написан кода, защото поне за мен я реших по малко странен начин. Някой ако може да съкрати, поправи някой неща за да го разбера ще съм му благодарен! 

Това е моето решение!

using System;

namespace While3
{
    class While
    {
        static void Main()
        {
            string name = Console.ReadLine();

            int num = 1;
            double sum = 0;

            while (num <= 12)
            {
                double grade = double.Parse(Console.ReadLine());
                if (grade >= 4.00)
                {
                    sum += grade;
                    num++;
                    if (num == 13)
                    {
                        double average = sum / 12;
                        Console.WriteLine($"{name} graduated. Average grade: {average:f2}");
                    }
                }
                if (grade < 4.00)
                {
                    double nextGrade = double.Parse(Console.ReadLine());
                    sum += nextGrade;
                    num++;
                    if (num == 13)
                    {
                        double average = sum / 12;
                        Console.WriteLine($"{name} graduated. Average grade: {average:f2}");
                    }
                    else
                    {
                        double gradeex = num - 1;
                        Console.WriteLine($"{name} has been excluded at {gradeex} grade");
                        break;
                    }
                }
            }
        }
    }
}

 

Тагове:
0
Programming Basics with C#
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

много излишни неща и проверки имаш в този код. Има подобни теми 

https://softuni.bg/forum/answers/details/50774 вътре сме дали примерни и изчистени решения с обяснение.

0
KaloyanZahariev avatar KaloyanZahariev 4 Точки

При мен проработи ето това, като използах метод без да задавам булева стойност:

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = Console.ReadLine();
            int failures = 0;
            double sum = 0;
            double grades = 1;
            while (grades <= 12)
            {
                double grade = double.Parse(Console.ReadLine());
                if (grade < 4.00)
                {
                    failures++;
                    if (failures > 1)
                    {
                        break;
                    }
                }
                if (grade >= 4.00)
                {
                    sum = sum + grade;
                    grades++;
                }
            }
            if (grades == 13)
            {
                Console.WriteLine($"{name} graduated. Average grade: {sum / 12:f2}");
            }
            else
            {
                Console.WriteLine($"{name} has been excluded at {grades} grade");
            }

        }
    }
}
 

0
valio90 avatar valio90 6 Точки

using System;

namespace _5._8Graduation_pt._2
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = Console.ReadLine();
            int klas = 12;
            int broi = 0;
            int broyach = 0;
            int broyacha = 1;
            double obshto = 0;
            while (broi < klas)
            {
                double depozit = double.Parse(Console.ReadLine());

                if (depozit < 4.00)
                {
                    broyach++;
                    if (broyach > broyacha)
                    {
                        Console.WriteLine($"{name} has been excluded at {broyach-2} grade");
                       break;
                    }
                        //continue;   
                }
                broi++;
                broyacha++;
                broyach++;
                obshto += depozit;
            }
            if (broi == klas)
            {
                obshto = obshto / 12;
                Console.WriteLine($"{name} graduated. Average grade: {obshto:F2}");
            }
        }
    }
}

 

0
Mimsi2 avatar Mimsi2 0 Точки

Нещо малко по-кратко:

using System;

namespace _5._8Graduation_pt._2
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = Console.ReadLine();           
            int yearOfEducation = 0;
            double total = 0;
            while (yearOfEducation < 12)
            {
                double grade = double.Parse(Console.ReadLine());
                yearOfEducation++;
                total += grade;
                if (grade < 4.00)
                {
                        Console.WriteLine($"{name} has been excluded at {yearOfEducation} grade");
                        break;                    
                }
            }

            if (yearOfEducation == 12)
            {
                total = total / 12;
                Console.WriteLine($"{name} graduated. Average grade: {total:F2}");
            }
        }
    }
}

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