题目:基站数据处理。内容:从excel表格中读取基站数据,将方位角换算成起始角和终止角,处理后生成所需的数据。1、 Excel表格说明:表格包含7个字段,如下图:地区 小区名称 方位角
上海市 民政局-1 50
上海市 佳禾小区-1 50
上海市 中原路-1 50
上海市 26分局-1 60
上海市 乡镇企业处-1 60
上海市 林科所-2 170
上海市 26分局-2 180
上海市 乡镇企业处-2 180
上海市 石油公司-2 180
上海市 邮政局-2 180
上海市 26分局-3 260
2、 “小区名称”字段说明,格式一般为:
“xxxx-1” 或“xxxx-2” 或“xxxx-3” 等等
其中,“-1”、“-2”、“-3” 之前的部分是为小区名称。比如“26分局-1”,“26分局-2”,“26分局-3”,“26分局-4” 这样的记录都是26分局小区的移动基站。
相同小区的基站称为一组。3、 要求将基站的方位角换算成起始角和终止角。换算规则和每个基站所属的组包含多少基站有关,说明如下:
• 如果一组只有1个基站,则在其方位角上加减60生成该基站的起始角和终止角;
• 如果一组有2个基站,则在其方位角上加减45生成该基站的起始角和终止角;
• 如果一组有3个基站,则在其方位角上加减30生成该基站的起始角和终止角;
• 如果一组有4个基站,则在其方位角上加减15生成该基站的起始角和终止角;
• 如果一组有大于4个基站,则在其方位角上加减10生成该基站的起始角和终止角。
• (一组内基站数最大不多于8个)4、 要求将处理好的数据打印到控制台。输出包括:
地区 小区名称 方位角 起始角 终止角
上海市 民政局-1 50 -10 110

解决方案 »

  1.   

    写个转化函数,再循环输出.private void button12_Click(object sender, EventArgs e)
    {
        double x, y;
        fun("佳禾小区-1", 50d, out x, out y);
        MessageBox.Show(x.ToString() + " " + y.ToString());
    }void fun(string 小区名称, double 方位角, out double 起始角,out double 终止角)
    {
        switch (小区名称.Substring(小区名称.Length))
        {
            case "1": { 起始角 = 方位角 - 60; 终止角 = 方位角 + 60; break; }
            case "2": { 起始角 = 方位角 - 45; 终止角 = 方位角 + 45; break; }
            case "3": { 起始角 = 方位角 - 30; 终止角 = 方位角 + 30; break; }
            case "4": { 起始角 = 方位角 - 15; 终止角 = 方位角 + 15; break; }
            default: { 起始角 = 方位角 - 10; 终止角 = 方位角 + 10; break; }
        }
    }