Професионална програма
Loading...
+ Нов въпрос
Slavena_cholakova avatar Slavena_cholakova 8 Точки

Задача от Прости операции (допълнително упражнение) : Прогноза за времето - част 2

Колеги трябват ми малко идеи, за да разбера защо judje ми дава 63/100.  Задачата е следната : 

Напишете програма, която при въведени градуси (реално число) принтира какво е времето, като имате предвид следната таблица:

Градуси

Време

26.00 - 35.00

Hot

20.1 - 25.9

Warm

15.00 - 20.00

Mild

12.00 - 14.9

Cool

5.00 - 11.9

Cold

Ако се въведат градуси, различни от посочените в таблицата, да се отпечата "unknown".

Примерен вход и изход

Вход

Изход

16.5

Mild

8

Cold

22.4

Warm

26

Hot

0

unknown

Насоки: потърсете информация за серии от проверки.

Това, което измислих и тествах и работи ( 2 варианта) и при двата е 63/100:  

using System;
                    
public class Program
{
    public static void Main(string[] args)
         {
            double gradusi = double.Parse(Console.ReadLine());
            if (gradusi >= 26.00) 
        {
                if (gradusi <35.00) 
              Console.WriteLine("Hot");   
        }        
            if (gradusi >= 20.1) 
        {
                if (gradusi < 25.9) 
              Console.WriteLine("Warm");   
            }
                 if (gradusi >= 15.00) 
                    {
                if (gradusi < 20.00) 
              Console.WriteLine("Mild");
                }
        if (gradusi >= 5.00) 
                    {
                if (gradusi <= 14.9) 
              Console.WriteLine("Cold");
        }
            else if (gradusi <5) 
    {
        Console.WriteLine("Unknown");
    }
}
 } 

и вторият ваериант:

using System;
                    
public class Program
{
    public static void Main(string[] args)
         {
            double gradusi = double.Parse(Console.ReadLine());
            if (gradusi >= 26.00 && gradusi <35.00) 
            {
                Console.WriteLine("Hot");   
        }        
            if (gradusi >= 20.1 && gradusi < 25.9) 
            {
    Console.WriteLine("Warm");   
            }
                 if (gradusi >= 15.00 && gradusi < 20.00) 
                {
                    Console.WriteLine("Mild");
                }
        if (gradusi >= 5.00 && gradusi <= 14.9) 
        { 
            Console.WriteLine("Cold");
        }
            else if (gradusi <5) 
    {
        Console.WriteLine("Unknown");
    }
}
 }

 

 

Някакви предположения и идеи  къде греша? 

 

 

0
Programming Basics with C#
knoteva avatar knoteva 1082 Точки

Здравей,

Ето коригирано второто ти решение: https://pastebin.com/7bdSjswi. Според мен е по-добре да използваш else if.

0
peter.trifonoff avatar peter.trifonoff 90 Точки

Ами пробвай така:

if(нещо си){

}

else if(нещо си) {

}

else {

"unknown"

}

и имаш пропусната провека за 5 <-> 11.9.

 

 

0
theoners avatar theoners 3 Точки

Какво става, ако градусите са над 35 smiley 

0
Slavena_cholakova avatar Slavena_cholakova 8 Точки

Идеята е добра и опитах, но не е това проблема. Останаха 63/100.

0
doani avatar doani 21 Точки

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

namespace MoreExercises_WeatherForecast_part2
{
    class Program
    {
        static void Main(string[] args)
        {
            double degree = double.Parse(Console.ReadLine());
            if (degree >= 26.00 && degree <= 35.00)
            {
                Console.WriteLine("Hot");
            }
            if(degree >= 20.1 &&  degree <= 25.9)
            {
                Console.WriteLine("Warm");
            }
            if(degree >= 15.00 && degree <= 20.00)
            {
                Console.WriteLine("Mild");
            }
            if(degree >= 12.00 && degree <= 14.9)
            {
                Console.WriteLine("Cool");
            }
            if(degree >= 5.00 && degree <= 11.9)
            {
                Console.WriteLine("Cold");
            }
           if(degree < 5.00 || degree > 35.00)
           
            {
                Console.WriteLine("unknown");
            }
        }
    }
}
 

0
Slavena_cholakova avatar Slavena_cholakova 8 Точки

Благодаря! Видях къде ми е грешката. 

0