此操作将删除页面 "Home"
,请三思而后行。
internal abstract class Computer
{
public abstract int calc(int a, int b, char c);//Метод принимающий на вход два целочисленных значения для последующих операций с ними
public abstract void conv(int a, int b);//Метод принимающий число для последующей конвертации
public abstract int date(int a);//Метод будет принимать на вход номер месяца
}
internal class Tablet : Computer
{
public override int calc(int a, int b, char c)//Метод представляет собой обычный калькулятор, который имеет 4 возможных операции с числами
{
if(c == '+')//Символьная переменная соответственно определяет операцию с числами
{
return a + b;
}
else if (c == '-')
{
return a - b;
}
else if(c == '*')
{
return a * b;
}
else
{
return a / b;
}
}
public override void conv(int a, int b)//Метод конвертирует введёное число из десятичной системы счисления в одну из трёх возможных: двоичную, восмеричную или шестнадцатеричную
{
if(b == 2)//Аргумент b отвечает за определение системы, в которую будет переводиться число
{
Console.WriteLine(Convert.ToString(a,2));
}
else if(b== 8)
{
Console.WriteLine(Convert.ToString(a, 8));
}
else
{
Console.WriteLine(Convert.ToString(a, 16));
}
}
public override int date(int a)//Метод по введённому числу возвращает количество дней в месяце
{
if((a%2>0)||(a==8))//Учтено, что август также имеет 31 день, хотя он чётный
{
return 31;
}
else if (a == 2)//Учтён февраль
{
return 28;
}
else
{
return 30;
}
}
}
internal class Phone : Tablet
{
public int balance;
public Phone(int balance)
{
this.balance = balance;
}
new public int date(int a, int b)//Замещённый метод возвращает куб либо квадрат числа
{
if(b == 2)//Аргумент b отвечает за операцию с числом
{
return a * a;
}
else
{
return a * a * a;
}
}
public override void conv(int a, int b)//Метод переводит из двоичной системы счисления в одну из указанных: десятичную, восьмеричную или шестандцатеричную
{
if (b == 10)//Также как и в прошлом методе аргумент b определяет в какую систему переводит метод
{
Console.WriteLine(Convert.ToString(a, 10));
}
else if (b == 3)
{
Console.WriteLine(Convert.ToString(a, 8));
}
else
{
Console.WriteLine(Convert.ToString(a, 16));
}
}
public void ring()//Метод показывает на сколько хватит денег у пользователя на балансе
{
int min = balance / 2;//Если считать минуту разговора за 2 рубля
int sms = balance / 3;//А одно сообщение за 3 рубля
Console.WriteLine("Денег на балансе хватит на " + min + " минут разговора и на " + sms + " сообщений");
}
}
==================================
static void Main(string[] args)
{
Tablet obj = new Tablet();
/*Console.WriteLine("Введите два числа и операцию для них через Enter (операции: сложение, вычитание, умножение, деление");
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
char c = Convert.ToChar(Console.ReadLine());
Console.WriteLine(obj.calc(a, b, c));*/
/*Console.WriteLine("Введите число и систему счисления для конвертации: двоичную, восмеричную или шестнадцатеричную (2, 8 или 16 соответственно) через Enter");
int d = Convert.ToInt32(Console.ReadLine());
int e = Convert.ToInt32(Console.ReadLine());
obj.conv(d, e);*/
/*Console.WriteLine("Введите номер месяца для подсчёта количества дней");
int f = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("В данном месяце "+obj.date(f)+" дней");*/
Console.WriteLine("Введите баланс вашего телефона");
int k = Convert.ToInt32(Console.ReadLine());
Phone obj1 = new Phone(k);
Console.WriteLine("Введите число и степень в которую нужно его возвести через Enter");
int g = Convert.ToInt32(Console.ReadLine());
int h = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(obj1.date(g, h));
Console.WriteLine("Введите двоичное число для концвертации и систему счисления: восьмеричную, десятичную или шестандцатиричную через Enter");
int i = Convert.ToInt32(Console.ReadLine());
int j = Convert.ToInt32(Console.ReadLine());
obj1.conv(i, j);
obj1.ring();
}
此操作将删除页面 "Home"
,请三思而后行。