博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
各城市地形图的分幅与编号查询系统
阅读量:5252 次
发布时间:2019-06-14

本文共 6296 字,大约阅读时间需要 20 分钟。


图片图片

 #include<iostream>

#include<cmath>
#include<iomanip>
#include<string>
using namespace std;
struct city
{
 char name[50];
 int jd;
 int jf;
 int jm;
 int wd;
 int wf;
 int wm;
 string jdf;
 float a;
 float b;
 int lie;
 char hang;
}ci[50];
int main()
{
 int i,n,m,x[100],X[100],l,s[100],S[100],j,g,G;
 float a;
 string str1,str2;
 str1='w';
 str2='e';
 cout<<"输入将要查询城市的个数:";
 cin>>n;
 for(i=1;i<=n;i++)
 {
  cout<<"输入第"<<i<<"个将要查询的城市名称:";
  cin>>ci[i].name;
 }
 cout<<endl;
 for(i=1;i<=n;i++)
 {
  cout<<"输入"<<ci[i].name<<"的经度(注明w和e)"<<endl;
  cin>>ci[i].jd>>ci[i].jf>>ci[i].jm>>ci[i].jdf;
  cout<<"输入"<<ci[i].name<<"的纬度"<<endl;
  cin>>ci[i].wd>>ci[i].wf>>ci[i].wm;
  ci[i].a=ci[i].jd+float(ci[i].jf/60)+float(ci[i].jm/3600);
  ci[i].b=ci[i].wd+float(ci[i].wf/60)+float(ci[i].wm/3600);
 }
 for(i=1;i<=n;i++)
 {
  if(ci[i].jdf==str1)
  {
   ci[i].lie=int(((180-ci[i].a)/6+1)/1.0);
   X[i]=180-(ci[i].lie-1)*6;
  }
  if(ci[i].jdf==str2)
  {
   ci[i].lie=int((ci[i].a/6+1)/1.0)+30;
   X[i]=(ci[i].lie-31)*6;
  }
  ci[i].hang=char(int(ci[i].b/4+1)/1.0+64);
  x[i]=int(ci[i].b/4+1)/1.0*4;
  cout<<ci[i].name<<"所在1:100万地形图的图幅编号为:"<<ci[i].hang<<ci[i].lie<<endl;
 }
 cout<<"请选择分幅编号的类型:"<<endl;
 a=50;
 for(i=1;i<=7;i++)
 {
  cout<<i<<":1:"<<a<<"万"<<"  ";
  a=a/2;
  if(i==2)
  {
   a=10;
  }
  if(i==5)
  {
   a=1;
  }
 }
 cout<<"  "<<"8:结束查询"<<endl;
 do
 {
  cin>>m;
  if(m==1)
  {
   for(l=1;l<=n;l++)                   //城市
   {
    g=0;
    G=0;
    for(i=1;i<=2;i++)               //行
    {
     if(ci[l].b>=x[l]-2*i)
     {
      s[l]=i;
      for(j=1;j<=2;j++)           //列
      {
       if(ci[l].a<=X[l]+3*j)
       {
        g++;
        G++;
        S[l]=j;
       }
       if(g==1)
        break;
      }
     }
     if(G==1)
      break;
    }
   }
   for(l=1;l<=n;l++)
   {
    cout<<ci[l].name<<"所在1:50万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"B"<<"00"<<s[l]<<"00"<<S[l]<<endl;
   }
  }
  if(m==2)
  {
   for(l=1;l<=n;l++)                   //城市
   {
    g=0;G=0;
    for(i=1;i<=4;i++)               //行
    {
     if(ci[l].b>=x[l]-i)
     {
      s[l]=i;
      for(j=1;j<=4;j++)           //列
      {
       if(ci[l].a<=X[l]+1.5*j)
       {
        G++;
        g++;
        S[l]=j;
       }
       if(g==1)
        break;
      }
     }
     if(G==1)
      break;
    }
   }
   for(l=1;l<=n;l++)
   {
    cout<<ci[l].name<<"所在1:25万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"00"<<S[l]<<endl;
   }
  }
  if(m==3)
  {
   for(l=1;l<=n;l++)                   //城市
   {
    g=0;G=0;
    for(i=1;i<=12;i++)               //行
    {
     if(ci[l].b>=x[l]-0.33*i)
     {
      s[l]=i;
      for(j=1;j<=12;j++)           //列
      {
       if(ci[l].a<=X[l]+0.5*j)
       {
        G++;
        g++;
        S[l]=j;
       }
       if(g==1)
        break;
      }
     }
     if(G==1)
      break;
    }
   }
   for(l=1;l<=n;l++)
   {
    if(s[l]<10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:10万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]<10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:10万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"0"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:10万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:10万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"0"<<S[l]<<endl;
    }
   }
  }
  if(m==4)
  {
   for(l=1;l<=n;l++)                   //城市
   {
    g=0;G=0;
    for(i=1;i<=24;i++)               //行
    {
     if(ci[l].b>=x[l]-0.167*i)
     {
      s[l]=i;
      for(j=1;j<=24;j++)           //列
      {
       if(ci[l].a<=X[l]+0.25*j)
       {
        G++;
        g++;
        S[l]=j;
       }
       if(g==1)
        break;
      }
     }
     if(G==1)
      break;
    }
   }
   for(l=1;l<=n;l++)
   {
    if(s[l]<10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]<10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"0"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"0"<<S[l]<<endl;
    }
   }
  }
  if(m==5)
  {
   for(l=1;l<=n;l++)                   //城市
   {
    g=0;G=0;
    for(i=1;i<=48;i++)               //行
    {
     if(ci[l].b>=x[l]-0.083*i)
     {
      s[l]=i;
      for(j=1;j<=48;j++)           //列
      {
       if(ci[l].a<=X[l]+0.125*j)
       {
        G++;
        g++;
        S[l]=j;
       }
       if(g==1)
        break;
      }
     }
     if(G==1)
      break;
    }
   }
   for(l=1;l<=n;l++)
   {
    if(s[l]<10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:2.5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]<10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:2.5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"0"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:2.5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:2.5万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"0"<<S[l]<<endl;
    }
   }
  }
  if(m==6)
  {
   for(l=1;l<=n;l++)                   //城市
   {
    g=0;G=0;
    for(i=1;i<=96;i++)               //行
    {
     if(ci[l].b>=x[l]-0.0417*i)
     {
      s[l]=i;
      for(j=1;j<=96;j++)           //列
      {
       if(ci[l].a<=X[l]+0.0625*j)
       {
        G++;
        g++;
        S[l]=j;
       }
       if(g==1)
        break;
      }
     }
     if(G==1)
      break;
    }
   }
   for(l=1;l<=n;l++)
   {
    if(s[l]<10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:1万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]<10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:1万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"0"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:1万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]>=10&&S[l]>=10)
    {
     cout<<ci[l].name<<"所在1:1万地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"0"<<S[l]<<endl;
    }
   }
  }
  if(m==7)
  {
   for(l=1;l<=n;l++)                   //城市
   {
    g=0;G=0;
    for(i=1;i<=192;i++)               //行
    {
     if(ci[l].b>=x[l]-0.0208*i)
     {
      s[l]=i;
      for(j=1;j<=192;j++)           //列
      {
       if(ci[l].a<=X[l]+0.03125*j)
       {
        G++;
        g++;
        S[l]=j;
       }
       if(g==1)
        break;
      }
     }
     if(G==1)
      break;
    }
   }
   for(l=1;l<=n;l++)
   {
    if(s[l]<10&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]<10&&S[l]>=10&&S[l]<100)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<"0"<<S[l]<<endl;
    }
    if(s[l]<10&&S[l]>=100)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"00"<<s[l]<<S[l]<<endl;
    }
    if(s[l]>=10&&s[l]<100&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]>=10&&s[l]<100&&S[l]>=10&&S[l]<100)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<"0"<<S[l]<<endl;
    }
    if(s[l]>=10&&s[l]<100&&S[l]>=100)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<"0"<<s[l]<<S[l]<<endl;
    }
    if(s[l]>=100&&S[l]<10)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<s[l]<<"00"<<S[l]<<endl;
    }
    if(s[l]>=100&&S[l]>=10&&S[l]<100)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<s[l]<<"0"<<S[l]<<endl;
    }
    if(s[l]>=100&&S[l]>=100)
    {
     cout<<ci[l].name<<"所在1:5000地形图的图幅编号为:"<<ci[l].hang<<ci[l].lie<<"C"<<s[l]<<S[l]<<endl;
    }
   }
  }
 }
 while(m!=8);
 return 0;
}

 

转载于:https://www.cnblogs.com/zzkgis/p/3742598.html

你可能感兴趣的文章
poj 3164 最小树形图(朱刘算法)
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>