[Homework] C# Basics - | Console Input Output | Октомври 2015
Здравейте колеги, ето и моята домашна.
Здравейте колеги, ето и моята домашна.
За задача 4 пише да се опитаме без if . Погледнах в учебника и за подобен тип задача има предложени няколко опции без if. Аз си харесах варианта Math.Max Ето как съм решила задачката с тази функция:
static void Main()
{
Console.Write("Please, enter number A: ");
double numA = double.Parse(Console.ReadLine());
Console.Write("Please, enter number B: ");
double numB = double.Parse(Console.ReadLine());
Console.WriteLine("\nGreader number: {0}", Math.Max(numA, numB));
Здравей. Благодаря, че си си качил домашното.
Въпрос- на втора задача всичко си направил със stringove за да не parsvash ако има числа, тип инт?
Или защото май ако имаме дефинирани числа ще се трябва да се пише повече код?
Мерси! :)
Да със стрингове е супер , защото после може да си ги форматирам както си искам , и то пази и числа и текст , за това после като го изведа става по-лесно и по-разбираемо.
Здравейте.Малко Up на темата.Гледам колегата е направил задача 5 чрез condition Statements - if and else.Ето и моето решение,но без тях.Обаче се получава нещо страно и то е че при въвеждането на 11.6 като резултат ми излиза 11.60, и при 3 - 3.0.Ето го и кода:
class FormatingNumber
{
static void Main()
{
Console.WriteLine("insert an integer number:");
int hexNumber = Convert.ToInt32(Console.ReadLine());
string hex = Convert.ToString(hexNumber, 16);
string toBinary = Convert.ToString(hexNumber, 2);
Console.WriteLine("insert a floating point number:");
double numA = double.Parse(Console.ReadLine());
Console.WriteLine("insert one more float number:");
double numB = double.Parse(Console.ReadLine());
Console.WriteLine("|{0,-10} |{1,10}|{2,10:F2}|{3,-10:F3}|", hex.ToUpper(), toBinary.PadLeft(10, '0'), numA, numB);
}
}
Значи ползвай , форматиране по този начин {0:##}, вместо {0:F2}, и ще премахне тази нула :))) пробвай с него. Той слага нула ако е необходимо, ако няма други числа го оставя празно и трябва да ти излезе без нулата.
Климент Христов, много ми харесаха твоите решения.
На Dream Item много хитро си се сетил да ползваш switch case. Аз съм го направила с if :
if (input[0]== "Feb")
{
workingDays = 18;
}
if (input[0]=="Jan"|| input[0]=="March" ||input[0] == "May" || input[0] == "July" || input[0] == "Aug" || input[0] == "Oct" || input[0] == "Dec")
{
workingDays = 21;
}
if (input[0] == "Apr" || input[0] == "June"|| input[0] == "Sept" || input[0] == "Nov")
{
workingDays = 20;
}
Много добра домашна работа, брово на Колегата !
Аз малко наобратно разглеждам домашното и се чудя още на 1ва задача дали според вас не може да стане с по-малко код?
using System;
class SumOfNumbers
{
static void Main()
{
Console.WriteLine("Please enter 3 integer numbers each on a new line");
float a = float.Parse(Console.ReadLine());
float b = float.Parse(Console.ReadLine());
float c = float.Parse(Console.ReadLine());
Console.WriteLine("{0} + {1} + {2} = {3}", a, b, c, a + b + c);
}
}
Аз например я направих така и работи :)
Дали според вас е удачно?
Удачно е :) Не се затормозявайте да си правите чак толкова по-кратки програмите, по-малкото код не значи, че е по-добре.
За момента това е най-краткият вариант, за който се сещам (с условието, че числата се четат на един ред, разделени с интервал и нямат label-и при печатане) :
using System;
using System.Linq;
class Task01
{
static void Main()
{
Console.WriteLine(Console.ReadLine().Split(' ').Sum(n => float.Parse(n)));
}
}
Но използва масиви вътрешно, linq и lambda expressions, все неща, които се учат по-натам, така че keep it simple :)
Като минем масиви и листове , може би ще разберем какво си написъл тук.
Малко така с 1 ред код е неразбираемо за повечето.Между другото с тези кратки изрази се спестява код , но наистина си прав дали е по разбираем е по важно.
По-добре още 5 реда повече , но като видиш всяка променлива какво прави е по-добре някакси за мен като начинаещ.
Когато станем по-добри ще се опитваме да оптимизираме нещата естествено :)))
Здравейте колеги. Ето го и моето домашно. Ще се радвам да чуя коментари.
Доста добре си го направила.
Поздравления
Гледам от учебника и се опитвам да прилагам по нещо, там има доста повече неща от това, което ни дават на лекциите :)
колеги да не забравяме освен Math.PI,съществуването и на Math.Pow,който може да ни е полезен в задачата с окръжноста ;)
double r = double.Parse(Console.ReadLine());
Console.WriteLine("r = {0}",r);
double Perimeter = 2 * Math.PI * r;
double Area = Math.PI * Math.Pow(r, 2);
Console.WriteLine("Perimeter = {0:f}",Perimeter);
Console.WriteLine("Area = {0:F}",Area);