Огляд Програми-прикладу та проста її модифікація
Що та як ця програма робить?
Опис програми яку ми будемо розглядати.
Зараз ми розглянемо програму-приклад та проведемо просту модифікацію цієї програми.
Пояснення програми:
Початок - "Initialization.StartInitialization()": Програма починається з ініціалізації. Користувач вибирає мову (англійську або українську), і ця інформація зберігається для подальшого використання.
Отримання інформації про користувача - "UserInformation.GetNewUserInfo(GlobalVariables.ProgramSettings.Language)": Залежно від обраної мови, програма запитує у користувача його ім'я, прізвище та вік. Отримана інформація зберігається.
Отримання вітання - "UserInteractions.GetGreeting(userInfo, GlobalVariables.ProgramSettings.Language)": Програма виводить вітання на екран, яке залежить від обраної мови та інформації про користувача.
Структура файлів програми:
├── bin
├── obj
├── fileExample.csproj
├── GlobalVariables.cs
├── Initialization.cs
├── Program.cs
├── ProgramSettings.cs
├── UserInformation.cs
└── UserInteractions.csДії програми:
Отже, основні дії, які виконує ця програма, включають:
- Користувач обирає мову вводу (англійська або українська).
- Користувач вводить своє ім'я, прізвище та вік.
- Програма виводить на екран вітання, враховуючи обрану мову та інформацію про користувача.
Загальний Огляд файлів проєкту
Назви файлів та що кожен з них робить.
Розглянемо файли, дізнаємося що кожен з них робить:
GlobalVariables.cs
public static class GlobalVariables
{
public static int ExampleInt { get; set; } = 54;
public static string ExampleString { get; set; } = "GlobalString";
public static ProgramSettings ProgramSettings { get; set; }
}Пояснення:Цей файл містить клас GlobalVariables, який визначає глобальні змінні, які використовуються в програмі. Він містить приклади глобальних змінних, таких як ExampleInt і ExampleString, і посилання на об'єкт ProgramSettings, який зберігає інформацію про налаштування програми.
Initialization.cs
using System;
public static class Initialization
{
public static void StartInitialization()
{
Console.Write("Яку мову ви хочете використовувати? (en - англійська, uk - українська):");
string input = Console.ReadLine();
input = input.ToLower();
if (input == "english")
{
input = "en";
}
else if (input == "ukrainian")
{
input = "uk";
}
GlobalVariables.ProgramSettings = new ProgramSettings(input);
}
}Пояснення:У цьому файлі визначено клас Initialization, який містить метод StartInitialization. Цей метод запитує у користувача обрану мову (англійську або українську), перевіряє введені дані та створює об'єкт ProgramSettings з обраною мовою, який зберігається в глобальних змінних.
Program.cs
using System;
namespace YourProjectName
{
class Program
{
static void Main(string[] args)
{
Initialization.StartInitialization();
UserInformation userInfo = UserInformation.GetNewUserInfo(GlobalVariables.ProgramSettings.Language);
string greeting = UserInteractions.GetGreeting(userInfo, GlobalVariables.ProgramSettings.Language);
Console.WriteLine(greeting);
}
}
}Пояснення:Цей файл містить головний клас Program, який має метод Main. В методі Main викликається ініціалізація програми, отримується інформація про користувача та виводиться вітання на екран в залежності від обраної мови.
ProgramSettings.cs
public class ProgramSettings
{
public string Language { get; set; }
public ProgramSettings(string language)
{
Language = language;
}
}Пояснення:У цьому файлі визначено клас ProgramSettings, який представляє налаштування програми. Властивість Language визначає обрану мову програми. Конструктор класу приймає мову як аргумент і зберігає її у відповідній властивості.
UserInformation.cs
using System;
public class UserInformation
{
public string UserName { get; set; }
public string UserSurname { get; set; }
public int UserAge { get; set; }
internal static UserInformation GetNewUserInfo()
{
return GetNewUserInfo("en");
}
internal static UserInformation GetNewUserInfo(string language)
{
// ...
}
public UserInformation(string userName, string userSurname, int userAge)
{
// ...
}
}Пояснення:У файлі UserInformation.cs визначено клас UserInformation, який представляє інформацію про користувача. В класі є методи для отримання інформації від користувача та конструктор, який ініціалізує об'єкт UserInformation із заданими даними про користувача.
UserInteractions.cs
using System;
public static class UserInteractions
{
public static string AskUser(string questions)
{
// ...
}
public static string GetGreeting(UserInformation user, string language)
{
// ...
}
}Пояснення:У цьому файлі визначено клас UserInteractions, який містить два методи. Перший метод AskUser виводить запит до користувача та повертає його відповідь. Другий метод GetGreeting формує вітання залежно від обраної мови та інформації про користувача.
Ці файли разом створюють програму, яка взаємодіє з користувачем, отримує інформацію, обробляє її та виводить на екран відповідне вітання відповідно до обраної мови.
Файли програми
Файли цієї програми та їх наповнення.
GlobalVariables.cs
public static class GlobalVariables
{
// Глобальні змінні, що використовуються у програмі.
public static int ExampleInt { get; set; } = 54;
public static string ExampleString { get; set; } = "GlobalString";
public static ProgramSettings ProgramSettings { get; set; }
}Initialization.cs
using System;
public static class Initialization
{
public static void StartInitialization()
{
// Запит користувача щодо обраної мови.
Console.Write("Яку мову ви хочете використовувати? (en - англійська, uk - українська):");
string input = Console.ReadLine();
input = input.ToLower();
// Перевірка та установка мови за замовчуванням.
if (input == "english")
{
input = "en";
}
else if (input == "ukrainian")
{
input = "uk";
}
// Створення об'єкта налаштувань програми з обраною мовою.
GlobalVariables.ProgramSettings = new ProgramSettings(input);
}
}Program.cs
using System;
namespace YourProjectName
{
class Program
{
static void Main(string[] args)
{
// Початок ініціалізації програми.
Initialization.StartInitialization();
// Отримання інформації про користувача.
UserInformation userInfo = UserInformation.GetNewUserInfo(GlobalVariables.ProgramSettings.Language);
// Отримання вітання для користувача залежно від вибраної мови.
string greeting = UserInteractions.GetGreeting(userInfo, GlobalVariables.ProgramSettings.Language);
// Виведення вітання на екран.
Console.WriteLine(greeting);
}
}
}ProgramSettings.cs
public class ProgramSettings
{
// Клас, що містить налаштування програми, зокрема - обрану мову.
public string Language { get; set; }
public ProgramSettings(string language)
{
// Конструктор класу налаштувань, де встановлюється обрана мова.
Language = language;
}
}UserInformation.cs
using System;
public class UserInformation
{
public string UserName { get; set; }
public string UserSurname { get; set; }
public int UserAge { get; set; }
internal static UserInformation GetNewUserInfo()
{
// Отримання інформації про користувача за замовчуванням (англійська мова).
return GetNewUserInfo("en");
}
internal static UserInformation GetNewUserInfo(string language)
{
string askText = "";
string nameText = "";
string surnameText = "";
string ageText = "";
// Вибір тексту запиту та питань в залежності від обраної мови.
if (language == "en")
{
askText = "Please enter your";
nameText = "name";
surnameText = "surname";
ageText = "age";
}
else if (language == "uk")
{
askText = "Будь ласка введіть свою інформацію -";
nameText = "і'мя";
surnameText = "прізвище";
ageText = "вік";
}
else
{
// Встановлення англійської мови за замовчуванням, якщо вибрана мова невірна.
GetNewUserInfo("en");
}
string name = "";
string surname = "";
int age = 0;
// Отримання від користувача інформації про ім'я, прізвище та вік.
name = UserInteractions.AskUser(askText + " " + nameText);
surname = UserInteractions.AskUser(askText + " " + surnameText);
age = Convert.ToInt32(UserInteractions.AskUser(askText + " " + ageText));
// Створення об'єкта інформації про користувача.
return new UserInformation(name, surname, age);
}
public UserInformation(string userName, string userSurname, int userAge)
{
// Конструктор класу інформації про користувача.
UserName = userName;
UserSurname = userSurname;
UserAge = userAge;
}
}UserInteractions.cs
using System;
public static class UserInteractions
{
public static string AskUser(string questions)
{
// Виведення запиту користувачеві та отримання відповіді.
Console.WriteLine("--------");
Console.Write(questions + ":");
return Console.ReadLine();
}
public static string GetGreeting(UserInformation user, string language)
{
// Формування вітання залежно від обраної мови.
if (language == "uk")
{
return $"Привіт {user.UserName} {user.UserSurname}, і так.... я знаю що тобі {user.UserAge} років!";
}
else
{
return $"Hello {user.UserName} {user.UserSurname}, AND YES! i do know that your age is {user.UserAge} years!";
}
}
}Програма у вигляді CS-Проєкту
build info
- compiler
- 2.0.5.1 · 4054EF9BF6C4510A
- built
- 2026-11-08 14:31:25 UTC
WebUniverse