Софтуерно Инженерство
Loading...
+ Нов въпрос
DimitarAndonov avatar DimitarAndonov 1 Точки

03. Exam Preparation

Нямам представа как да опиша задачата. Може ли малко помощ? Условие:
Напишете програма, в която Марин решава задачи от изпити докато не получи съобщение "Enough" от лектора си. При всяка решена задача той получава оценка. 
Незадоволителна е всяка оценка, която е по-малка или равна на 4.

Вход

На първи ред - брой незадоволителни оценки - цяло число в интервала [1…5]

След това многократно се четат по два реда:

Име на задача - текст (стринг)

Оценка - цяло число в интервала [2…6]

Програмата трябва да приключи прочитането на данни при команда "Enough" или ако Марин получи определеният брой незадоволителни оценки.

Изход

Ако Марин стигне до командата "Enough", отпечатайте на 3 реда: 

"Average score: {средна оценка}"

"Number of problems: {броя на всички задачи}"

"Last problem: {името на последната задача}"

Ако получи определеният брой незадоволителни оценки:

	"You need a break, {брой незадоволителни оценки} poor grades."

Средната оценка да бъде форматирана до втория знак след десетичната запетая.
Тагове:
0
Programming Basics with C#
Jordan_Dobrev12 avatar Jordan_Dobrev12 253 Точки
Best Answer

Задачата въобще не е трудна, даже напротив - от лесните е.

Постарах се всичко да бъде максимално изчистено и ясно, ето линк - https://pastebin.com/wDzFYbdL

0
Presiyan15 avatar Presiyan15 1 Точки

Здравейте, имам въпрос относно същата задача и защо решението ми работи, но judge не го приема?

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

namespace examPreparation
{
    class Program
    {
        static void Main(string[] args)
        {
            int inputOfBadGrades = int.Parse(Console.ReadLine());
            int countForBadGrades = 0;
            double sumGrades = 0;
            string lastProblem = string.Empty;
            int countForGrades = 0;
            while (countForBadGrades<inputOfBadGrades)
            {
                string name = Console.ReadLine();
                if (name == "Enough")
                {
                    Console.WriteLine($"Average score: {sumGrades/countForGrades}");
                    Console.WriteLine($"Number of problems: {countForGrades}");
                    Console.WriteLine($"Last problem: {lastProblem}");
                }
                int grade = int.Parse(Console.ReadLine());
                sumGrades += grade;
                countForGrades++;
                if (grade<=4)
                {
                    countForBadGrades++;
                }
                lastProblem = name;
            }
            if (countForBadGrades == inputOfBadGrades)
            {
                Console.WriteLine($"You need a break, {countForBadGrades} poor grades." );
            }

 

        }
    }
}

0
15/05/2019 20:28:46
Jordan_Dobrev12 avatar Jordan_Dobrev12 253 Точки

На пръв поглед това, което виждам е че нямаш break в if-a където проверяваш дали name == "Enough" , когато получиш тази команда трябва да спреш, а не да продължаваш.

0