2014-09-26 2 views
-6

Когда я запускаю все, что я могу сделать, это написать имя и продажи сотрудников, но затем он не использует второй класс и использует это Информация. Может кто-то мне помочь, пожалуйста? Я боролся за это какое-то время!Я не могу использовать свой второй класс, действительно не знаю, как его решить

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace consoleapplication9 
{ 
public class takehomepay 
{ 
    static void Main(String[] args) 
    { 
     const decimal commission = 0.7M; // Commision rate 
     const decimal federaltax = 0.18M; // federal tax rate 
     const decimal retirement = 0.10M; // retirement rate 
     const decimal socialsecurity = 0.06M; // social security rate 

     string employeeName; 
     decimal commcost = 0; // commision cost 
     decimal fedtaxcost = 0; // federal tax cost 
     decimal retirecost = 0; // retirement cost 
     decimal socseccost = 0; // social security cost 
     decimal totalwithholdingcost = 0; // total withholding 
     decimal takehomepay = 0; // amount taken home 
     decimal totalSales = 0; 

     Console.Write("\nEnter employees name: "); 
     employeeName = Console.ReadLine(); 

     Console.Write("Enter the total sales amount for the week:"); 
     totalSales = Convert.ToDecimal(Console.ReadLine()); 

     //Calculations 
     commcost = commission * totalSales; 
     fedtaxcost = federaltax * commcost; 
     retirecost = retirement * commcost; 
     socseccost = socialsecurity * commcost; 
     totalwithholdingcost = federaltax + retirement + socialsecurity; 
     takehomepay = commcost - totalwithholdingcost; 
    } 
} 

public class Employee 
{ 
    private string employeeName; 
    private decimal totalSales; 
    public Employee() 
    { 
    } 
    public Employee (string Name) 
    { 
     employeeName = Name; 
    } 
    public Employee(string Name, decimal Sales) 
    { 
     employeeName = Name; 
     totalSales = Sales; 
    } 
    public string EmployeeName 
    { 
     get 
     { 
      return employeeName; 
     } 
     set 
     { 
      employeeName = value; 
     } 

    } 

    public decimal TotalSales 
    { 

     get 
     { 
      return totalSales; 
     } 

     set 
     { 
      totalSales = value; 
     } 
    } 
    public override string ToString() 
    { 
     return "Employee: " + employeeName + 
      "\nTotal Sales: " + totalSales; 
     Console.Read(); 
    } 
} 
} 
+6

Вы, вероятно, следует создать экземпляр вашего второго класса где-то .. –

+0

детали второго класса не упоминаются в вашем коде, как бы вы можете создать объект вашего второго класса, а затем получить доступ к свойствам. – Prabhakantha

ответ

2

Вы должны вызвать конструктор вашего класса от newing до объекта (Employee)

Console.Write("\nEnter employees name: "); 
    employeeName = Console.ReadLine(); 

    Console.Write("Enter the total sales amount for the week:"); 
    totalSales = Convert.ToDecimal(Console.ReadLine()); 

    //Create an instance of your second class... 
    var employee = new Employee(employeeName,totalSales); 
    Console.Write(employee); 

Если вам нужен выход из любой из ваших переменных, которые нужно записать их в консоль:

Console.WriteLine(takehomepay); 
+0

Это сработало, однако оно просто дает мне свой вклад totalSales и не использует математику позади него, также он закрывается немедленно, несмотря на console.read() ;? Я получаю предупреждение, хотя на console.read, который обнаружен недостижимый код? Я только что собираюсь на это так долго, что просто не знаю. –

+0

У вас есть инструкция 'return' перед вашим' Console.Read'. Ничто после возврата не выполняется, поэтому код * недоступен *. Кроме того, оператор 'Console.Read' должен быть в конце' Main() '. –

+0

, когда я удаляю возврат, хотя получаю сообщение об ошибке Ошибка (только назначение, вызов, приращение, декремент, ожидание и новые выражения объекта могут использоваться как оператор) Также что вы имеете в виду в моей главной() в конце ? Извините, я так давно делал это одну вещь, я просто борюсь –

0

Вместо

employeeName = Console.ReadLine(); 

попробовать

Employee employee = new Employee();// this creates an instance of the employee class 
employee.EmloyeeName = Console.ReadLine();// this is how you use that instance 
Смежные вопросы