通大c#第三次作业

Question

编写程序完成以下内容

1.创建一个类库项目Mylib,定义一个Calculation类,为该类添加三个求面积的重载方法Area(),分别计算圆,长方体,三角形的面积。定义一个私有静态字段count,用于统计Calculation类中Area()方法调用的次数,并为其定义一个共有的只读属性Count,用于获取Area()方法被调用的次数

2.新建一个控制台项目,引用上面的类库项目。在Main主方法中调用CAculation类中的Area()方法,分别求圆、长方形、三角形的面积,并输入Area()方法被调用的次数。

Code

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


namespace Mylib
{
    class Program
    {

        const double par = 0.5;
        static void Main(string[] args)
        {
            double r, x, y, b, h;
            Calculation c1 = new Calculation();
            Calculation c2 = new Calculation();
            Calculation c3 = new Calculation();
            Console.WriteLine("输入圆半径:");
            r = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("圆面积:"+c1.Area(r));
            Console.WriteLine("输入长方形的长和宽:");
            x= Convert.ToDouble(Console.ReadLine());
            y= Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("长方形面积::" + c2.Area(x,y));
            Console.WriteLine("输入三角形的底和高:");
            b = Convert.ToDouble(Console.ReadLine());
            h = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("三角形面积:" + c2.Area(b, h,par));
            Console.WriteLine("调用次数:"+c3.Count);
            Console.ReadKey();

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

namespace Mylib
{
    
    class Calculation
    {
        const double pi = 3.14159;
        
        private static int count = 0;

        public int Count { get => count; private set => count = value; }

        public double Area(double r)
        {
            count++;
            return pi * r * r;
        }

        public double Area(double x,double y)
        {
            count++;
            return x * y;
        }

        public double Area(double b,double h,double par)
        {
            count++;
            return par * b * h;
        }
    }
}

Question

编写程序完成以下内容

1.定义学生类Student,为其定义两个共有自动属性Name和CourseAmount,分别表示学生的姓名和该学生锁上的课程数;定义一个私有二维字符串数组字段courseScore【,】,用于保存学生的课程名称以及该课程的成绩,在构造函数中初始化学生姓名及课程数,并根据课程数初始化数组字段coursescore【,】中。定义索引器,返回数组字段courseScore【,】所指定的下标的课程名称及课程成绩字符安川。重载》=和《=运算符,用于比较两个Student类型对象的平均分高度

2.在主程序中创建两个Student类型对象s1和s2.分别调用InitCourseScore()方法完成课程及成绩的初始化,通过Student类的索引器分别输出两个对象的课程名称和成绩,最后听过重载运算符比较并打印输出两个对象的平均分高低。

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


namespace YJD
{
    class Program
    {
        class Student
        {
            public string Name { get; set; }
            public int CourseAmount { get; set; }
            private string[,] courseScore;
            public Student(string name, int courseamount)
            {
                Name = name;
                CourseAmount = courseamount;
                courseScore = new string[CourseAmount - 1, 2];
            }
            public void InitCourseScore()
            {
                int i = 0;
                for (; i < CourseAmount; i++)
                {
                    Console.Read().ToString(courseScore[i, 0]);
                    Console.Read().ToString(courseScore[i, 1]);
                }
            }
            public string this[int i, int j]
            {
                get { return courseScore[i, j]; }
                set { }
            }
            public static bool operator >=(Student a, Student b)
            {
                int i = 0;
                int sa = 0, sb = 0;
                for (; i < a.CourseAmount; i++)
                {
                    sa += Convert.ToInt32(a.courseScore[i, 1]);
                }
                for (; i < b.CourseAmount; i++)
                {
                    sb += Convert.ToInt32(b.courseScore[i, 1]);
                }
                if (sa >= sb)
                    return true;
                else
                    return false;
            }

            public static bool operator <=(Student a, Student b)
            {

                int i = 0;
                int sa = 0, sb = 0;
                for (; i < a.CourseAmount; i++)
                {
                    sa += Convert.ToInt32(a.courseScore[i, 1]);
                }
                for (; i < b.CourseAmount; i++)
                {
                    sb += Convert.ToInt32(b.courseScore[i, 1]);
                }
                if (sa <= sb)
                    return true;
                else
                    return false;
            }
        }

        static void Main(string[] args)
        {
            Student s1 = new Student("Alpha", 3);
            Student s2 = new Student("Beta", 3);
            s1.InitCourseScore();
            s2.InitCourseScore();
            if (s1 <= s2 && s1 >= s2)
                Console.WriteLine("The average score of Alpha and Beta is the same");
            else if (s1 <= s2)
                Console.WriteLine("Beta is better than Alpha");
            else
                Console.WriteLine("Alpha is better than Beta");
        }
    }
}

不会的不要私聊我了,代码都有了,配置自己配一下

猜你喜欢

转载自blog.csdn.net/yjd19970908/article/details/80329295
今日推荐