C语言作业旅游线路管理系统word文档良心出品Word文件下载.docx
《C语言作业旅游线路管理系统word文档良心出品Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言作业旅游线路管理系统word文档良心出品Word文件下载.docx(46页珍藏版)》请在冰豆网上搜索。
其他要求:
(1)界面美观,交互方便,实用性强。
(2)注释详细:
每个变量都要求有注释说明用途;
函数有注释说明功能,对参数、返回值也要以注释的形式说明用途:
关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC
等开发工具,实现彩色或图形操作界面。
二、需求分析
旅游线路管理系统的功能框架图如图1所示。
图1功能框架图
(1)提供可操作的主菜单:
输出各菜单,用于显示以从文件中加载的总客户信息和若干个可选的功能选项。
根据客户输入的选项来运行不同的功能,运行不同的函数。
(2)基础信息查询:
通过调用文件,查询旅行社的基本信息。
(3)业务管理:
调用结构体,有三个功能,业务登记是将需要输入的信息写入结构体并写入文件,线路匹配是根据选择每条线路的用户的人数乘该线路的价格在进行选择,选择出一个收入最高的方案输出,业务结算时将输入的信息进行初步处理。
(4)信息查询:
通过调用函数对结构体信息进行处理,输出相应数据。
(5)统计分析:
输出相应的表格。
(6)密码函数:
将输入的字符转化为“*”。
(7)输入函数:
将数据输入结构体。
(8)分析函数:
分析那些游客选择了什么服务。
(9)输出函数:
将处理好的数据以表格形式输出。
(10)保存函数,将数据保存为文件。
(11)满意度函数:
调查用户满意度,并将调查结果进行反馈。
三、概要设计
1主要存储结构
typedefstructXL//线路结构体
{
intnum;
//线路号
charmdd[LEN1];
//目的地
intpay;
//费用
charms[LEN2];
//描述
floatmyd;
//满意度
}XL;
typedefstructDate//时间结构体
intyear;
//年
intmonth;
//月
intday;
//日
}Date;
typedefstructRY//人员结构体
charname[LEN1];
//姓名
//人数
intxl;
//出行线路
chartel[11];
//联系方式
intack;
//确认出游
Datetime;
//结算时间
intmy;
}RY;
typedefstructJS
//收入
intrenshu;
chartel[LEN1];
}JS;
2主要函数流程
(1)写入函数:
j为用户组数,通过for循环控制输入游客组数,并将用户数据录入人员结构体数组同时将数据写入文件,如图2所示。
图2写入函数
(2)线路查询函数:
i为输入的查询线路号,要求1<
=i<
=线路总数,遍历所有线路,如果线路k的线路号为i,输出线路k的信息,如图3所示。
图3线路查询函数
(3)确认出游函数:
i为用户,遍历所有用户,如果用户i的确认出游(ack)值为1,则确认出游人数num加一,同时输出用户i的信息,最后再输出共有多少人(num)确认出游,如图4所示。
图4确认出游函数
N
Y
(4)线路需求状况函数:
i为线路号,j为用户,遍历所有线路,再遍历所有用户,如果用户j选择i号线路,选择该线路的人数(num)加一,最后输出每条线路有多少人选,如图5所示。
图5线路需求状况
四、源程序代码
#include<
stdio.h>
stdlib.h>
conio.h>
ctype.h>
string.h>
windows.h>
#defineLEN120//姓名、性别、ID、电话号码和密码最大字符数
#defineLEN22000//路线描述最大字符数
#defineN150//路线种数最大值
#defineN21000//业务总数最大值
#defineSsystem("
pause"
)
#defineQsystem("
cls"
voidwelcome();
//欢迎界面
voidDL();
//登录函数
voidmenu();
//主菜单
voidBase_inf();
//基本信息菜单
voidManage();
//业务管理菜单
voidSearch();
//信息查询菜单
voidStatis();
//统计分析菜单
voidMyd();
//满意度菜单
voidover();
//退出界面
voidfind_LXS();
//旅行社信息
voidfind_XL();
//线路信息
voidfind_YG();
//员工信息
voidmanage_deng();
//业务登记
voidmanage_pi();
//线路匹配
voidmanage_jie();
//业务结算
voidline_in();
//线路信息录入
voidsearch_xl();
//线路信息查询
voidsearch_ry();
//人员信息查询
voidsearch_ack();
//确认出游查询
voidsearch_xq();
//各类线路需求状况
voidsearch_yw();
voidstatis_den();
//业务登记汇总表
voidstatis_chu();
//确认出游汇总表
voidstatis_jie();
//业务结算汇总表
voidstatis_qi();
//阶段结算统计
voidfankui();
//满意度调查
voidfkjg();
//满意度反馈
voidscanf_ry();
//人员信息录入
voidback();
//返回
//voidIn();
intk=1,m=1,b=1,luxianshu,yewushu,rynum;
//定义全局变量
intp=0,q=0;
intrynum;
//用户组数
rynum=10;
//用户组数文件中的信息
XLline[LEN1];
//线路结构体数组
RYry[LEN1];
//人员结构体数组
Datesj[LEN1];
//时间结构体数组
JSjies[LEN1];
//结算信息结构体数组
intmain()//主函数
welcome();
system("
color07"
);
//设置颜色
line_in();
DL();
menu();
return0;
}
voidwelcome()//欢迎界面
printf("
\n\n\n\n\n\n"
【】**************************************【】\n"
******************************************\n"
****\n"
**欢迎进入**\n"
**旅行管理系统**\n"
N2);
voidback()//返回函数
\n\n按任意键返回!
"
getch();
voidline_in()//线路信息录入函数
FILE*fp;
inti;
Q;
fp=fopen("
线路信息查询.txt"
"
r"
if(!
fp)
{
printf("
线路信息打开失败"
S;
exit
(1);
}
for(i=0;
i<
3;
i++)//从事先写好的文件读入线路信息
fscanf(fp,"
%d%s%d%s"
&
line[i].num,&
line[i].mdd,&
line[i].pay,&
line[i].ms);
fclose(fp);
线路信息录入完毕\n"
voidDL()//登录函数
while