⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bus.h

📁 杭州公交查询系统 可以查询公交线路
💻 H
字号:
#include<iostream.h>
#include<string.h>

class bus
{
private:
	char* name;
	char* trackName;
	char* upTrack;
	char* downTrack;
	char* fromTime;
	char* toTime;
	char* price;
	int isExist(char*);
	void initialize();
public:
	bus(char* n);
	~bus();
	char* note;
	void printInformation();
	class Error{};//异常类
};//class bus

void bus::initialize()
{
	int i;
	trackName=new char[60];
	upTrack=new char[600];
	downTrack=new char[600];
	fromTime=new char[60];
	toTime=new char[60];
	price=new char[60];
		
	char* locator=new char[30];
	strcpy(locator,"source\\bus\\");
	if(*name=='k') strcat(locator,(name+1));
	else strcat(locator,name);
	strcat(locator,".txt");

	ifstream in_file;
	in_file.open(locator, ios::in);
	char* mystring[6];
	mystring[0]=new char[60];
	mystring[1]=new char[600];
	mystring[2]=new char[600];
	mystring[3]=new char[60];
	mystring[4]=new char[60];
	mystring[5]=new char[60];
	for(i=0;i<=5&&in_file;i++)
	{
		in_file.getline(mystring[i],1000);
	}
	in_file.close();
	strcpy(trackName,mystring[0]);
	strcpy(upTrack,mystring[1]);
	strcpy(downTrack,mystring[2]);
	strcpy(fromTime,mystring[3]);
	strcpy(toTime,mystring[4]);
	strcpy(price,mystring[5]);
	for(i=0;i<=5;i++)
	{
		delete [] mystring[i];	
	}
        
	delete []locator;
}//bus::initialize

bus::bus(char* n)
{
	note=new char[100];
	strcpy(note,"");
	name=new char[10];
	strcpy(name,n);

	if(isExist(name))
	{
		initialize();
		strcpy(note," find it !");
	}
	if(*name=='k')
	{
		if(isExist((name+1)))
		{
			initialize();
			strcpy(note,"您要查找的线路:");
			strcat(note,name);
			strcat(note,"不存在或者本系统没有记录这条线路;下面这条线路供参考:");
		}
	}
	else
	{
		char* temp=new char[11];
		strcpy(temp,"k");
		strcat(temp,name);
		if(isExist(temp))
		{
			initialize();
			strcpy(note,"您要查找的线路:");
			strcat(note,name);
			strcat(note,"不存在或者本系统没有记录这条线路;下面这条线路供参考:");
		}
		delete []temp;
	}
	if(!*note)
	{
		throw Error();
	}
}//bus

bus::~bus()
{
	delete []note;
	delete []name;
	delete []trackName;
	delete []upTrack;
	delete []downTrack;
	delete []fromTime;
	delete []toTime;
	delete []price;
}//~bus

void bus::printInformation()
{
	cout<<trackName<<endl<<endl;
	cout<<upTrack<<endl<<downTrack<<endl;
    cout<<endl<<fromTime<<endl<<toTime<<endl;
	cout<<endl<<price<<endl;
}//printInformation

int bus::isExist(char* busName)
{
	ifstream in_file;
	in_file.open("source\\busname.txt", ios::in);
	char* instring=new char[10];
	while(in_file)
	{
	    in_file>>instring;
		if(!strcmp(busName,instring)) {in_file.close();return 1;}
	}
	in_file.close();
	return 0;
}//isExist

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -