请教大虾改错

minghuar22 2010-10-06 09:51:07
我是c#初学者,在练习中出现了点小问题,题目是计算员工的工资增长,(不同员工初始薪水不一样,且增长率也不同,
且员工有编号,及姓名输出),(还有能否给一份c#语言编的用递归做的题目如n!,小弟想熟悉一下语法,多给几个样本也好)
namespace 不同员工的工资计算使用的是多态
{
class Employee //employee基类
{
private string name;
private int sno;
private float rate;
private float sallary;
Employee();
~Employee();
public string Name
{
get { return this.name; }
set
{
if (this.name != value)
this.name = value;
}
}
public int Sno
{
get { return this.sno; }
set
{
if (this.sno != value)
this.sno = value;
}
}
public float Rate
{
get { return this.rate; }
set
{
if (this.rate != value)
this.rate = value;
}
}
public float Sallary
{
get { return this.sallay; }
set
{
if (this.sallay != value)
this.sallay = value;
}
}
public void PrintInfo() { Console.WriteLine("{0}编号是{1}", Name, Sno); }
public virtual void Increase()
{
Sallary = Rate * Sallary; //虚方法便于后面子类的重载,因为不同的员工的学历经历不一样
Console.WriteLine("工资增长{0}", Sallary);
}
}
public class Commonworker : Employee
{
public Commonworker();
}
public class Bachelor : Employee
{
public Bachelor();
public override void Increase() { Sallary = 2 * (Rate * Sallary); }
public class Postgaduate : Employee
{
public Postgaduate();
public override void Increase() { Sallary = 3 * (Rate * Sallary); }

class Program
{
static void Main(string[] args)
{
Employee p1 = new Commonworker();
Employee p2 = new Bachelor();
Employee p3 = new Postgaduate();
p1.Name = "Smith";
p1.Sno = 0001;
p1.Sallary = 1000;
p1.Rate = .25;
p1.PrintInfo();
p1.Increase();
p2.Name = "tom";
p2.Sno = 1001;
p2.Sallary = 2000;
p2.Rate = .35;
p2.PrintInfo();
p2.Increase();
p3.Name = "jerry";
p3.Sno = 2001;
p3.Sallary = 3000;
p3.Rate = .75;
p3.PrintInfo();
p3.Increase();
}
}
}
}
}
错误 1 可访问性不一致: 基类“不同员工的工资计算使用的是多态.Employee”比类“不同员工的工资计算使用的是多态.Commonworker”的可访问性低
错误 2 可访问性不一致: 基类“不同员工的工资计算使用的是多态.Employee”比类“不同员工的工资计算使用的是多态.Bachelor”的可访问性低 D:\我的文档\Visual Studio 2005\Projects\ConsoleApplication1\不同员工的工资计算使用的是多态\不同员工的工资计算使用的是多态\Program.cs 62 18 不同员工的工资计算使用的是多态

错误 3 可访问性不一致: 基类“不同员工的工资计算使用的是多态.Employee”比类“不同员工的工资计算使用的是多态.Bachelor.Postgaduate”的可访问性低

...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
andy1020tc 2010-10-07
  • 打赏
  • 举报
回复
minghuar22 2010-10-07
  • 打赏
  • 举报
回复
调试完了,主要啊是语法,小瑕疵我改了,求n!
public int Fibonacci(int index)
{
return index <= 1 ? 1 : (index ) *Fibonacci(index - 1);
}
}
static void Main(string[] args)
{

Fib f = new Fib();
f.Fibonacci(5);
Console.Write("{0}", f.Fibonacci(5));}
troy2012 2010-10-07
  • 打赏
  • 举报
回复
算法这东西,真的很好玩又很不好玩..
建议多看看书,多练..就好了...
minghuar22 2010-10-07
  • 打赏
  • 举报
回复
感谢3号大虾,程序经过短暂的调试之后,运行欧克了,
感谢2,4号大虾,我一会儿九条试一下
一号大虾,递归,我只知道方法大概,具体实践还要具体情况对待
wuyq11 2010-10-06
  • 打赏
  • 举报
回复
斐波那契static int Fibonacci(int index)
{
return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
}

wuyq11 2010-10-06
  • 打赏
  • 举报
回复
类定义时如果没加修饰符,默认为internal
在类定义时加上public
sonic8305 2010-10-06
  • 打赏
  • 举报
回复
递归的。
static void Main(string[] args)
{
Console.WriteLine(Calc(3));
Console.ReadKey();
}
private static int Calc(int num)
{
if (0 == num || 1 == num)
return 1;
else
return num * Calc(num - 1);
}
jckimi 2010-10-06
  • 打赏
  • 举报
回复
递归这算法,我始终弄不明白,当初c++的时候,就怕这个,别的都还好

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧