资源描述:
《全国交通咨询模拟系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、全国交通咨询模拟系统/*[记录]1.先开始把ID定义为int型,后来又把它改为字符串,这样使为了更方便查询因为在查询数据时,输入的可能是ID,也可能是城市的名字,这样就可以避免分开处理的麻烦;2.火车中间转车;3.使用说明,管理员设密码;4.删除某个城市就要删除与这个城市相关的所有信息,列车,飞机等;5.程序是完全的C程序,后来改为C,C++混用6.输入时间格式,求时间的长度,很复杂,还要考虑问闰年,每个月的前面一个减上个月的最后一天7.时间在输入时用的是字符串,这样使为了便于在查找时一致8.改进的地方kmp查询空调车*/#include#include<
2、string.h>#include#includeusingnamespacestd;#defineMaxNode100#definecharl100#defineINF99999999charcodeme[charl]={"123456"};intCharToInt(char*str){//将十进制数由字符型,转化为int型inti,l;intk=0,pow=1;l=strlen(str)-1;for(i=l;i>=0;i--){k+=(str[i]-'0')*pow;pow*=10;}returnk;}voidTimeDateAp
3、art(char*str,intIntTimeDate[]){//将时间的时分秒或日期的年月日分离inti,j,k;charchr[charl];k=0;j=0;for(i=0;str[i];i++,j++){if(str[i]!='-'
4、
5、str[i]!='.')chr[j]=str[i];else{chr[j]=0;j=0;IntTimeDate[k]=CharToInt(chr);k++;}}for(i=0;i<=2;i++){printf("%d:",IntTimeDate);}}intTimeLongOut(char*StartDate,char*StartTim
6、e,char*EndDate,char*EndTime,char*TimeLong){//根据日期时间,算出时间长度最后转化为字符串//时间输入格式2007-07-0922:22:33intIntStartTime[3],IntEndTime[3];intIntStartDate[3],IntEndDate[3];intTimeDate[]={365*24,30*24,24};intHour,Minute;//inthour,min,second;intDoubleTimeLong;inti;TimeDateApart(StartTime,IntStartTime);Tim
7、eDateApart(EndTime,IntEndTime);TimeDateApart(StartDate,IntStartDate);TimeDateApart(EndDate,IntEndDate);DoubleTimeLong=0;Hour=0;Minute=0;//这里还有待改进for(i=0;i<=2;i++){Hour+=(IntEndDate[i]-StartDate[i])*TimeDate[i];}Hour+=(EndTime[0]-StartTime[0]);Minute=EndTime[1]-StartTime[1];DoubleTimeLong=H
8、our*3600+Minute*60+EndTime[2]-StartTime[2];sprintf(TimeLong,"%d小时%d分",Hour,Minute);returnDoubleTimeLong;}/*******************************************************************///城市typedefstruct{charID[charl];charname[charl];}TpyeCity;intCityNum;TpyeCityCity[MaxNode];/*voidInitialCity();voidD
9、eleteCity();voidInsertCity();*/voidInitiateCity(){//程序开始时输入现有城市,文件输入FILE*fp;inti,n;fp=fopen("city.in","r");fscanf(fp,"%d",&n);for(i=0;i<=n-1;i++)fscanf(fp,"%s%s",City[i].ID,City[i].name);CityNum=n;fclose(fp);}voidDeleteCity(){//删除某个城市inti,j;charstr[charl];scan