算法与数据结构旅游管理记录

这篇博客介绍了如何使用C语言实现旅游管理系统的算法与数据结构,内容涵盖旅游记录的管理。
摘要由CSDN通过智能技术生成

算法与数据结构 c语言写成的旅游管理记录

#include<stdio.h>   /*标准输入输出函数库*/
#include <stdlib.h>  /*标准函数库*/
#include <string.h>  /*字符串函数库*/
#include <conio.h>  /*屏幕操作函数库*/
#define HEADER1 "-----------------------------------------TRAVEL RECORD------------------------------------------\n"
#define HEADER2 "|  线路编号    |    负责人       |     组团人数      |    目的地   |   出发日期  |     费用    |\n"
#define HEADER3 "|--------------|-----------------|-------------------|-------------|-------------|-------------|\n"
#define FORMAT  "|   %-4s       |  %-4s           |   %-4s            |  %-4s       |%-4s         |%-4s         |\n"  
#define DATA     p->number,p->name,p->pnumber,p->address,p->date,p->money  
#define END     "------------------------------------------------------------------------------------------------\n"
#define N 100
int saveflag=0;

/*定义与教务系统有关的数据结构*/
typedef struct travel_system
{
   
	char number[100];//线路编号
	char pnumber[100];//组团人数
	char name[100];//负责人
	char address[100];//目的地
	char date[100];//出发日期
	char money[100];//费用
}travel_system;
void menu()  /*主菜单*/
{
   
	system("cls");  /*调用DOS命令,清屏.与clrscr()功能相同*/
	printf("              旅游管理系统系统 \n");
	printf("    ******************Menu**************************\n");   
	printf("    *     1 输入  记录             2 显示   记录   *\n");
	printf("    *     3 删除  记录             4 搜索   记录   *\n");
	printf("    *     5 修改  记录             6 插入   记录   *\n");
	printf("    *     7 排序  记录             8 保存   记录   *\n");
	printf("    *     0 退出  记录                             *\n");
	printf("    ************************************************\n");
}

/*格式化输出表头*/
void printheader()
{
   
	printf(HEADER1);
	printf(HEADER2);
	printf(HEADER3);
}
/*格式化输出表中数据*/
void printdata(travel_system pp)
{
   
	travel_system* p;
	p=&pp;
	printf(FORMAT,DATA);
}

/*显示数组temp[]中储存的旅游管理信息,内容为telebook结构中定义的内容*/
void Disp(travel_system temp[],int n)
{
   
	int i;
	if(n==0)
	{
   
		printf("\n=====Not people record!\n");      
		getchar();
		return;
	}
	printf("\n\n");
	printheader();
	i=0;
	while(i<n)
	{
   
		printdata(temp[i]);
		i++;
		printf(HEADER3);
	}
	getchar();
}
void wrong()  /*输出按键错误信息*/
{
   
	printf("\n\n\n\n\n***********Press any key to continue**********\n");
	getchar();
}
void Nofind()  /*输出未查找此记录的信息*/
{
   
	printf("\n=====>Not found the people!\n");
}
/*输入字符串,并进行长度验证(长度<lens)*/
void stringinput(char *t,int lens,char *notice)
{
   char n[255];
  do{
   
	printf(notice);
	scanf("%s",n);
	if(strlen(n)>lens) printf("\nxceed therequired length !\n");
  }while(strlen(n)>lens);
	  strcpy(t,n);
}
   
/*按负责人和目的地定位学生信息*/
int Locate(travel_system temp[],int n, char findmess[],char nameoraddress[])
{
   
	int i=0;
	if(strcmp(nameoraddress,"address")==0)
	{
   
		while(i<n)
		{
   
			if(strcmp(temp[i].address,findmess)==0)
				return -1;
			i++;
		}
	}
	else if (strcmp(nameoraddress,"name")==0)
	{
   
		while(i<n)
		{
   
			if(strcmp(temp[i].name,findmess)==0)
				return i;
			i++;
		}
	}
		return 1;
}
/*按目的地或姓名,查询旅游管理记录*/
void Qur(travel_system temp[],int n)
{
   
	int select;
	char searchinput[15];
	int p=0;
	if(n<=0)
	{
   
		system("cls");
		printf("\n====>No  record!\n");
		getchar();
		return;
	}
    system("cls");
    printf("\n   ====>1 Seach by name  =====>2   search by addressr\n");
    printf("       please choice[1,2]:");
    scanf("%d",&select);
    if(select==1)
	{
    
		stringinput(searchinput,10,"input the existing name;");
        p=Locate(temp,n,searchinput,"name");
		if(p!=-1)
		{
   
			printheader();
			printdata(temp[p]);
			printf(END);

			printf("press any key to return");
			getchar();
		}
		else
			Nofind();
		getchar();
	}
	else 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值