zoukankan      html  css  js  c++  java
  • 各城市地形图的分幅与编号查询系统


    图片图片

     #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;
    }

  • 相关阅读:
    问题 A: C#抽象类Vehicles
    最短路练习
    BFS
    poj 1083 Moving Tables
    组合数
    hdu 1443 Joseph【约瑟夫环】
    poj 2449 Remmarguts' Date【第K短路】
    hdu 1695 GCD 【莫比乌斯函数】
    hdu 2178 猜数字
    bzoj 2440 完全平方数 【莫比乌斯函数】
  • 原文地址:https://www.cnblogs.com/zzkgis/p/3742598.html
Copyright © 2011-2022 走看看