《C语言及程序设计》实践参考——区号查询

简介: 返回:贺老师课程教学链接【项目3-区号查询】 在文件PostCode.txt中,提供了全国各省城市的长途区号和邮政编码。请以这个文件为数据来源设计程序,输入城市名,输出该城市的相关的信息。 [参考解答]#include <stdio.h>#include <stdlib.h>#include <string.h>int

返回:贺老师课程教学链接

【项目3-区号查询】
在文件PostCode.txt中,提供了全国各省城市的长途区号和邮政编码。请以这个文件为数据来源设计程序,输入城市名,输出该城市的相关的信息。
[参考解答]

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int readDate();
int Search(char*,int);
void Show(int);
struct Code
{
    char province[20];//省
    char abbreviation[4];//省的简称
    char city[24];//市
    int areacode;//区号
    int zipcode;//邮编
};
struct Code codes[5000];
int n;
int main()
{
    char s[22];
    int index = -1;
    n=readDate();
    printf("请输入要查询的城市:");
    scanf("%s", s);
    index =Search(s,n);   
    if (index>=0)
        Show(index);
    else
        printf("没有该城市,或者城市输入有误。\n");
    return 0;
}

int readDate()  //读取数据,返回人数
{
    FILE *infile=fopen("postcode.txt","r");     //以输入的方式打开文件
    if(!infile)                 //测试是否成功打开
    {
        printf("open error!\n");
        exit(1);
    }

    int i=0;
    fscanf(infile, "%s %s %s %d %d", codes[i].province, codes[i].abbreviation, codes[i].city, &codes[i].areacode, &codes[i].zipcode);
    while(!feof(infile))
    {
        ++i;
        fscanf(infile, "%s %s %s %d %d", codes[i].province, codes[i].abbreviation, codes[i].city, &codes[i].areacode, &codes[i].zipcode);
    }
    fclose(infile);
    return i;
}


int Search(char *s,int n)  //顺序查找,待改进
{
    int i;
    for (i=0; i<n; i++)
        if (strcmp(codes[i].city, s)==0)
            return i;
    return -1;

}

void Show(int i)
{
    printf("省份:%s\n", codes[i].province);
    printf("简称:%s\n", codes[i].abbreviation);
    printf("城市:%s\n",codes[i].city);
    printf("区号:0%d\n",codes[i].areacode);
    printf("邮政编码:%d\n",codes[i].zipcode);
}
目录
相关文章
|
30天前
|
存储 C语言
C语言顺序结构:基础与实践
C语言,作为一种广泛使用的编程语言,其程序结构可以分为三种基本类型:顺序结构、选择结构和循环结构。在这篇文章中,我们将重点讨论顺序结构的概念、特点以及如何在C语言中实现顺序结构的程序设计。
36 1
|
1月前
|
C语言
C语言模块化程序设计
C语言模块化程序设计
21 0
|
1月前
|
C语言
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
C4.
|
1月前
|
程序员 C语言
C语言循环结构与程序设计
C语言循环结构与程序设计
C4.
23 0
|
28天前
|
存储 文件存储 C语言
《C语言程序设计》课程设计 -- 火车票票务管理系统
《C语言程序设计》课程设计 -- 火车票票务管理系统
23 1
|
29天前
|
存储 C语言
C语言顺序结构程序设计
C语言顺序结构程序设计
21 0
|
1月前
|
Unix Linux C语言
【C/C++ 跳转函数】setjmp 和 longjmp 函数的巧妙运用: C 语言错误处理实践
【C/C++ 跳转函数】setjmp 和 longjmp 函数的巧妙运用: C 语言错误处理实践
19 0
|
1月前
|
存储 C语言
C语言的顺序程序设计
C语言的顺序程序设计
11 2
|
1月前
|
存储 C语言
C语言的顺序程序设计
C语言的顺序程序设计
14 0
|
1月前
|
C语言
【C语言】用函数实现模块化程序设计
【C语言】用函数实现模块化程序设计