C语言中关于如何存取大量对照表数据的问题

1.可先定义所有的数据类型的结构体

struct CENType
{
    int  code;
    char     type[32];
    char	  name[32];
};

然后定义一个结构体类型的数组存储数据

const CENType frequency[]={{101,(""),("GSM-R")},{1,("B1"),("457.500MHz")},
        {2, ("B1"),("457.550MHz")},
        {3, ("B1"),("457.700MHz")},
        {4, ("B1"),("457.825MHz")},
        {5, ("B1"),("457.925MHz")},
        {6,("B1"),("458.000MHz")},
        {7,("B1"),("458.200MHz")},
        {8,("B1"),("458.250MHz")},
        {9,("B2"),("457.500MHz")},
        {10,("B2"),("457.550MHz")},
        {11,("B2"),("457.700MHz")},
        {12,("B2"),("457.825MHz")},
        {13,("B2"),("457.925MHz")},
        {14,("B2"),("458.000MHz")},
        {15,("B2"),("458.200MHz")},
        {16,("B2"),("458.250MHz")},
        {17,("C"),("457.500MHz")},
        {18,("C"),("457.550MHz")},
        {19,("C"),("457.700MHz")},
        {20,("C"),("457.825MHz")},
        {21,("C"),("457.925MHz")},
        {22,("C"),("458.000MHz")},
        {23,("C"),("458.200MHz")},
        {24,("C"),("458.250MHz")},
        {25,("西陇海"),("457.700MHz")},
        {26,("郑商"),("457.700MHz")},
        {27,("C"),("457.500MHz")},
        {28,("C"),("457.700MHz")},
        {29,("C"),("457.825MHz")},
        {30,("C"),("458.000MHz")},
        {31,("太焦线"),("457.825MHz")},
        {32,("B1"),("457.500MHz")},
        {33,("B1"),("457.700MHz")},
        {34,("B1"),("457.825MHz")},
        {35,("B1"),("458.000MHz")},
        {36,("信和"),("457.500MHz")},
        {37,("信和"),("457.700MHz")},
        {38,("信和"),("457.825MHz")},
        {39,("信和"),("458.000MHz")},
        {40,("北同蒲B1"),("457.500MHz")},
        {41,("北同蒲B1"),("457.700MHz")},
        {42,("北同蒲B1"),("457.825MHz")},
        {43,("北同蒲B1"),("457.925MHz")},
        {44,("北同蒲B1"),("458.000MHz")},
        {45,("大秦AC"),("457.500MHz")},
        {46,("大秦AC"),("457.700MHz")},
        {47,("大秦AC"),("457.825MHz")},
        {48,("大秦AC"),("457.925MHz")},
        {49,("大秦AC"),("458.000MHz")},
        {50,("铁科B1"),("457.500MHz")},
        {51,("铁科B1"),("457.550MHz")},
        {52,("铁科B1"),("457.700MHz")},
        {53,("铁科B1"),("457.825MHz")},
        {54,("铁科B1"),("457.925MHz")},
        {55,("铁科B1"),("458.000MHz")},
        {56,("铁科B1"),("458.200MHz")},
        {57,("铁科B1"),("458.250MHz")},
        {58,("沈丹线"),("457.500MHz")},
        {59,("沈丹线"),("457.550MHz")},
        {60,("沈丹线"),("457.700MHz")},
        {61,("沈丹线"),("457.825MHz")},
        {62,("沈丹线"),("457.925MHz")},
        {63,("沈丹线"),("458.000MHz")},
        {64,("沈丹线"),("458.200MHz")},
        {65,("沈丹线"),("458.250MHz")},
        {66,("C制式"),("457.550MHz")},
        {67,("C制式"),("457.925MHz")},
        {68,("C制式"),("458.200MHz")},
        {69,("C制式"),("458.250MHz")},
        {70,("西陇海"),("457.500MHz")},
        {71,("西陇海"),("457.825MHz")},
        {72,("西陇海"),("458.000MHz")},
        {73,("洛月线"),("457.550MHz")},
        {74,("洛月线"),("458.200MHz")},
        {75,("洛月线"),("458.250MHz")},
        {76,("B"),("457.825MHz")},
        {77,("B1"),("457.700MHz")},
        {78,("C加强"),("457.825MHz")},
        {79,("B1"),("457.700MHz")},
        {80,("B1"),("457.500MHz")},
        {81,("B1"),("457.700MHz")},
        {82,("朔黄"),("458.000MHz")},
    };
然后写一个索引函数,就可以利用其中一个元素寻找其对应的元素
for(i=0;i<83;i++)
    {
        if(frequency[i].code==codefun)
        {
            j=i;
            str=frequency[j].type;
            atr=frequency[j].name;
        }
    }
给出序号,寻找对应的后边的对应内容。


猜你喜欢

转载自blog.csdn.net/Lzh020120/article/details/80014392