Использование класса и конструктора - C#
Формулировка задачи:
Товарищи по цеху, подскажите.
Продолжаю разбираться с классами...
И решил написать простой софт, который при входе выдает список услуг, затем ввод нужной услуги, и запрос: нужно ли выбрать еще услугу? (y/n) Если 'n', то вывести Сумму заказа.
Результат неадекватный. Скрин приложил.
Так же при создании объекта класса, конструктор, как я понял, начинает выполнение и запрашивает номер услуги, так и не показав список услуг. В рамках уже написанного кода(то есть, с использованием классов и конструкторов), что можно изменить, чтобы это работало нормально?
using System;
namespace prog
{
class MainClass
{
public static void Main(string[] args)
{
char ques;
Console.WriteLine("Выберите услуги: ");
diagnostic auto = new diagnostic();
auto.screen();
auto.input();
do
{
Console.WriteLine("Выбрать еще? y/n");
ques = Convert.ToChar(Console.ReadLine());
if(ques == 'y')
auto.input();
} while (ques == 'y');
auto.trash();
Console.ReadKey();
}
}
class diagnostic
{
private int summ;
public diagnostic()
{
if (input() < 5 || input() > 0)
{
switch (input())
{
case 1:
summ = 2500;
break;
case 2:
summ = 3000;
break;
case 3:
summ = 500;
break;
case 4:
summ = 5000;
break;
}
}
else input();
summ += summ;
}
public void screen()
{
Console.WriteLine("1. Ходовая");
Console.WriteLine("2. Электрика");
Console.WriteLine("3. Шиномонтаж");
Console.WriteLine("4. Кузовные работы");
}
public void trash()
{
Console.WriteLine("Сумма заказа: {0}", summ);
}
public int input()
{
int t = Convert.ToInt32(Console.ReadLine());
return t;
}
}
}Решение задачи: «Использование класса и конструктора»
textual
Листинг программы
using System;
namespace prog
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("Выберите услуги: ");
diagnostic auto = new diagnostic();
do
{
Console.WriteLine("1. Ходовая");
Console.WriteLine("2. Электрика");
Console.WriteLine("3. Шиномонтаж");
Console.WriteLine("4. Кузовные работы");
auto.input(Console.ReadLine());
auto.add();
Console.WriteLine("Выбрать еще? y/n");
} while (Convert.ToChar(Console.ReadLine()) == 'y');
int summ = auto.trash();
Console.WriteLine("Сумма заказа: {0}", summ);
Console.ReadKey();
}
}
class diagnostic
{
int summ;int t;
public diagnostic() { summ = 0; t = 0; }
public void add()
{
if (t < 5 || t > 0)
{
switch (t)
{
case 1:
summ = 2500;
break;
case 2:
summ = 3000;
break;
case 3:
summ = 500;
break;
case 4:
summ = 5000;
break;
}
summ += summ;
}
}
public int trash()
{
return summ;
}
public void input(string z)
{
t = Convert.ToInt32(z);
}
}
}