Курсовая по программированию си шарп

В этом уроке показано. Как построить простое приложение для конвертации валют на языке программирования C#. Программа позволяет пользователю рассчитывать курсы обмена валют. Используя доступные онлайн-данные. Предоставленные Европейским центральным банком. валюта-лента-app3.png

Установка Visual Studio IDE

Шаг 1 : Загрузите установщик Visual Studio

  • Визит visualstudio.microsoft.com и перейдите на страницу загрузки Windows
  • Выберите Proffessional. Community или Enterprise Edition и нажмите кнопку загрузить.
  • Если вы индивидуальный программист или небольшая команда. То я бы порекомендовал вам скачать бесплатную версию community edition

vs-скачать.png

Шаг 2 : Запустите Установщик Visual Studio

  • Когда вы загрузили установщик по вашему выбору. Запустите его. Дважды щелкнув загруженный файл. На экране появится диалоговое окно установки.
  • В представлении вкладки Рабочие нагрузки выберите .NET Desktop Development, если вы хотите разрабатывать для рабочего стола Windows

vs-installer.png

Создайте Новый Проект Консольного Приложения С Помощью Visual Studio

Шаг 1 : Создайте Новый Проект

  • Выберите C# на вкладке язык
  • Затем выберите Консольное приложение (.NET Framework) и нажмите кнопку ДАЛЕЕ
  • Затем вы можете продолжить. Чтобы дать вашему проекту имя проекта
  • Нажмите кнопку СОЗДАТЬ. После того как вы дали имя своему проекту

vs-create-project.png

vs-create-project2.png

валюта-лента-create.png

валюта-лента-project.png

Построение приложения конвертера валют для C#

Следующий пример кода является версией приложения конвертера валют на языке C#. Программа позволяет пользователю рассчитывать курсы валют и использует онлайн-данные Европейского Центрального банка.

валюта-feed.png

XML-схема обменного курса
Европейский центральный банк публикует RSS-канал с ежедневным обменным курсом между евро и всеми другими валютами. RSS-это обычный текст в формате XML. Сам формат RSS относительно легко читается как автоматизированными процессами. Так и людьми. Пример фида от обменного курса евро к доллару США будет иметь следующее содержание: Online XML Example

   http://www.ecb.europa.eu/home/html/rss.en.html The reference rates are based on the regular daily concertation procedure between central banks within and outside the European System of Central Banks. Which normally takes place at 2.15 p.m. (14:15) ECB time.   
  • European Central Bank http://www.ecb.europa.eu/home/html/disclaimer.en.html
    http://www.ecb.europa.eu/stats/exchange/eurofxref/html/eurofxref-graph-usd.en.html?date=2019-12-24&rate=1.1080 1 EUR buys 1.1080 US dollar (USD) - The reference exchange rates are published both by electronic market information providers and on the ECB's website shortly after the concertation procedure has been completed. Reference rates are published according to the same calendar as the TARGET system. 2019-12-24T14:15:00+01:00 en U2 ECB 1.1080 EUR USD Reference rate

    Структура файла проекта

    Наш проект относительно небольшой и будет состоять из 2 файлов. Файл Program.cs, который является основной точкой входа нашего приложения. И файл CurrencyConverter.cs, который является нашим API. Содержащим методы обмена валют.

    Шаг 1: Создайте файл класса CurrencyConverter.cs

    • Создайте новый файл класса CurrencyConverter.cs
    • Чтобы добавить класс в Visual Studio. В Обозревателе решений щелкните проект правой кнопкой мыши. Выберите Добавить. А затем выберите Класс.

    валюта-лента-project2.png

    валюта-лента-project3.png

    валюта-лента-project4.png

    CurrencyConverter.cs (Пример кода)

    Файл CurrencyConverter.cs-это класс C#. Который содержит наши методы извлечения и анализа данных из RSS-каналов. Предоставляемых ЕЦБ. Класс CurrencyConverter.cs содержит 3 основные функции.

    • GetCurrencyTags (), который возвращает строковый массив из доступных валют.
    • GetCurrencyRateInEuro (), который возвращает курс обмена между любой валютой и евро в виде числа с плавающей запятой.
    • GetExchangeRate (), Который возвращает Обменный Курс Между 2 валютами в виде числа с плавающей запятой.
    using System; using System.Globalization; namespace CurrencyConverterApp { class CurrencyConverter { ///  /// Gets all available currency tags ///  public static string[] GetCurrencyTags() { // Hardcoded currency tags neccesairy to parse the ecb xml's return new string[] {"eur", "usd". "jpy", "bgn". "czk", "dkk". "gbp", "huf". "ltl", "lvl" . "pln", "ron". "sek", "chf". "nok", "hrk". "rub", "try". "aud", "brl". "cad", "cny". "hkd", "idr". "ils" , "inr". "krw", "mxn". "myr", "nzd". "php", "sgd". "zar"}; } ///  /// Get currency exchange rate in euro's ///  public static float GetCurrencyRateInEuro(string currency) { if (currency.ToLower() == "") throw new ArgumentException("Invalid Argument! currency parameter cannot be empty!"); if (currency.ToLower() == "eur") throw new ArgumentException("Invalid Argument! Cannot get exchange rate from EURO to EURO"); try { // Create with currency parameter. A valid RSS url to ECB euro exchange rate feed string rssUrl = string.Concat("http://www.ecb.int/rss/fxref-", currency.ToLower() + ".html"); // Create & Load New Xml Document System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(rssUrl); // Create XmlNamespaceManager for handling XML namespaces. System.Xml.XmlNamespaceManager nsmgr = new System.Xml.XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("rdf". "http://purl.org/rss/1.0/"); nsmgr.AddNamespace("cb". "http://www.cbwiki.net/wiki/index.php/Specification_1.1"); // Get list of daily currency exchange rate between selected "currency" and the EURO System.Xml.XmlNodeList nodeList = doc.SelectNodes("//rdf:item". Nsmgr); // Loop Through all XMLNODES with daily exchange rates foreach (System.Xml.XmlNode node in nodeList) { // Create a CultureInfo. This is because EU and USA use different sepperators in float (. Or .) CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); ci.NumberFormat.CurrencyDecimalSeparator = "."; try { // Get currency exchange rate with EURO from XMLNODE float exchangeRate = float.Parse( node.SelectSingleNode("//cb:statistics//cb:exchangeRate//cb:value", nsmgr).InnerText, NumberStyles.Any, ci); return exchangeRate; } catch { } } // currency not parsed!! // return default value return 0; } catch { // currency not parsed!! // return default value return 0; } } ///  /// Get The Exchange Rate Between 2 Currencies ///  public static float GetExchangeRate(string from, string to. Float amount = 1) { // If currency's are empty abort if (from == null || to == null) return 0; // Convert Euro to Euro if (from.ToLower() == "eur" && to.ToLower() == "eur") return amount; try { // First Get the exchange rate of both currencies in euro float toRate = GetCurrencyRateInEuro(to); float fromRate = GetCurrencyRateInEuro(from); // Convert Between Euro to Other Currency if (from.ToLower() == "eur") { return (amount * toRate); } else if (to.ToLower() == "eur") { return (amount / fromRate); } else { // Calculate non EURO exchange rates From A to B return (amount * toRate) / fromRate; } } catch { return 0; } } } } 

    Program.cs (Пример кода)

    Файл Program.cs является классом C#. Который содержит основной метод. Который служит точкой входа нашего приложения Конвертер валют. Обычно в компьютерном программировании точка входа-это место. Где выполняются первые инструкции программы. Здесь мы будем управлять интерфейсом консоли. Отображать курсы обмена валют и позволять пользователю вводить валюты для обмена.

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CurrencyConverterApp { class Program { static void Main(string[] args) { string fromCurrency = "EUR"; string toCurrency = "USD"; int amount = 1; // // STEP 1 : Print all avaiable currencies on screen // // Get all available currency tags string[] availableCurrency = CurrencyConverter.GetCurrencyTags(); // Print currency tags comma seperated Console.WriteLine("Available Currencies"); Console.WriteLine(string.Join(",", availableCurrency)); Console.WriteLine("\n"); // // STEP 2 : Allow the User to input the currency rates // Console.WriteLine("Insert Currency you want to convert FROM"); fromCurrency = Console.ReadLine(); Console.WriteLine("\n"); Console.WriteLine("Insert Currency you want to convert TO"); toCurrency = Console.ReadLine(); Console.WriteLine("\n"); // // STEP 3 : Calculate and display the currency exchange rate // // Calls a method to get the exchange rate between 2 currencies float exchangeRate = CurrencyConverter.GetExchangeRate(fromCurrency. ToCurrency. Amount); // Print result of currency exchange Console.WriteLine( "FROM " + amount + " " + fromCurrency.ToUpper() + " TO " + toCurrency.ToUpper() + " = " + exchangeRate); // Wait for key press to close console window Console.ReadLine(); } } } 

    Запуск проекта с помощью Visual Studio 2019

    Visual Studio создает ваш проект. Преобразуя исходный код в исполняемый файл (exe-файл)

    • Чтобы построить свой проект. Выберите пункт Построить решение в меню Построить.
    • Чтобы запустить код. В строке меню выберите пункт Отладка. Начать отладку. Откроется окно консоли. А затем запустится ваше приложение.
    • Чтобы запустить код с помощью горячих клавиш, нажмите Ctrl + F5, чтобы запустить свой проект

    Результат Приложение Для Обмена Валюты

    • Если все прошло правильно. Приложение должно отображать последние курсы валют!
    • Вы можете скачать исходный код C# для приложения Конвертер валют для тестирования и редактирования Скачать исходный код

    валюта-лента-app1.png

    валюта-лента-app2.png

    валюта-лента-app3.png