Сделать несколько версий метода с разными видами аргументов - C#
Формулировка задачи:
сделать несколько версий использованного метода
- метод возвращает искомое значение;
- метод ничего не возвращает, искомое значение передается с помощью исходных аргументов;
- метод ничего не возвращает, искомое значение передается с помощью аргументов по ссылке;
- один из аргументов метода имеет значение по умолчанию
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static double name_method_1(int s1, int s2, int v1, int v2)
{
return s1 / v1 + s2 / v2;
}
public static double name_method_2(int s1, int s2, int v1, int v2)
{
double t = (s1 / v1 + s2 / v2);
return t;
}
public static double name_method_3(int s1, int s2, int v1, int v2)
{
double t;
t = (s1 / v1 + s2 / v2);
return t;
}
public static double name_method_4(int s1, int s2, int v1, int v2 = 15)
{
double t;
t = (s1 / v1 + s2 / v2);
return t;
}
public static void Main()
{
byte y = 1;
Console.Write("Введите s1 для метода : ");
int s1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите s2 для метода : ");
int s2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите v1 для метода : ");
int v1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите v2 для метода : ");
int v2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите номер метода решения : ");
Console.WriteLine("1 метод решения - 1");
Console.WriteLine("2 метод решения - 2");
Console.WriteLine("3 метод решения - 3");
Console.WriteLine("4 метод решения - 4");
Console.WriteLine("Для выхода с программы введите 0");
while (y != 0)
{
y = Convert.ToByte(Console.ReadLine());
switch (y)
{
case 0:
Environment.Exit(0);
break;
case 1:
Console.WriteLine("t = {0}", name_method_1(s1, s2, v1, v2));
break;
case 2:
Console.WriteLine("t = {0}", name_method_2(s1, s2, v1, v2));
break;
case 3:
Console.WriteLine("t = {0}", name_method_3(s1, s2, v1, v2));
break;
case 4:
Console.WriteLine("t = {0}", name_method_4(s1, s2, v1, v2));
break;
}
}
Console.ReadKey();
}
}
}Решение задачи: «Сделать несколько версий метода с разными видами аргументов»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static double name_method_1(int s1, int s2, int v1, int v2)
{
return (double)s1 / v1 + (double)s2 / v2;
}
public static void name_method_2(int s1, int s2, int v1, int v2, out double t)
{
t = (double)s1 / v1 + (double)s2 / v2;
}
public static void name_method_3(int s1, int s2, int v1, int v2, ref double t)
{
t = (double)s1 / v1 + (double)s2 / v2;
}
public static double name_method_4(int s1, int s2, int v1, int v2 = 15)
{
double t;
t = (s1 / v1 + s2 / v2);
return t;
}
public static void Main()
{
byte y = 1;
Console.Write("Введите s1 для метода : ");
int s1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите s2 для метода : ");
int s2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите v1 для метода : ");
int v1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите v2 для метода : ");
int v2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите номер метода решения : ");
Console.WriteLine("1 метод решения - 1");
Console.WriteLine("2 метод решения - 2");
Console.WriteLine("3 метод решения - 3");
Console.WriteLine("4 метод решения - 4");
Console.WriteLine("Для выхода с программы введите 0");
while (y != 0)
{
y = Convert.ToByte(Console.ReadLine());
switch (y)
{
case 0:
Environment.Exit(0);
break;
case 1:
Console.WriteLine("t = {0}", name_method_1(s1, s2, v1, v2));
break;
case 2:
double t = -1;
name_method_2(s1, s2, v1, v2, out t);
Console.WriteLine("t = {0}", t);
break;
case 3:
double t1 = -1;
name_method_3(s1, s2, v1, v2, ref t1);
Console.WriteLine("t = {0}", t1);
break;
case 4:
Console.WriteLine("t = {0}", name_method_4(s1, s2, v1, v2));
break;
}
}
Console.ReadKey();
}
}
}