当前位置:首页 > C#习题集
}
class Program
{ public static void Main(string[] args)
{ Complex x=new Complex(1,2); Complex y=new Complex(3,4); Complex z=new Complex(0,0);
z=x+y;
x.DispCom(); y.DispCom();
z.DispCom(); } } 1+2i 3+4i 4+6i 六.编程题
1.创建一个Student类,要求:
? 该类封装学生的姓名、性别和成绩等信息。 ? 通过构造函数给姓名和性别信息赋值。
? 姓名和性别信息只能读不能写,成绩信息通过属性进行读写,对成绩属性进行赋值时,若成
绩大于100分赋100分,若成绩低于0分赋0分。 ? 具有一个判断成绩等级的方法 class Student { private string name; private string sex; private int cj; public Student(string name, string sex) { this.name = name; this.sex = sex; } public string Name { get { return name; } } public string Sex { get { return sex; } } public int Score { get { return cj; } set { if (value > 100) cj = 100; else if (value < 0) cj = 0; else cj = value; } } public string grade(int a) { string dj; if (a >= 90) dj = \优秀\ else if (a >= 80) dj = \良好\ else if (a >= 70) dj = \中等\ else if (a >= 60) dj = \及格\
- 28 -
else dj = \不及格\ return dj; } } 2.声明一个用于检查用户合法性及用户级别的类CheckUser,具体要求如下:
? 该类包含UserName(用户名)和UsePwd(密码)两个string类型的属性。 ? 包含一个带有两个string类型参数的构造函数。
? 包含一个返回值为int类型的UserLevel()方法,返回值为0表示高级用户,为1表示普通用
户,为2表示用户不存在。若用户名为“zhangsan”,密码为”123456”,则为高级用户。若用户名为“lisi”,密码为”654321”,则为普通用户。所有其他用户均为不合法用户。 class CheckUser { private string name; private string pwd; public string UserName { get { return name; } set { name = value; } } private string UserPwd { get { return pwd; } set { pwd = value; } } public CheckUser(string name, string pwd) { this.name = name; this.pwd = pwd; } public int UserLevel() { int level = 2; if (UserName == \ level = 0; if (UserName == \ level = 1; return level; } } 3.设计实现一个商品销售的简单管理程序。具体要求如下:
? 每一种商品对象要存储的是商品名称、库存量及商品的单价。 ? 每销售一件商品要计算销售总额和商品库存量。
class Goods {
private string name; public string Name {
get { return name; } set { name = value; } }
private int count; //商品库存量 private double price; //商品价格
static private double sum = 0; //所有商品的销售额 public Goods(string name, int count, double price)
{ this.name = name; this.count = count; this.price = price; }
- 29 -
public void makesale(int num) {
this.count = this.count - num; //修改商品库存量
sum = sum + this.price * num; //修改所有商品的销售总额 }
public int Count
{ get { return count; } } public static double Sum { get { return sum; } } }
class Program {
static void Main(string[] args) {
Goods Candy = new Goods(\糖果\, 200, 2); Goods Chips = new Goods(\薯片\, 500, 5); Candy.makesale(50); Chips.makesale(10);
Console.WriteLine(\的库存={1}\, Candy.Name, Candy.Count); Console.WriteLine(\的库存={1}\, Chips.Name,Chips.Count); Console.WriteLine(\, Goods.Sum); Console.Read(); } }
4.声明一个名为MyCar的类,具体要求如下:
? MyCar类可以被任何类访问
? 该类包含有两个属性:string类型的CarType和double类型的CarPrice
? 该类具有两个重载构造函数:一个无参数,一个包含两个参数(对应CarType和CarPrice属
性)。使用无参数构造函数初始化MyCar类对象时,CarType属性值默认为“SUV”,CarPrice属性值默认为24.5。
5.编写一个名为CTimer1的类,该类能够存放时间信息(设定三个域分别用来存放时分秒信息),
并且具有设置时间和显示时间的功能(设置和显示时间可定义成类的方法)。 6.创建一个名为Person的类,具体要求如下:
? 含有静态字段total(存放学生总数),实例字段ID(学号)、name(姓名)、sex(性别) ? 创建构造函数,为新实例设置字段值,并记录实例个数。 ? 创建静态方法,显示当前学生总数。
? 创建实例方法,显示学生的学号、姓名和性别。 ? 在主函数中调用实例化Person类,并调用静态方法和实例方法,要求第一次实例化显示自己
的学号和姓名等。
class Person { public static int total=0; public int num; public string name; public string sex; public Person(int n, string a, string s) { num = n; name = a; sex = s; total++; } public static void displayNum()
- 30 -
{ Console .WriteLine (\} public void DisplayAll() { Console.WriteLine(\学号:{0}\\t姓名:{1}\\t性别:{2}\} } public class test { static void Main() { Person myPerson = new Person(1001, \张小为\女\Person.displayNum(); myPerson.DisplayAll(); } } 7.创建一个复数类Complex,可以实现复数的赋值(通过构造函数)、显示(通过实例方法)和加
法运算(通过“+”运算符重载)。 class Complex { int real, imag; public Complex(int a, int b) { real = a; imag = b; } public void Display() { Console.WriteLine(\ } public static Complex operator +(Complex p1, Complex p2) { Complex p=new Complex(0,0); p.real = p1.real + p2.real; p.imag = p1.imag + p2.imag; return p; } } 8.设计一个控制台应用程序,创建一个List类,可以存储整数、实数、字符数据等(最多存放100
个元素),并可以添加元素、删除元素、获取指定位置的元素、获取元素的实际个数、获取所有元素等。用相关数据进行测试。
class List { private int Max = 100; private int num = 0; private object[] list; public List() //存储最多元素 //存储的实际元素个数 //存储数组元素 //构造函数 //添加一个元素 { list = new object[Max]; } public void add(object obj) { list[num] = obj; num++; public void delete(int pos) } //删除一个元素 { for (int i = pos + 1; i < num; i++) list[i - 1] = list[i]; num--; } public object get(int pos) //获取指定位置的元素 { if (pos < num) return list[pos]; else return null; } public int getnum()
- 31 -
//获取实际元素个数
共分享92篇相关文档