收藏 分享(赏)

程序设计-旅游管理系统.doc

上传人:tangtianxu1 文档编号:2887633 上传时间:2018-09-29 格式:DOC 页数:51 大小:492.50KB
下载 相关 举报
程序设计-旅游管理系统.doc_第1页
第1页 / 共51页
程序设计-旅游管理系统.doc_第2页
第2页 / 共51页
程序设计-旅游管理系统.doc_第3页
第3页 / 共51页
程序设计-旅游管理系统.doc_第4页
第4页 / 共51页
程序设计-旅游管理系统.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、1程序设计报告(2015/2016 学年 第 二 学期)题 目:旅游管理系统 旅游管理系统一、 课题内容和要求旅游管理系统是某旅行社的旅游管理系统,具有排序,查找,计算,显示等功能。通过此课题,熟练账务文件,数组,指针的各种操作,以及一些算法思想的应用。功能要求:旅游管理系统信息应包括:(其中房源和客户的信息应该根据日常情况进行合理设置)基础信息:旅行社信息,线路信息,员工信息等业务管理:业务登记,确认出游,业务结算等信息查询:线路信息查询、人员信息查询、业务登记查询、确认出游查询、业务结算查询等统计分析:登记业务汇总表、确认出游汇总表、业务结算汇总表、期间结算统计等。需要实现的功能:1) 用

2、户需要输入口令进入旅游管理系统2) 实现所有相关信息的建立3) 计算系统的业务数量,查询各类线路的需求状况4) 按照线路或者出行人数进行排序,显示相关信息5) 统计某时间段内的销售业绩,统计收入。6) 将本系统的所有相关信息内容存为文件。2界面友好,费用的收取应该符合常规。二、 需求分析旅游管理系统的功能框架图如图 1 所示。旅游管理系统基础信息 业务管理 统计分析信息查询旅行社信息员工信息线路信息业务登记业务结算确认出游线路信息查询业务结算查询确认出游查询业务登记查询人员信息查询登记业务总汇表期间结算统计业务结算总汇表确认出游总汇表增加记录删除记录修改记录图 1 功能框架图3(1)提供可操作

3、的主菜单:输出个菜单,用于显示以从文件中加载的总客户信息和若干个可选的功能选项。根据客户输入的选项来运行不同的功能,运行不同的函数。(2)基础信息查询:通过调用文件,查询旅行社的基本信息。(3)业务管理:调用结构体,有三个功能,业务登记是将需要输入的信息写入结构体,确认出游是为确认出游赋值(1 或 0) ,业务结算时将输入的信息进行初步处理。(4)信息查询:通过调用函数对结构体信息进行处理,输出相应数据。(5)统计分析:输出相应的表格。(6)密码函数:将输入的字符转化为“*” 。(7)输入函数:将数据输入结构体。(8)分析函数:分析那些游客选择了什么服务。(9)输出函数:将处理好的数据以表格形

4、式输出。(10)保存函数,将数据保存为文件。(11)处理函数:对结构体的数据进行插入,修改,删除等处理。三、概要设计1 主要结构体struct tourist /定义结构体char name10; /游客姓名int rout; /路线选择char PNum11; /联系方式int acc; /是否住宿int ack; /确认出游;2 主要函数流程图(1) 写入函数:开始输入游客数量 jj20 ?N输入第 i 个游客数据ijYYN输入完成,结束4图 2 写入函数定义 i,j,j 为输入的游客总量,利用 do-while 语句保证输入的值在 0-20 之间,然后通过 for 循环一个个输入每一个游

5、客的信息。(2) 输出登记函数:定义整型 i,字符型 ac,ak,通过 for 循环一个个判断每个游客输出的信息该为 Y(Yes)还是 N(No) 。如果 si.acc=1 即,这个游客的 .acc 项为“ 真”,给这一个字符型 ac 赋值为 Y,如果 si.acc=0,这个游客的.acc 项为“假” ,给这个字符型 ac 赋值为 N,字符型 ak 同理,然后在一个循环内利用 printf 函数输出这一个游客的信息,然后跳入下一个循环。总共有 len 个游客。NYi=0Ilen?ac=Y ac=Nak=Y ak=N开始,调用 siSi.acc=1?Si.ack=1?输出第 i 个游客的信息i+

6、结束YYNN5图 3 输出函数(3) 查找游客信息定义字符串 str_a 20,定义整型 i=0,用 scanf 函数输入姓名信息,通过strcmp 函数比较 str_a 20和原结构体中储存的 si.name 的内容,如果相同则输出游客的信息,此时游客的确认出游和是否住宿可以参照上一个函数示例输出为 Y(Yes)和 N(No) ,如果不同则通过 for 循环使 i+,对比下一个 si.name,直到查找到游客的信息。开始,调用 si信息输入姓名输入的字符串和si.name 相等i+输出改游客的信息。注:.ack 和.acc 由 Y/N 输出完成i=0NY6图 4 查找功能(4) 输出路线选择

7、:该函数分为两个部分,一个是统计每条路线有多少人,一个是谁选了这条路线。定义整型 i,j,sum1,sum2,sum3,由 i#include #include #include #include #include #include #include #define MAX_PASSWD_LEN 16#define NUM 20#define sizes sizeof (tourist)struct tourist /定义结构体char name10;int rout;char PNum11;int acc;int ack;typedef struct tourist tourist; /结构

8、体名称为 touristvoid insert (tourist s,int i) /插入游客system(“cls“);printf (“输入增加的游客:n“);scanf(“%s%d%s%d%d“,void change (tourist s,int j) /修改游客system (“cls“);int i,num=j;char str_a20;printf (“输入需要修改游客的名字:n“);scanf (“%s“,str_a);for (i=0;i20);system(“cls“);printf (“输入登记信息( 格式:姓名,路线,联系方式,是否住宿,确认出游.):n“);print

9、f (“路线输入代码 1:50,2:75,3:60.住宿选 1,不住宿选 0n“);for (i=0;ix)printf (“路线一和三收入同样是最高的n“);if (z=xif (x=cif (zxif (xcif (czvoid ackput (tourist s,int j) /输出确认出游的游客int i,num=j;for (i=0;i=1) /打开正常,写入数据for (i=0;i=sizes)memcpy(elsebreak;_lclose(hFile2);*n=i; return 1 ;int BasicInformation () printf(“ -n“);printf(“

10、 + - +n“);printf(“ + +n“);printf(“ + - +n“);printf(“ + 旅行社信息 +n“);printf(“ + +n“);printf(“ + 请输入1 +n“);printf(“ + +n“);printf(“ + 线路信息 +n“);printf(“ + +n“);printf(“ + 请输入2 +n“);printf(“ + +n“);20printf(“ + 员工信息 +n“);printf(“ + +n“);printf(“ + 请输入3 +n“);printf(“ -n“);return 0;int Busisnessmanagement

11、()printf(“ -n“);printf(“ + - +n“);printf(“ + +n“);printf(“ + - +n“);printf(“ + 业务登记 插入记录 +n“);printf(“ + +n“);printf(“ + 请输入1 请输入2 +n“);printf(“ + +n“);printf(“ + +n“);printf(“ + 修改记录 删除记录 +n“);printf(“ + +n“);printf(“ + 请输入3 请输入4 +n“);printf(“ + +n“);printf(“ + +n“);printf(“ + 确定出游 业务结算 +n“);printf

12、(“ + +n“);printf(“ + 请输入5 请输入6 +n“);printf(“ + +n“);printf(“ + +n“);printf(“ -n“);return 0;int Informationconsultation ()printf(“ -n“);printf(“ + - +n“);printf(“ + +n“);printf(“ + - +n“);printf(“ + 线路信息查询 +n“);printf(“ + +n“);printf(“ + 请输入1 确认出游查讯 +n“);printf(“ + +n“);printf(“ + 人员信息查询 请输入4 +n“);pr

13、intf(“ + +n“);printf(“ + 请输入2 业务结算查询 +n“);printf(“ + +n“);printf(“ + 业务登记查讯 请输入5 +n“);21printf(“ + +n“);printf(“ + 请输入3 +n“);printf(“ -n“);return 0;int statisticalanalysis ()printf(“ -n“);printf(“ + - +n“);printf(“ + +n“);printf(“ + - +n“);printf(“ + 登记业务汇总表 业务结算汇总表 +n“);printf(“ + +n“);printf(“ + 请

14、输入1 请输入3 +n“);printf(“ + +n“);printf(“ + +n“);printf(“ + 确认出游汇总表 期间结算汇总表 +n“);printf(“ + +n“);printf(“ + 请输入2 请输入4 +n“);printf(“ + +n“);printf(“ + +n“);printf(“ + +n“);printf(“ -n“);return 0;void show_welcome(void)printf(“ -n“);printf(“ + +n“);printf(“ +, +n“);printf(“ + +n“);printf(“ + +n“);printf(

15、“ + 田田 田 这里是南邮旅游管理系统 +n“);printf(“ + +n“);printf(“ + 请输入口令(身份证后六位) +n“);printf(“ + /-/- +n“);printf(“ + +n“);printf(“ + - +n“);printf(“ + 基础信息 业务管理 +n“);printf(“ + +n“);printf(“ + 请输入1 请输入2 +n“);printf(“ + +n“);printf(“ + +n“);printf(“ + 信息咨询 统计分析 +n“);printf(“ + +n“);printf(“ + 请输入3 请输入4 +n“);print

16、f(“ + +n“);printf(“ + +n“);printf(“ + 9085 7990 53 +n“);printf(“ -n“);int main ()FILE *fp;char ch;23char nh6;tourist sNUM;int m,nn,mm;int i=0;int n;char* DataFileName=“D:atourist.dat“;int num_of_tourist;if (0=ReadFromFile(DataFileName, /所有数据区清 0show_welcome();kaishi: /函数返回位置一for(i=0;i3;i+)for(n=0;n6

17、;n+) /隐藏密码并把其显示为*nhn = getch();printf(“*“);printf(“n“);nhn = 0;if(0 = strcmp(nh,“198765“)|0=strcmp(nh,“123456“)|0=strcmp(nh,“145873“)mm=1;break;elsemm=0;break;if (mm=1)welcome ();if (mm=0)printf (“您不是管理员,请重新输入:“);goto kaishi;char z=getchar(); /回车继续。scanf (“%c“,if (z=n) system(“cls“); 24elsegoto kais

18、hi;kaishi2: /函数返回位置二menu ();int a;scanf (“%d“,switch (a)case 1: /实现基础信息功能system(“cls“);BasicInformation ();int input1;scanf (“%d“,switch (input1)case 1:system(“cls“);fp=fopen (“D:a旅行社信息.txt“,“r“);if (!fp)printf(“无法打开文件,回车返回目录,否则返回登录界面n“);char za=getchar();scanf (“%c“,if (za=n) system(“cls“);goto kai

19、shi2;elsegoto kaishi;while (ch= fgetc(fp)!=EOF)putchar (ch);fclose (fp);char zf=getchar();scanf (“%c“,if (zf=n)25 system(“cls“);goto kaishi2;elsegoto kaishi;break;case 2:system(“cls“);fp=fopen (“D:a线路信息.txt“,“r“);if (!fp)printf(“无法打开文件,回车返回目录,否则返回登录界面n“);char zb=getchar();scanf (“%c“,if (zb=n) syste

20、m(“cls“);goto kaishi2;elsegoto kaishi;while (ch= fgetc(fp)!=EOF)putchar (ch);fclose (fp);char zf=getchar();scanf (“%c“,if (zf=n) system(“cls“);goto kaishi2;elsegoto kaishi;26break;case 3:system(“cls“);fp=fopen (“D:a员工信息.txt“,“r“);if (!fp)printf(“无法打开文件,回车返回目录,否则返回登录界面n“);char zc=getchar();scanf (“%c

21、“,if (zc=n) system(“cls“);goto kaishi2;elsegoto kaishi;while (ch= fgetc(fp)!=EOF)putchar (ch);fclose (fp);char zf=getchar();scanf (“%c“,if (zf=n) system(“cls“);goto kaishi2;elsegoto kaishi;case 2:system (“cls“);Busisnessmanagement ();int input2;scanf (“%d“,switch (input2)27case 1:system(“cls“);num_o

22、f_tourist=Input (s); /写入数据if (0 = SaveToFile( DataFileName, num_of_tourist, s ) )printf(“写文件失败!rn“);Output (s,num_of_tourist);printf(“回车返回目录,否则返回登录界面n“);char zd=getchar();scanf (“%c“,if (zd=n) system(“cls“);goto kaishi2;elsegoto kaishi;case 2:insert (s,num_of_tourist);num_of_tourist+;if (0 = SaveToF

23、ile( DataFileName, num_of_tourist, s ) )printf(“写文件失败!rn“);printf(“回车返回目录,否则返回登录界面n“);char zf=getchar();scanf (“%c“,if (zf=n) system(“cls“);goto kaishi2;elsegoto kaishi;case 3: /修改游客信息change (s,num_of_tourist);if (0 = SaveToFile( DataFileName, num_of_tourist, s ) )printf(“写文件失败!rn“);printf(“回车返回目录,否

24、则返回登录界面n“);28char zf=getchar();scanf (“%c“,if (zf=n) system(“cls“);goto kaishi2;elsegoto kaishi;case 4: /删除游客deletes (s,num_of_tourist);num_of_tourist-;if (0 = SaveToFile( DataFileName, num_of_tourist, s ) )printf(“写文件失败!rn“);printf(“回车返回目录,否则返回登录界面n“);char zf=getchar();scanf (“%c“,if (zf=n) system(

25、“cls“);goto kaishi2;elsegoto kaishi;case 5:system(“cls“); /确认出游Sum3 (s,num_of_tourist);printf(“回车返回目录,否则返回登录界面n“);char zf=getchar();scanf (“%c“,if (zf=n) system(“cls“);goto kaishi2;else29goto kaishi;case 6:int aum;system(“cls“); /业务结算aum=Sum1 (s,num_of_tourist);printf (“住宿收入%d 元n“,aum*50);Sum2 (s,nu

26、m_of_tourist);printf(“回车返回目录,否则返回登录界面n“);char ze=getchar();scanf (“%c“,if (ze=n) system(“cls“);goto kaishi2;elsegoto kaishi; case 3:system(“cls“);Informationconsultation (); /信息查询目录int input3;scanf (“%d“,switch (input3)case 1:system(“cls“);routput (s,num_of_tourist);printf(“回车返回目录,否则返回登录界面n“);char z

27、h=getchar();scanf (“%c“,if (zh=n) system(“cls“);goto kaishi2;elsegoto kaishi;30break;case 2:int see;system(“cls“);see=touristSear (s,num_of_tourist); /人员信息查询if(see=0)printf(“不存在此游客n“);printf(“回车返回目录,否则返回登录界面“);char zk=getchar();scanf (“%c“,if (zk=n) system(“cls“);goto kaishi2;elsegoto kaishi;break;case 3:system(“cls“);Output (s,num_of_tourist); /结算查询printf(“回车返回目录,否则返回登录界面n“);char zj=getchar();scanf (“%c“,if (zj=n) system(“cls“);goto kaishi2;elsegoto kaishi;break;case 4:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报