Loading...
Anichka avatar Anichka 93 Точки

[Homework] C# Basics - Primitive data types and variables

Здравейте :)

Моите имплементации за второто ни домашно можете да видите тук

Всичко, което ми се стори, че е необходимо да обясня, е под формата на коментар в сорс кода.

В Проблем 3 съм използвала отделен метод, въпреки че в курса все още не сме стигнали до методи. Наистина ме домързя да пиша if statement 4 пъти, още повече че щеше да бъде един и същ.

Надявам се не съм допуснала фрапантни грешки :)

Update: Последно нанесени промени в сорс кода на 19.03.2014

Тагове:
40
Programming Basics
milen8204 avatar milen8204 296 Точки

Anichka само една дребна забележка, ако позволиш, на 14* задача. Цикълът ти върти до 127, а не до 255. В условието се иска от 0 до 255. И не съм сигурен, но мисля, че все пак трябва да има едно Console.OutputEncoding = Encoding.UTF8; за да се показват коректно символите на конзолата.  За да се вместя в стила на темата ето и http://pastebin.com/egJL8MT4 моето решение.

1
mantodeus avatar mantodeus 17 Точки

Да добавя и аз моите решения : http://github.com/rslid/Primitive-Data-Types-Homework

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

1
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки

Здравейте! Имам въпрос, може би по-скоро към по-опитните със C# и конзолата. Реших да си поиграя с 6-та задача за въвеждане на Gender. Идеята ми беше да прочета от конзолата въведен символ m или f и така да отпечатам булевия резултат. Искаше ми се да сложа и един цикъл (do-while), с който да проверявам дали въведеният символ е f или m и ако не е - да изписвам грешка на конзолата и да повторя операцията по въвеждане на символ. Опитвах с Console.Read(), обаче тя НЕ връща само първия въведен символ, ами има някакъв буфер, който пази следващите въведени символи + char(13) + char(10). Повторението на Console.Read() работи с буфера и докато не го изпразни не може да се въведе нищо. Съответно, не знам дали има начин да разбера точно първият въведен символ кой е и как да проверя буфера.

Другият вариант май е с Console.ReadLine(), където сигурно може директно да се провери дали въведното в конзолата е точно стрингът "m" или "f", но ми стана интересно дали с .Read() може да се реши идеята ми.

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Мен са ме учили никога да не ползвам Read(), дали е некачествено.. не знам. Иначе е вярно, че може да стане с ReadLine(), кастнат към char (или дори да не е - може да си остане като стринг). Друг по-различен вариант - ReadKey(). (Малко по-досаден за ползване, но в нета има достатъчно примери и обяснения)

0
Lyubo avatar Lyubo 172 Точки

Нещо като това

http://dotnetfiddle.net/gqPuii

ли искаш да направиш.

1
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки

Благодаря и на двама ви! Ще изпробвам предложените варианти, за да видя как се държат и да реша кой е най-уместен!

0
petio.bs avatar petio.bs 50 Точки

Това са решенията ми на трета и девета задача :

трета

девета

Въпросът ми относно трета е дали е грешка, че числата се въвеждат с десетична запетая (6,3), а не с точка(6.3), и как може да се оправи? С девета си поиграх малко и понеже имах малко проблеми с енкодинга не съм сигурен дали в крайна сметка изобразява триъгълника правилно. Благодаря предварително :)

 

1
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

За 3-та : Replace , можеш да го ползваш, за да сменяш запетайката на точка във всеки инпут преди да парснеш.

1
nikolay.paskulov avatar nikolay.paskulov 55 Точки

Искам да попитам(тъй както повечето тук съм нов), защо след като подам стойност на long = 000012345; в конзолата се изписва без първите четири нули. Аз логически мога да си отговоря на въпроса - защото след като подавам стойност равна на нула комилаторът приема, че няма стойност и преминава на следващият "елемент" от поредицата, но как тогата се задава подобна стойност на променлива от цялочислен тип(byte, short, int, long). Мерси предварително!!! 

0
micev avatar micev 59 Точки

А за какво ти е да дефинираш по подобен начин няма смисал. 0-те играят роля само в записването на числото в паметта на компа и трябва да внимаваш с тях ако използваш побитови операции, но ако искаш целочислени просто не виждам прричина в това.

0
presian avatar presian 223 Точки

Твоето решение на трета задача е уникално добро според мне. Благодаря ти!laughing

0
micev avatar micev 59 Точки

Ето и моите решения тук

0
hristo.pashev avatar hristo.pashev 0 Точки

Здравейте,

възможно ли е да има грешка в условието на задача 13 "Write a program that safely compares floating-point numbers (double) with precision eps = 0.000001."? Ако искаме точност "eps = 0.000001" това не е ли (float)?

0
ScreeM avatar ScreeM 19 Точки

Ето и моето решение на задача 9:

using System;
using System.Text; // Encoding.UTF8 е от тук

class TheCopyrightSymbol
{
    static void Main()
    {
        char copyRight = '\u00A9';
        Console.OutputEncoding = Encoding.Unicode; //без този ред не излиза правилно в конзолата
        Console.WriteLine(@"
     {0}
   {0} {0}
  {0}    {0}
 {0}{0}{0}{0}
", copyRight);

    }
}

0
ti4o.bs avatar ti4o.bs 16 Точки
float A1 = 5.3F;
float B1 = 6.01F;
double A2 = 5.00000001;
double B2 = 5.00000003;
double A3 = 5.00000005;
double B3 = 5.00000001;
double A4 = -0.0000007;
double B4 = 0.00000007;
double A5 = -4.99999;
double B5 = -4.99998;
double A6 = 4.999999;
double B6 = 4.999998;
float eps = 0.000001F;
bool one = (B1 - A1) <= eps;
Console.WriteLine(one);
bool two = (B2 - A2) <= eps;
Console.WriteLine(two);
bool three = (B3 - A3) <= eps;
Console.WriteLine(three);
bool four = (B4 - A4) <= eps;
Console.WriteLine(four);
bool five = (B5 - A5) <= eps;
Console.WriteLine(five);
bool six = (A6 - B6) <= eps;
Console.WriteLine(six);

Колеги имам питане отностно сравняването. Това върви ли ? :D дава отговорите но ми се струва, че някъде съм чиитнал.

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