Написать программу “Телефон” на языке C#
Состоит из 2х файлов
1-й точка входа, в которой создается “Телефон” на основе данных введенных пользователем (наименование модели и есть ли камера), после чего пользователь взаимодействует с телефоном до тех пор пока не завершит программу командой.
2-й файл это реализация “Телефона” и его функционала:
Название модели
Наличие камеры
Список контактов
Позвонить
Сделать фото
Получить информацию о телефоне
Получить список контактов
Добавить контакт
csharp
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите название модели телефона:");
string modelName = Console.ReadLine();
Console.WriteLine("Есть ли камера? (да/нет):");
string hasCameraInput = Console.ReadLine();
bool hasCamera = (hasCameraInput.ToLower() == "да");
Phone phone = new Phone(modelName, hasCamera);
bool isRunning = true;
while (isRunning)
{
Console.WriteLine("Выберите действие:");
Console.WriteLine("1. Позвонить");
Console.WriteLine("2. Сделать фото");
Console.WriteLine("3. Получить информацию о телефоне");
Console.WriteLine("4. Получить список контактов");
Console.WriteLine("5. Добавить контакт");
Console.WriteLine("6. Завершить программу");
string actionInput = Console.ReadLine();
int action;
if (int.TryParse(actionInput, out action))
{
switch (action)
{
case 1:
Console.WriteLine("Введите номер телефона для звонка:");
string phoneNumber = Console.ReadLine();
phone.Call(phoneNumber);
break;
case 2:
phone.TakePhoto();
break;
case 3:
phone.GetPhoneInfo();
break;
case 4:
phone.GetContactList();
break;
case 5:
Console.WriteLine("Введите имя контакта:");
string contactName = Console.ReadLine();
Console.WriteLine("Введите номер контакта:");
string contactNumber = Console.ReadLine();
phone.AddContact(contactName, contactNumber);
break;
case 6:
isRunning = false;
break;
default:
Console.WriteLine("Неверный выбор действия.");
break;
}
}
else
{
Console.WriteLine("Неверный выбор действия.");
}
Console.WriteLine();
}
}
}
2-й файл "Phone.cs":
csharp
using System;
using System.Collections.Generic;
class Phone
{
private string modelName;
private bool hasCamera;
private List<Contact> contacts;
public Phone(string modelName, bool hasCamera)
{
this.modelName = modelName;
this.hasCamera = hasCamera;
this.contacts = new List<Contact>();
}
public void Call(string phoneNumber)
{
Console.WriteLine($"Вызывается номер: {phoneNumber}");
}
public void TakePhoto()
{
if (hasCamera)
{
Console.WriteLine("Фото сделано.");
}
else
{
Console.WriteLine("У телефона нет камеры.");
}
}
public void GetPhoneInfo()
{
Console.WriteLine($"Название модели телефона: {modelName}");
Console.WriteLine(hasCamera ? "Есть камера" : "Нет камеры");
}
public void GetContactList()
{
Console.WriteLine("Список контактов:");
foreach (Contact contact in contacts)
{
Console.WriteLine($"Имя: {contact.Name}, Номер: {contact.Number}");
}
}
public void AddContact(string name, string number)
{
Contact contact = new Contact(name, number);
contacts.Add(contact);
Console.WriteLine("Контакт добавлен.");
}
}
class Contact
{
public string Name { get; }
public string Number { get; }
public Contact(string name, string number)
{
Name = name;
Number = number;
}
}
Программа начинает с чтения модели телефона и наличия камеры от пользователя. Затем она создает экземпляр класса "Phone" на основе этих данных. Затем она предоставляет пользователю меню действий, где пользователь может выбирать различные функции телефона, такие как звонки, съемка фотографий, получение информации о телефоне, получение списка контактов и добавление нового контакта.
Программа выполняет выбранное действие, используя методы, определенные в классе "Phone". Например, метод "Call" принимает номер телефона и выводит сообщение о том, что вызывается указанный номер.
Класс "Phone" также содержит список контактов. Когда пользователь выбирает опцию "Добавить контакт", программа запрашивает имя и номер контакта, создает новый экземпляр класса "Contact" и добавляет его в список контактов.
Программа работает, пока пользователь не выберет опцию "Завершить программу", установив переменную "isRunning" в значение false.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет