| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 591 人关注过本帖
标题:求助各位高手,今晚10点要交
只看楼主 加入收藏
dr3364895
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-10-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助各位高手,今晚10点要交
外国老师没教我们C#让我们自学写程序。。。题目是翻译过来的,可能有点不通顺,凑活看看吧。
在平面坐标上直线运动的点以速度1.0、移动方向 30°、执行Method Move 、显示10.0 秒后的坐标,用C#,利用以下提示写程序。
Property: 现在的坐标 double x, y;
Field: 速度 double velocity;
方向(radian) double direction;
Method: 现在的坐标经过时间 t 之后的新坐标 void Move(double t);
Constructer: 坐标的初始值 用 double x, double y 当做参数。
搜索更多相关主题的帖子: direction double 新坐标 平面 
2013-10-15 15:37
shangsharon
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
威 望:7
帖 子:221
专家分:1261
注 册:2012-3-25
收藏
得分:5 
程序代码:
class Program
    {
        static void Main(string[] args)
        {
            Point p = new Point(0.0, 0.0)
            {
                //弧度和角度转换
                Radian = Math.PI / 180 * 30.0,
                Speed = 1.0
            };

            Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y);

            p.Move(10.0);

            Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y);

            p.Move(10);

            Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y);
        }
    }

    class Point
    {
        double x = 0.0;

        double y = 0.0;

        double speed = 0.0;

        double radian = 0.0;

        public Point(double x = 0.0, double y = 0.0)
        {
            this.x = x;
            this.y = y;
        }

        public double X
        {
            get { return Math.Round(x, 2); }
            set { x = value; }
        }

        public double Y
        {
            get { return Math.Round(y, 2); }
            set { y = value; }
        }

        public double Speed
        {
            get { return speed; }
            set { speed = value; }
        }

        /// <summary>
        /// 弧度,非角度
        /// </summary>
        public double Radian
        {
            get { return radian; }
            set { radian = value; }
        }

        /// <summary>
        /// 移动
        /// </summary>
        /// <param name="time">移动时间</param>
        public void Move(double time)
        {
            double s = speed * time;

            x += s * Math.Sin(radian);

            y += s * Math.Cos(radian);
        }
    }
2013-10-15 17:21
尾巴007
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2013-9-29
收藏
得分:5 
回复 2楼 shangsharon
好人呀!
2013-10-15 22:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
好人

DO IT YOURSELF !
2013-10-17 08:59
hzm716
Rank: 1
等 级:新手上路
帖 子:6
专家分:9
注 册:2013-10-17
收藏
得分:5 
好手啊,不是看得很明白,不过,辛苦了!!
2013-10-18 15:24
快速回复:求助各位高手,今晚10点要交
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040597 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved