用c++做一个 旅游景点信息管理程序设计

用c++做一个 旅游景点信息管理程序设计,第1张

class CInfo{

struct info

{

int stNo //编号

string stName //景点名称

string stSpot //旅游地名

float stExpenses//所需费用

}

info stInfo[2]

string spotTemp[2]

void insertInfo(){

cout<<"请输入两个景点编号、名称、地名、所需费用。"<<endl

for(int i=0i<3i++){

cout<<"第"<<i <<"个"

cin>>stInfo[i].stNo

cin>>stInfo[i].stName

cin>>stInfo[i].stSpot

cin>>stInfo[i].stExpenses

spotTemp[i] = stInfo[i].stSpot

}

}

void infoShow(){

for(int j=0j<3j++){

cout<<stInfo[j].stNo

cout<<stInfo[j].stName

cout<<stInfo[j].stSpot

cout<<stInfo[j].stExpenses

}

}

void infoQuery(){

string temp

for(int k =0k<3k++){

cout<<"请输入要查询景点地名: "

cin>>temp

if(temp != spotTemp[k]){

cout<<"没有查询到你想要的信息!"<<endl

}else{

cout<<stInfo[k].stSpot

}

}

}

}

通过设计和建立database空间数据库,掌握空间数据库设计和建设流程,学会利用所学GIS知识独立分析和解决问题的能力,对所学建库知识进行一个完整的串接。

3、需求分析

旅游业是一个综合性很强的信息依赖型产业,旅游信息的获取、加工、传播和利用对旅游业的发展起着举足轻重的作用。从旅游者和旅游规划管理部门的需求出发建立旅游信息数据库,不仅可以使旅游者和旅游规划管理部门能够快速、准确地查找和检索自己所需要的旅游信息,而且能够促进旅游信息规范化和标准化,促进旅游信息的共享,打破对旅游信息的封锁;旅游信息数据库的建立有利于从整体上对旅游业进行宏观的调控和管理,有利于旅游业协调、健康有序的发展。

四川省旅游空间数据库的建立以arcgis为平台,以database为载体,内涵四川主要景点的各种信息(属性和空间),可以为使用者提供一定的信息服务。

4、功能分析与数据组织

4.1 数据组织

本实验的数据组织为:矢量数据采用简单数据格式shapefile存储,具体文件如下表所示:

文件名称

用途

主要景点

记录四川省的主要旅游景点信息,并进行分类

交通要道_国道

存储四川省的交通要道国道的走向,便于分析路径

交通要道_高速路

存储四川省的交通要道高速路的走向,便于分析路径

交通要道_铁路

存储四川省的交通要道铁路的走向,便于分析路径

主要城市

记录四川省的主要城市信息,便于查询信息

主要河流

记录四川省的主要河流信息

4.2 功能分析

本数据库主要的功能设计为:

1、可以通过地图空间信息查询到景点的属性信息,如景点的类型、票价、主要的景点以及景点的具体位置信息等;

2、可以通过属性的查询方式找到具体景点的位置,并可以通过提供的信息找到到该景点的路径。

5、数据库建设流程

5.1 环境配置

5.1.1 硬件配置

计算机一台(windowxp *** 作系统)

5.1.2 软件配置

专业软件:PCI8.2,ArcGIS9.2 desktop

其它软件:Office Access 2003、抓图软件等

#include<iostream>

#include<string>

#include<conio.h>

#include<fstream>

#define filepath "JDInfo.txt"

#define max 1000

using namespace std

typedef struct JDInfo

{

    string jdid

    string jdname

    string cityname

    float money

}JDInfo

static int count

static JDInfo jdinfo[max]

int load_info()

{

    count = 0

    ifstream ifs(filepath, ios::in)

    if(ifs.good())

    {

        

        while(!ifs.eof())

        {

            ifs >> jdinfo[count].jdid

            ifs >> jdinfo[count].jdname

            ifs >> jdinfo[count].cityname

            ifs >> jdinfo[count++].money            

        }

        ifs.close()

        return count

    } 

    else

        return 0 

}

bool write_info()

{

    cout << "请输入景点编号:"

    cin >> jdinfo[count].jdid

    cout << "\n请输入景点名称:"

    cin >> jdinfo[count].jdname

    cout << "\n请输入旅游地名称:"

    cin >> jdinfo[count].cityname

    cout << "\n请输入所需费用:"

    cin >> jdinfo[count].money

    ofstream ofs(filepath, ios::app)

    if(ofs.good())

    {

        ofs << jdinfo[count].jdid << endl

        ofs << jdinfo[count].jdname << endl

        ofs << jdinfo[count].cityname << endl

        ofs << jdinfo[count++].money << endl

        cout << "输入记录成功!请按任意键继续..." << endl

        getch()

        ofs.close()

        return true

    }

    else

        return false    

}

void read_info()

{

    int i = 0

    system("cls")

    for(  i < count i++)

    {

        cout << "第" << i + 1 << "个景点数据:" << endl

        cout << "景点编号:" << jdinfo[i].jdid << endl

        cout << "景点名称:" << jdinfo[i].jdname << endl

        cout << "旅游地名称:" << jdinfo[i].cityname << endl

        cout << "所需费用:" << jdinfo[i].money << endl

    }

    system("pause")

}

float calc_money(string n)

{

    float smoney = 0.0

    int i = 0

    for(  i < count i++)

    {

        if(jdinfo[i].cityname == n)

            smoney += jdinfo[i].money

    }

    return smoney

}

int main()

{

    load_info()

    string tempname

    while(true)

    {

        cout << "请选择所需功能:" << endl

        cout << "1.输入数据" << endl

        cout << "2.显示所有信息" << endl

        cout << "3.输入旅游地查询并计算总所需费用" << endl

        cout << "4.退出系统" << endl

i:      switch(getch())

        {

            case '1': write_info() break

            case '2': read_info() break

            case '3':

                    cout << "请输入旅游地名称:"

                    cin >> tempname

                    cout << "\r去 " << tempname << " 旅游,所需要总费用为:" << calc_money(tempname) << endl 

                    break

            case '4': return 0 break

            default: cout << "\r输入选择错误,请重新输入:"goto i

        }

    }

}

给你写了一个,你去运行看下,有什么不懂的再问我吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10865135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存