Работаем дома

Форум о заработке в Интернет, фриланс, и о хобби, которое может принести деньги


    Язык программирования С# - Си Шарп.

    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Язык программирования С# - Си Шарп.

    Сообщение автор Admin Ср 4 Дек 2019 - 15:14

    Сегодня продолжаю (начинаю) снова изучать Си Шарп. Продолжаю потому что уже разбирался в основах и немного понятно. Начинаю - потому что начинаю читать снова, так как подзабыл.  Embarassed

    Что то берут меня сомнения, что я опять осилю книгу. В прошлый раз пару книг прочитал, проводил даже занятия, но многое осталось непонятным ... всё таки учиться без учителя - трудновато. Да и эти грёбанные фигурные скобки выбешивают изрядно, хотя уже и привык к ним немного.   И так поехали....
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Ср 4 Дек 2019 - 16:25

    Всё начинается с консольного проекта, и как всегда и тут  ... толи специально, толи думают, что все новички всё знают, не дописали дополнительную строчку кода, из за чего консольное приложение Привет, Мир - закрывается, и пользователь не успевает его прочитать.

    В общем для того, чтобы консоль не закрывалась дописываем:

    Код:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Examplei2
    {
        class Program
        {
            static void Main(string[] args)
            {

                Console.WriteLine("Hello, world");
                Console.ReadKey();
            }
           
        }
    }

    дописываем нижнюю строчку  Console.ReadKey();
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Ср 4 Дек 2019 - 16:35

    Для ясности обозначу, что читаю сейчас книгу:
    * Самоучитель С# 2008. 2009. Гросс.К 

    Так вот, в ней тоже не указан выше предоставленный мною строчка кода. И в итоге консольное приложение сразу же закрывается.

    Со строчкой кода

    Код:
    Console.ReadKey(); 

     приложение ждёт нажатие любой клавиши. В принципе некоторые вводят и так:

    Код:
    Console.ReadLine();
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Вс 8 Дек 2019 - 1:55

    В дальнейшем, эта строчка приводится в описании к обучению. Так что гуд. Пока что прохожу основы, ничего сложного. 
    Уже есть идейки создать пару программ для любителей тестов. Чисто в консольном режиме (чисто строковый вывод информации в консоли)... Но надо повторить булевскую логику, не помню, как она в Си шарп пишется.
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Ср 11 Дек 2019 - 0:52

    Прошёл и логику и ветвления, сейчас буду выкладывать консольные программки , которые сам написал . )
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Ср 11 Дек 2019 - 1:41

    Ну вот, первая программа по индексу массы тела уже готова, и выложена здесьCool  Интересно всё же делать свои программки )
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Сб 25 Янв 2020 - 12:53

    Был небольшой перерывчик, в связи с большой занятостью.
    Но язык программирования C# не отпускает. Решил поискать на просторах сети книжки не от иностранных авторов с переводами, от отечественных, русскоязычных. И как ни странно, нашёл. И даже не то что нашёл, а нашёл именно то, что нужно.


    Васильев А.Н. - Программирование на C# для начинающих. Основные сведения (Российский компьютерный бестселлер) - 2018

    Респект автору, это именно то, что нужно. Видимо всё таки менталитет обучения у наших и у забугорных учителей очень сильно отличается. В книге всё ясно, понятно, разложено по полочкам, объяснено, предоставлены листинги, а в конце каждой главы задания для самостоятельного решения. 
    Хотя и знаю уже довольно много по языку C# , но читая с самых азов книгу Васильева понял очень многое, для меня ранее непонятного. В общем продолжаю изучение.
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Сб 25 Янв 2020 - 13:27

    Итак продолжим.

    Условие задачи:

    Напишите программу, в которой пользователь вводит имя и возраст. Программа отображает сообщение об имени и возрасте пользователя.
    Предложите консольную версию программы и версию, в которой данные выводятся с помощью диалоговых окон.

    Решение версии с формой:
    Код:
    using System;
    using Microsoft.VisualBasic;
    using System.Windows.Forms;

    class MyProgram
    {
        static void Main()
        {
            //объявляем две строковые переменные
            string name,age;
            //запрашиваем у пользователя имя и возраст, присваиваем переменным
            name = Interaction.InputBox("Введите своё имя", "Как вас зовут?");
            age = Interaction.InputBox("Сколько вам лет?");
            //Выводим данные в окне
            MessageBox.Show("Privet " + name + "Тебе " + age + " лет.");

           
        }
    }

    Использую пространство имён System, т.к класс string входит в это пространство имён.
    Использую пространство имён Microsoft.VisualBasic, т.к inputBox заимствован с VisualBasic
    Использую пространство имён System.Windows.Forms, так как MessageBox входит в это пространство имён.
    Использую VS2015 - очень удобная среда программирования.

    Консольная версия:
    Код:
    using System;

    class MyProgram
    {
        static void Main()
        {
            string name, age;
            Console.WriteLine("Напишите своё имя: ");
            name = Console.ReadLine();
            Console.WriteLine("Напишите свой возраст: ");
            age = Console.ReadLine();
            Console.WriteLine("Привет " + name + ", тебе " + age + " лет");
            Console.ReadKey();

        }
    }

    Использую пространство имён System, так как в консольная версия очень часто использует это пространство имён, в том числе классы Console,string сюда входит.
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Сб 25 Янв 2020 - 13:54

    Следующее задание:

    Напишите программу, в которой пользователь последовательно вводит название текущего дня недели, название месяца и дату(номер дня в месяце).
    Программа выводит сообщение о сегодняшней дате (день недели, дата, месяц).
    Используйте консольный ввод и вывод данных.
    Предложите версию программы, в которой для ввода и вывода данных используются диалоговые окна.


    Консольное решение:
    Код:
    using System;

    class MyProgram
    {
        static void Main()
        {
            Console.WriteLine("Какое сегодня число?");
            string day = Console.ReadLine();
            Console.WriteLine("Какой сегодня день недели");
            string week = Console.ReadLine();
            Console.WriteLine("Какой сегодня месяц?");
            string month = Console.ReadLine();
            Console.WriteLine("Сегодня " +week + " " + day + " " + month);
            Console.ReadKey();
        }
    }

    Решение с формой:
    Код:
    using Microsoft.VisualBasic;
    using System.Windows.Forms;

    class MyProgram
    {
        static void Main()
        {
            string day, week, month;
            day = Interaction.InputBox("Какое сегодня число?");
            week = Interaction.InputBox("Какой сегодня день недели?");
            month = Interaction.InputBox("Какой сегодня месяц");
            MessageBox.Show(week+" "+day+" "+month);
        }
    }

    Использую пространство имён System, т.к класс string входит в это пространство имён.
    Использую пространство имён Microsoft.VisualBasic, т.к inputBox заимствован с VisualBasic
    Использую пространство имён System.Windows.Forms, так как MessageBox входит в это пространство имён.
    Все решения используются с VS2015
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Сб 25 Янв 2020 - 14:12

    Новое задание:

    Напишите программу, в которой по году рождения определяется возраст пользователя.
    Используйте консольный ввод и вывод данных



    Решение:
    Код:
    using System;

    class Program
    {
        static void Main()
        {
            int yearUser,year,old;
            Console.WriteLine("Напишите свой год рождения");
            yearUser = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Какой сейчас год?");
            year = Int32.Parse(Console.ReadLine());
            old = year - yearUser;
            Console.WriteLine("Вам " + old + " лет.");
            Console.ReadKey();

        }
    }

    Объявляю сразу числовые переменные.
    Преобразую методом Parse, который входит в структуру Int32 заданные пользователем числа (год) из строки в число.
    Вычисляется возраст, ответ выводится в консоль.
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Сб 25 Янв 2020 - 15:54

    Новое задание:

    Напишите программу, в которой пользователь вводит имя и год рождения.
    Программа отображает сообщение, содержащее имя пользователя и его возраст.
    Напишите консольную версию и версию с диалоговыми окнами.


    P.s так как по условию задачи, не надо запрашивать у пользователя какой сейчас год, то в коде программе он будет проставлен явно.
    Программа с запросом у пользователя нынешнего года выложена ранее.

    Решение:
    Код:
    using System;
    //консольная версия программы

    class MyProgram
    {
        //главный метод
        static void Main()
        {
            Console.WriteLine("Как ваше имя?");
            string name = Console.ReadLine();
            Console.WriteLine("В каком году вы родились?");
            int year = Int32.Parse(Console.ReadLine());
            int old = 2020 - year;
            Console.WriteLine(name + ", вам " + old + " лет");
            //чтобы консольное окно не закрывалось без компанды
            Console.ReadKey();

        }
    }

    P.S ссылку на пространство имён System в Solution Explorer в VS2015 не добавлял.... хз ... по видимому по умолчанию используется. Немного подробней. Я создаю проект в VS2015 как Empty Project (чистый проект), потом добавляю в него чистый файл Program.cs (в котором и пишется код) , в таком случае надо и в окне проекта Solution Explorer добавлять ссылки на используемые пространства имён, что и делаю. 

    Решение задачи, при помощи диалоговых окон:
    Код:
    using System;
    using Microsoft.VisualBasic;
    using System.Windows.Forms;

    class MyProgram
    {
        static void Main()
        {
            //объявляем переменные, и инициализируем последнюю (по идее год тоже можно запросить)
            string name;
            int old,yearUser, year = 2020;
            name = Interaction.InputBox("Как вас зовут?", "Напишите своё имя");
            yearUser = Int32.Parse(Interaction.InputBox("В каком году вы родились?", "Ваш год рождения"));
            old = year - yearUser;
            MessageBox.Show(name + ", вам " + old + " лет.");


        }
    }

    Также в свойствах проекта ставлю, что это приложение windows, иначе будет открываться и консолька, так  как по умолчанию стоит консольное приложение.
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Вс 26 Янв 2020 - 13:38

    Задание:

    Напишите программу, в которой по возрасту определяется год рождения.
    Возраст пользователь вводит в окно с полем, а вычисленный год рождения отображается в другом диалоговом окне.
    Сделайте также и консольный вариант.


    Решение задачи с диалоговыми окнами:
    Код:
    using System;
    using Microsoft.VisualBasic;
    using System.Windows.Forms;

    class MyProgram
    {
        static void Main()
        {
            int age, year = 2020, yearUser;
            age = Int32.Parse(Interaction.InputBox("Сколько вам лет?", "Введите возраст"));
            yearUser = year - age;
            MessageBox.Show("Вы родились в " + yearUser + " году.");

        }
    }

    P.S вводить год надо с учётом того, сколько Вам исполнится в настоящем 2020 году.

    Решение для консоли:
    Код:
    using System;

    class myProgram
    {
        static void Main()
        {
            int age, year = 2020, yearUser;
            Console.WriteLine("Сколько вам лет");
            age = Int32.Parse(Console.ReadLine());
            yearUser = year - age;
            Console.WriteLine("Ваш год рождения {0}", yearUser);
            Console.ReadKey();

        }
    }
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Пн 27 Янв 2020 - 15:47

    Новое задание:

    Напишите программу для вычисления суммы двух чисел. Оба числа вводятся пользователем.
    Для вычисления суммы используйте оператор +.
    Создайте два варианта программы, консольную и с помощью диалоговых окон.


    Решение с диалоговыми окнами:
    Код:
    using System;
    using Microsoft.VisualBasic;
    using System.Windows.Forms;

    class myProgram
    {
        static void Main()
        {
            int one, two, sum;
            one = Int32.Parse(Interaction.InputBox("Введите первое число"));
            two = Int32.Parse(Interaction.InputBox("Введите второе число"));
            sum = one + two;
            MessageBox.Show("Сумма двух чисел = " + sum);

        }
    }

    Решения с консольной версией:
    Код:
    class myProgram
    {
        static void Main()
        {
            Console.WriteLine("Введите первое число");
            int one = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Введите второе число");
            int two = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Сумма чисел {0}, {1} = {2}", one, two, one + two);
            Console.ReadKey();

        }
    }

    Решил заранее переменные не объявлять, а инициализировать их сразу в коде.
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Пн 27 Янв 2020 - 16:06

    Задание:

    Напишите программу, в которой пользователь вводит число, а программой отображается последовательность из трёх чисел: 


    1. число, на единицу меньше введённого
    2. введённое число
    3. число, на единицу больше введённого


    Напишите консольную версию и версию с диалоговыми окнами.


    Решение консольной версии:
    Код:
    class MyProgram
    {
        static void Main()
        {
            Console.WriteLine("Введите число");
            int value = Int32.Parse(Console.ReadLine());
            Console.WriteLine("{0}, {1}, {2}", value - 1, value, value + 1);
            Console.ReadKey();

        }
    }


    Решение задачи с помощью диалоговых окон:
    Код:
    using System;
    using Microsoft.VisualBasic;
    using System.Windows.Forms;

    class myProgram
    {
        static void Main()
        {
            int value;
            value = Int32.Parse(Interaction.InputBox("Введите число"));
            int value2 = value + 1;
            MessageBox.Show(value - 1 + " " + value + " " + value2);
        }
    }

    В результате вывода последнее значение приходится выводить результатом, а не действием, как сделал до этого (value-1), так как C#  знак '+' интерпретирует не как знак сложения а как знак добавление к предыдущему значению. Со знаком '-' всё в порядке, он выполняет свою функцию, т.е вычитает.
    Admin
    Admin
    Admin
    Admin


    Сообщения : 213
    Репутация : 0
    Дата регистрации : 2013-01-30

    Язык программирования С# - Си Шарп. Empty Re: Язык программирования С# - Си Шарп.

    Сообщение автор Admin Пн 27 Янв 2020 - 16:54

    Задача:

    Напишите программу, в которой пользователь вводит два числа, а программой вычисляется и отображается сумма и разность этих чисел.
    Напишите консольную программу и программу с выводом диалоговых окон.


    Решение для консольной версии:
    Код:
    class myProgram
    {
        static void Main()
        {
            Console.WriteLine("Введите число");
            int value = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Введите ещё одно число");
            int value1 = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Сумма введённых чисел {0}, {1} = {2}, разность чисел= {3}", value, value1, value + value1
                , value - value1);
            Console.ReadKey();

        }
    }


    Решение задачи с помощью диалоговых окон:
    Код:
    using System;
    using Microsoft.VisualBasic;
    using System.Windows.Forms;

    class myProgram
    {
        static void Main()
        {
            int value, value1, razn, sum;
            value = Int32.Parse(Interaction.InputBox("Введите первое числол"));
            value1 = Int32.Parse(Interaction.InputBox("Введите второе число"));
            razn = value - value1;
            sum = value + value1;
            MessageBox.Show("Сумма чисел = " + sum + " Разность чисел = " + razn);
        }
    }

      Текущее время Вт 14 Май 2024 - 20:51