где взять хорошую инфу по Си шарп...?

  • Автор темы impullz
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

Lexa

Спасибо, Секретчик, Aliaksandr. Уже слил по ссылкам из комментов. Только ADO.NET слить не смог.
 
G

Guest

Меня тоже интересует книга Петцольда по C#. У меня тоже проблема, не могу найти росийский прокси, а книга нужна. Если не сложно сбросьте линки( на 2 тома) на адрес yaser@ua.fm

ЗЫ. Заранее благодарен.
 
M

Macedonian

<!--QuoteBegin-Aliaksandr+27:01:2005, 17:11 -->
<span class="vbquote">(Aliaksandr @ 27:01:2005, 17:11 )</span><!--QuoteEBegin-->Скачал Cprogr.zip ctom1.zip ctom2.zip Microsoft_NET_Framework.zip Proect_razr.zip Progr_Microsoft_NET.zip 185 мегов.
Кто готов у себя разместить? Еще чего интересного?
[snapback]15879" rel="nofollow" target="_blank[/snapback]​
[/quote]

У тебя Microsoft_NET_Framework.zip, случайно, не осталась? С медиго эту книгу удалили, если дашь ссылку или кинешь на мыло буду жутко благодарен
 
I

Innusik

Уважаеммые программисты, помогите написать программу на си шарпе правильно, вроде пишу и вставляю что надо а понять почему выводит не не могу
где ошиька я выделила красным цветом, помогите пожалуйста, нужно для экзамена.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace консоль
{
public abstract class Employee // абстрактный базовый класс
{
private String first_name; // имя
private String last_name; // фамилия
private double wage; // заработная плата
public Employee(String first_name, String last_name, double wage)
{
this.first_name = first_name;
this.last_name = last_name;
this.wage = wage;
}
public abstract double CalculatePay(); // расчет зарплаты - абстрактный метод
public abstract double CalculateBonus(); // расчет премии - абстрактный метод
public double getWage() // метод-аксессор
{
return wage;
}
public String getFirstName() // метод-аксессор
{
return first_name;
}
public String getLastName() // метод-аксессор
{
return last_name;
}
public void PrintPaycheck() // печать чека
{
String full_name = first_name + " " + last_name + " - "; // полное имя
Console.WriteLine("Oплата: " + full_name + " $" + CalculatePay());
}
} ///////////// конец класса Employee ////////////////////
public class HourlyEmployee : Employee // Класс - служащий с почасовой оплатой
{
private int hours; // отслеживание количества отработанных часов
public HourlyEmployee(String first_name, String last_name, double wage) :
base(first_name, last_name, wage)
{
}
public override double CalculatePay()
{
return getWage() * hours;
}
public override double CalculateBonus() // размер премии для почасово оплачиваемых служащих
{
return 100.00;
}
public void AddHours(int hours) // определение количества отработанных часов
{
this.hours = this.hours + hours;
}
public int getHours() // метод-аксессор
{
return hours;
}
public void resetHours() // метод-мутатор (сброс)
{
hours = 0;
}
} /////////////конец класса HourlyEmployee /////////////////////
public class CommissionedEmployee : Employee // Класс - служащий с комис-ной оплатой
{
private double commission; // количество долларов за единицу товара
private int units; // отслеживание количества проданных единиц товара
public CommissionedEmployee(String first_name, String last_name, double wage, double
commission)
: base(first_name, last_name, wage)
{
this.commission = commission;
}
public override double CalculatePay()
{
return getWage() + (commission * units);
}
public override double CalculateBonus() // вычисление премии за проданные единицы товара
{
return 100.00 * getSales();
}
public void AddSales(int units) // определение количества проданных единиц товара
{
this.units = this.units + units;
}
public int getSales() // метод-аксессор
{
return units;
}
public void resetSales() // метод-мутатор (сброс)
{
units = 0;
}
} ////////////конец класса CommissionedEmployee //////////////////

public class Payroll // Класс Платежная ведомость
{
private int total_hours; // итого отработано часов
private int total_sales; // итого продано единиц товара
private double total_pay; // итого выплачено всем служащим
/* Полиморфизм включения (с.143) ЛУЧШЕ, чем перегрузка методов / с.168, но см. с. 192 /,
так как при любом количестве служащих необходим только один метод PayEmployees().
Перегрузка м-да RecordEmployeeInfo() (см. ниже) ХУЖЕ тем, что с появлением нового
служащего необходимо прибавлять новый м-д, то есть осуществлять перегрузку метода*/
public void PayEmployees(Employee[] emps)
{ // emps - полиморфная переменная базового класса, она хранит данные различных служащих
for (int i = 0; i < emps.Length; i++)
{
Employee emp = emps;
total_pay += emp.CalculatePay();
emp.PrintPaycheck();
}
}
public void CalculateBonus(Employee[] emps)
// Премия служащих с разной оплатой труда. Полиморфизм включения
{
for (int i = 0; i < emps.Length; i++)
{
Employee emp = emps;
Console.WriteLine("Размер премии " + emp.getFirstName() + " " + emp.getLastName() + "$" + emp.CalculateBonus());
}
}
public void RecordEmployeeInfo(CommissionedEmployee emp)
// перегрузка метода. М-д служ-го с комиссион-й оплатой.
{ // Благодаря перегрузке этот м-д явл-ся полиморфным.
total_sales += emp.getSales(); // определение количества проданных единиц товара
}
public void RecordEmployeeInfo(HourlyEmployee emp)
// Перегрузка метода. М-д служ-го с почасовой оплатой
{ // Благодаря перегрузке этот м-д явл-ся полиморфным
total_hours += emp.getHours(); // определение количества отработанных часов
}
public void PrintReport()
{
Console.WriteLine("ПЛАТЕЖНАЯ ВЕДОМОСТЬ:");
Console.WriteLine("Итого отработано часов: " + total_hours);
Console.WriteLine("Итого продано единиц товара: " + total_sales);
Console.WriteLine("Итого выплачено всем служащим: $" + total_pay);
}
} //////////////////////////////конец класса Payroll//////////////////////////////////////////
/* Начальный класс EmployeeDriver создает экземпляры классов
CommissionedEmployee и HourlyEmployee и испытывает их.*/
public class PayrollDriver
{
public static void Main(String[] args)
{
{
Console.WriteLine("Введите Ваше имя"); // вывод строки на экран
string name;
name = Console.ReadLine(); // ввод строки с клавиатуры
if (name == "продавец")
Console.WriteLine("Г-н", "Продавец", 25000.00, 1000.00);
else
Console.WriteLine("Г-жа", "Продавщица", 25000.00, 1000.00);
name = Console.ReadLine();
}

Payroll payroll = new Payroll(); // создать систему платежной ведомости
// создать и модифицировать служащих с комиссионной оплатой
CommissionedEmployee emp1 = new CommissionedEmployee("Г-н", "Продавец", 25000.00, 1000.00);
CommissionedEmployee emp2 = new CommissionedEmployee("Г-жа", "Продавщица", 25000.00, 1000.00);
emp1.AddSales(7);
emp2.AddSales(5);
// создать и модифицировать служащих с почасовой оплатой
HourlyEmployee emp3 = new HourlyEmployee("Продавец", "с минимальной зарплатой", 6.50);
HourlyEmployee emp4 = new HourlyEmployee("Продавщица", "с минимальной зарплатой", 6.50);
emp3.AddHours(40);
emp4.AddHours(46);
payroll.RecordEmployeeInfo(emp1); // используем перегруженные (overloaded) методы
payroll.RecordEmployeeInfo(emp2); // -- ” -- //
payroll.RecordEmployeeInfo(emp3); //-- ” –//
payroll.RecordEmployeeInfo(emp4); //-- ” --//
/* запомним всех служащих в массиве emps.
emps - это полиморфная переменная базового класса, она может хранить объекты
различных /производных/ типов (то есть разные служащие) */
Employee[] emps = new Employee[4];
emps[0] = emp1; emps[1] = emp2; emps[2] = emp3; emps[3] = emp4;
payroll.PayEmployees(emps); // расчет зарплаты, выплаченной всем служащим
Console.WriteLine();
payroll.PrintReport(); // печать платежной ведомости
Console.WriteLine();
payroll.CalculateBonus(emps); // расчет премии, выплаченной всем служащим
Console.ReadLine();
} ////////конец класса EmployeeDriver//////////////////////
}
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!