Софтуерно Инженерство
Loading...
AnastasiyaG avatar AnastasiyaG 1 Точки

07. World Swimming Record// C#

Здравейте,

 

може ли да ми намерите грешките - дава ми 60/100.. а нямам visual  studio ( v dotnetfiddle няма debug...)'

using System;
                    
public class Program
{
    public static void Main()
    {
    double record = double.Parse(Console.ReadLine());
        double m = double.Parse(Console.ReadLine());
        double ivantime = double.Parse(Console.ReadLine());
        double ivan = ivantime*m;
        double additional = m/15 ;
        double realtime =Math.Floor(additional)*12.5  + ivan;
          
        

         if (realtime >record)
             
         {  double slow = (realtime-record);
          
             Console.WriteLine("No, he failed! He was {0:f2} seconds slower.",slow );
         }
         else if ( realtime<=record)
             
              { 
             Console.WriteLine(" Yes, he succeeded! The new world record is {0} seconds.",realtime);
         }
    }
}
        
        
 

 

Благодаря!!

kkaraivanov avatar kkaraivanov 116 Точки

double realtime =Math.Floor(additional)*12.5  нямам идея какво прави, но double realtime =Math.Floor(additional * 12.5) закръгля надолу до цяло число. Използвай скобите правилно за разделяне и логика. Променливата double realtime посредством метода Floor, от класа Math, закръгля стойността на "additional", а на теб ти трябва закръгляне на стойността която е равна на "additional * 12.5". Надявам се да ме разбираш какво искам да кажа :)По условие трябва първо да закръглиш "m/15" и след това да направиш изчислението с 12.5.

Ето пример за клас и методи:

public class MyClas
    {
        public int MyMetod(int myInt)
        {
            // logicf or metods and code for them

           return resultMyInt;
        }
    }

0
20/09/2019 22:47:44
AnastasiyaG avatar AnastasiyaG 1 Точки

Да,ясно! Благодаря за разясненито. Не знам защо съм решила, че след Math.Xx(..), в скобите трябва да има само променливата...

0