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

[HOMEWORK]PrimitiveDataTypesAndVariables: Problem 8 - Isosceles Triangle

Здравейте, колеги!

 

Изчетох сигурно целия гугъл, променях фонтове, сменях сетинги, добавях енкодинги и въпреки това на кода 

            char copyright = '\u00A9';
            Console.OutputEncoding = Encoding.UTF8;
            Console.WriteLine(copyright);

продължавам да си получавам 'й'. Някой да има същия проблем? На лаптоп съм и ползвам Win7 64 bit и предполагам, че някъде от там идва проблема.

Най-доброто, което успях да постигна е без енкодинга и ми печата просто 'c'. 

Моля за идеи :)

П.С. пробвах и така:

            char copyRightSymbol = (char)169;
            Console.OutputEncoding = Encoding.Unicode;
            Console.WriteLine(copyRightSymbol);

, защото в интернет намерих, че при някой работи - пак просто 'c' :(

Тагове:
0
Основи на програмирането 18/08/2015 20:58:06
djc_bg2015 avatar djc_bg2015 922 Точки

Здрасти,

пробва ли с друг енкодинг?

Console.OutputEncoding = Encoding.Unicode;

Console.OutputEncoding = Encoding.Default;

Сигурент ли си че позлваш true type (tt) шрифт за конзолата?

Можеш направо да го използваш така:

Console.WriteLine("©");

 

ЕДИТ: сега видях , че си пробвал енкодинга. До тук бях с идеите :)

 

0
18/08/2015 21:40:09
remote87 avatar remote87 120 Точки
Здрасти, пробвах и да пейстна символа,както си показал - печата пак само 'c'. True type - пробвах с няколко различни шрифта,които видях в нета че решават проблема, но при мен резултата е един и същ
0
18/08/2015 22:13:16
djc_bg2015 avatar djc_bg2015 922 Точки

Само да уточним, сменяш шрифтовете на кознолата нали? по default са 3 , и доколкото се сещам, добавянето на новие беше лека занимавка..

0
remote87 avatar remote87 120 Точки

Ами...да. В смисъл на конзолата десен бутон - проп - фонтс - и има 3 : конзолас, растър и лусида. Вече във Вижуал Студио има сума ти, за всеки случай и там съм ги поразцъкал, но ТЦ. Днес като ми остане ред ще преинсталирам студиото за всеки случай, че някой беше писал, че и това му помогнало. Вече и аз не знам.

EDIT: пробвах и така, защото това май е най-сигурния начин:

Console.OutputEncoding = System.Text.Encoding.UTF8;

пак същото :(

0
19/08/2015 13:59:57
NedNikolov avatar NedNikolov 46 Точки

Здравей.
  Бих ти дал моя съвет за подход при решаване на проблеми с домашните свързани не само с примитивни типове данни и променливи и той е следния:
Вместо да отваряш нова тема, форума е изключително богат и това което аз правя е да поставя в Гугъл проблема си (в твоя случай аз написах: "isosceles triangle c# sоftuni"). Още първият линк, който ми излезе беше на форума: https://softuni.bg/forum/81/homework-csharp-basics-primitive-data-types-and-variables-isosceles-triangle
   Сам можеш да видиш, колко обширно е обяснено там решението на проблема и можеш да намериш доста полезни неща. Не че ако зададеш въпроса наново и отвориш нова тема, няма да получиш отговор, но идеята ми е там, че целта е не да се преповтарят нещата а да има полза от тях. Следващият път пробвай моя метод и ти гарантирам, че ще достигнеш по-бързо до отговора на въпроса, който желаеш, вместо да чакаш ние да отговорим на току що създадената от теб нова тема на вече съществуващ проблем.
    Надявам се да съм бил полезен, поздрави, Недялко.

1
remote87 avatar remote87 120 Точки

Здравей, Недялко!

 

Благодаря за конструктивната критика, но МОЛЯ прочети пак, какво съм написал. Изчел съм гугъл за този проблем, прочел съм всичко изписано от телерик академията и от софтуни и съм ПРОБВАЛ всичко до момента и проблема си остава. Точно поради тази причина съм пуснал нова тема, а не за да трупам точки, защото не мога да търся в гъгъл или поради някаква друга причина. Намерил съм човек със същия резултат като моя, пробвал съм да го оправя, както се е получило при него, НО при мен резултата е един и същ. :)

Ако ми намериш начин, различен от смяна на фонта, смяна на енкодинга ( и то по няколко начина на UTF-8 ), директно копи-пейст на символа и още няколко такива, ще съм ти много благодарен и ще се съглася, че не е трябвало да си пускам темата / и в stackoverflow резултатите са същите /. :)

Отново, моля, преди да коментирате, четете. Нямам нищо против критика, даже ще съм благодарен, но нека е обоснована и да има смисъл от нея.

П.С. Приемам забележката за другите задачи, но тепърва бях започнал и не ми беше дошло на акъла да търся решения на моя проблем в другите теми. Сега го правя и гледам да не качвам теми, които се повтарят :)

Благодаря още веднъж, Недялко!

Успех! :)

1
19/08/2015 13:58:11
NedNikolov avatar NedNikolov 46 Точки

Здравей.
   Пробвай с този код, защото при мен работи:
 

using System;
using System.Text;

namespace IsoscelesTriangle
{
    class IsoscelesTriangle
    {
        static void Main()
        {
            //Console.OutputEncoding = Encoding.UTF8;
            //char copySymbol = '\u00A9';
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            char symbol = (char)0XA9;
            Console.WriteLine("   {0}   \n  {0} {0}  \n {0}   {0} \n{0} {0} {0} {0}", symbol);

        }
    }
}

При мен тръгва с шрифт: Lucida Console, на останалите ми дава или кръг с точка или "й"

Ето линк, току що го проверих даже: https://scontent-fra3-1.xx.fbcdn.net/hphotos-xpf1/t31.0-8/11164183_447534782100967_2173902505421371055_o.jpg

0
remote87 avatar remote87 120 Точки

Здрасти пак!

Бях пробвал и така / виж ми коментарите /, но пак не ставаше, без значение, кой шрифт съм сложил. Преинсталирах Вижуал Студио и незнайно как, но е факт - вече ми печата символа - нищо по-различно не съм правил, даже този път и фонтове не съм сменял... Мистерия :)

Благодаря все пак!

1
dggeorgiev avatar dggeorgiev 14 Точки

Windows-ката конзола е като тази на MS-DOS и използва нейния набор от символи. Ако опитваш друга конзола ( http://csharppad.com/ ), ще получиш коректно извеждане на символа.

1
remote87 avatar remote87 120 Точки

Така стана, излезе символа, но в моето Вижуал Студио не иска и това е :( Както съм писал по-горе, днес ще го преинсталирам и ще видим, какъв ще е резултата.

0
dggeorgiev avatar dggeorgiev 14 Точки

Недей да го преинсталираш!!! Това няма общо с Visual Studio-то ти. Конзолата на Windows-а ти просто не възпроизвежда такива символи.

0
remote87 avatar remote87 120 Точки

Е не може то така :D

Накрая ще се амбицирам и ще си преинсталирам и уиндоуса хаха. Ще го накарам да тръгне!

EDIT: въпреки съвета ти, така или иначе го бях пуснал да се преинсталира, регистрирах си продукта / макар, че едва ли има нещо общо / и сега:

class IsoscelesTriangle
    {
        static void Main()
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            string copyright = new string('\u00A9', 2);
            Console.WriteLine(copyright);
        }
    }

output: ©©

Убий ме, не знам, какъв беше проблема - нищо по-различно не направих ?!

EDIT: дори това, пак си ми вади символа:

class IsoscelesTriangle
    {
        static void Main()
        {
            Console.OutputEncoding = Encoding.UTF8;
            char symbol = '\u00A9';
            Console.WriteLine(symbol);
        }
    }

А преди това не ставаше, а съм повече от сигурен, че правя едно и също / System.Text не го бях изтрил, пък и ако го нямаше, щях да имам грешка, а не да го компилира и да ми печата друго /. Просто не знам ?! :D

0
19/08/2015 15:20:32