
公车管理系统
-
2023年3月18日发(作者:金喜庆视频)公交车管理系统C语⾔
翻⽹盘的时候翻出来⼤⼀做的⼀个公交车管理系统的C语⾔课设,给⼤家分享下
#include
#include
#include
#include
#include
#definelensizeof(structbus)
charpassword1[100]={'1','2','3','4','5','6'};
//定义结构体类型
structbus
{
structbus*next;/*连接站点指针*/
structbus*next2;/*连接公交车指针*/
intnum;//站号
charname[100];//站名
};
/*创建第⼀辆公交车*/
structbus*creat()
{
structbus*p1,*p2,*head=NULL;
charn[100];
printf("请输⼊该线路总站数以及车次n");
p1=p2=(structbus*)malloc(len);
scanf("%s%s",n,p1->name);
//输⼊的字符串以#结尾
//先输⼊字符串,如果字符串不为#,再将其转化为数字赋给结构体⾥的序号
while(n[0]!='#')
{
//将字符串转化为数字形式
p1->num=atoi(n);
if(head==NULL)
{
head=p1;
}
else
{
p2->next=p1;
p2=p1;
}
p1=(structbus*)malloc(len);
printf("请输⼊站点序号及站点信息(输⼊#结束输⼊)n");
scanf("%s%s",n,p1->name);
}
p2->next=NULL;
returnhead;
}
/*创建第⼆辆公交车*/
structbus*creatbus(structbus*head1)
{
structbus*p1,*p2,*head=NULL;
charn[100];
printf("请输⼊该线路总站数以及车次n");
p1=p2=(structbus*)malloc(len);
scanf("%s%s",n,p1->name);
while(n[0]!='#')
{
p1->num=atoi(n);
if(head==NULL)
{
head=p1;
}
}
else
{
p2->next=p1;
p2=p1;
}
p1=(structbus*)malloc(len);
printf("请输⼊站点序号及站点信息(输⼊#结束输⼊)n");
scanf("%s%s",n,p1->name);
}
p2->next=NULL;
head1->next2=head;
returnhead;
}
/*显⽰函数*/
voidlist(structbus*head)
{
structbus*temp;
temp=head;
while(temp!=NULL)
{
if(temp==head)
printf("tt总站数:%d车次:%sn",temp->num,temp->name);
else
printf("tt站点序号:%d站点名称:%sn",temp->num,temp->name);
temp=temp->next;
}
}
/*删除站点函数*/
structbus*del(structbus*head)
{
structbus*p1,*p2;
charn[100];
printf("tt输⼊你要删除站点的名称n");
printf("tt");
scanf("%s",n);
if(head==NULL)
printf("链表为空n");
else
{
p1=head;
while(strcmp(n,p1->name)!=0&&p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if(strcmp(n,p1->name)==0)
{
if(head==p1)
{
head=head->next;
}
else
{
p2->next=p1->next;
}
p1=p1->next;
while(p1!=NULL)
{
p1->num=p1->num-1;
p1=p1->next;
}
}
else
{
printf("tt没有该站点n");
}
}
returnhead;
}
/*加⼊新站点*/
structbus*insert(structbus*head)
{
structbus*temp,*p1,*p2;
intn;
printf("tt请输⼊你想添加到那个站点前(站点序号)n");
printf("tt");
scanf("%d",&n);
printf("tt请输⼊站点序号及站点信息n");
temp=(structbus*)malloc(len);
printf("tt");
scanf("%d%sn",&temp->num,temp->name);
temp->next=NULL;
if(head==NULL)
{
head=temp;
}
else
{
p1=head;
while(n!=p1->num&&p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if(n==p1->num)
{
p2->next=temp;
temp->next=p1;
while(p1!=NULL)
{
p1->num=p1->num+1;
p1=p1->next;
}
}
else
{
printf("tt没有该节点");
}
}
returnhead;
}
//保存数据
voidsave(structbus*head1,structbus*head2)
{
FILE*fp;
structbus*p1,*p2,*p3;
p3=(structbus*)malloc(len);
p3->num=21568;
if((fp=fopen("","wb"))==NULL)
{
printf("打不开⽂件n");
exit(0);
}
else
{
printf("n保存中n");
p1=head1;
p2=head2;
while(1)
{
fwrite(p1,len,1,fp);
p1=p1->next;
if(p1==NULL)
{
break;
}
}
fwrite(p3,len,1,fp);
while(1)
{
fwrite(p2,len,1,fp);
p2=p2->next;
if(p2==NULL)
{
break;
}
}
fclose(fp);
printf("保存成功n");
}
}
//读取车站信息
structbus*load()
{
structbus*p1,*p2,*head1=NULL,*p3,*p4,*head2=NULL;
FILE*fp;
p1=(structbus*)malloc(len);
p3=(structbus*)malloc(len);
head1=p1;
head2=p3;
fp=fopen("","rb");
while(!feof(fp))
{
if(fread(p1,sizeof(structbus),1,fp)!=1)
{
break;
}
if(p1->num==21568)
{
break;
}
p1->next=(structbus*)malloc(len);
p2=p1;
p1=p1->next;
}
p2->next=NULL;
while(!feof(fp))
{
if(fread(p3,sizeof(structbus),1,fp)!=1)
break;
p3->next=(structbus*)malloc(len);
p4=p3;
p3=p3->next;
}
p4->next=NULL;
fclose(fp);
printf("打开⽂件夹成功n");
head1->next2=head2;
returnhead1;
}
/*修改站点信息函数*/
structbus*edit(structbus*head)
{
structbus*p1,*p2;
charn[100];
printf("tt请输⼊您想修改的站点名称n");
printf("tt");
scanf("%s",n);
if(head==NULL)
{
printf("tt信息为空n");
}
else
{
p1=head;
while(strcmp(n,p1->name)!=0&&p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if(strcmp(n,p1->name)==0)
{
printf("tt请输⼊修改后的站点名称n");
printf("tt");
scanf("%s",p1->name);
}
else
{
printf("tt没有找到该站点");
}
}
returnhead;
}
voidpa();
/*管理员菜单*/
voidmanage(structbus*head)
{
intn;
intc,e;
while(1)
{
printf("tt-------------------------!欢迎您,管理员!--------------------------------n");
printf("tt---------------------------------------------------------------------------n");
printf("tt-------------------------输⼊1创建新公交线路-------------------------------n");
printf("tt-------------------------输⼊2删除公交站点---------------------------------n");
printf("tt-------------------------输⼊3插⼊新公交站点-------------------------------n");
printf("tt-------------------------输⼊4储存公交线路---------------------------------n");
printf("tt-------------------------输⼊5输出站点信息---------------------------------n");
printf("tt-------------------------输⼊6修改站点信息---------------------------------n");
printf("tt-------------------------输⼊7修改密码-------------------------------------n");
printf("tt-------------------------输⼊8返回主菜单-------------------------------------n");
printf("tt---------------------------------------------------------------------------n");
printf("tt");
scanf("%d",&n);
switch(n)
{
case1:head=creat();break;
case2:
while(1)
{
printf("tt请选择你要操作的公交车102/29n");
printf("tt");
scanf("%d",&c);
if(c==102)
{
head=del(head);
}
else
{
head->next2=del(head->next2);
}
printf("tt是否要继续删除1/0n");
printf("tt");
scanf("%d",&e);
if(e==0)
{
break;
}
}
break;
case3:
printf("tt请选择你要操作的公交车102/29n");
printf("tt");
scanf("%d",&c);
if(c==102)
{
head=insert(head);
}
else
{
head->next2=insert(head->next2);
}
break;
case4:save(head,head->next2);break;
case5:
printf("tt请选择你要输出的公交车102/29n");
printf("tt");
scanf("%d",&c);
if(c==102)
{
list(head);
}
else
{
list(head->next2);
}
break;
case6:
printf("tt请选择你要修改的的公交车102/29n");
printf("tt");
scanf("%d",&c);
if(c==102)
{
head=edit(head);
}
else
{
head->next2=edit(head->next2);
}
break;
case7:/*修改密码*/pa();break;
default:return;
}
if(n==8)
break;
}
}
voidsearch(structbus*head);
/*乘客查询菜单*/
voidfind(structbus*head)
{
intn,c;
printf("tt---------------------------------------------------------------------------n");
printf("tt------------------------输⼊1查询公交线路----------------------------------n");
printf("tt-------------------------输⼊2查询公交车途经的公交站点---------------------n");
printf("tt-------------------------输⼊3输出公交线路---------------------------------n");
printf("tt---------------------------------------------------------------------------n");
printf("tt");
scanf("%d",&n);
switch(n)
{
case1:search(head);break;
case2:head=del(head);break;
case3:
printf("tt请选择你要输出的公交车102/29n");
printf("tt");
scanf("%d",&c);
if(c==102)
{
list(head);
}
else
{
list(head->next2);
}
break;
}
}
voidpassword(structbus*head)
{
chara[100];
inti;
printf("tt请输⼊您的密码n");
printf("tt");
for(i=0;i<100;i++)
{
a[i]=getch();
if(a[i]=='r')
break;
printf("*");
}
a[i]='0';
printf("n");
if(strcmp(a,password1)==0)
{
manage(head);
}
else
{
printf("密码错误n");
}
}
//修改密码函数
voidpa()
{
chara[100],b[100],c[100];
inti;
while(1)
{
//判断原密码是否正确
printf("请输⼊您的原密码n");
for(i=0;i<100;i++)
{
a[i]=getch();
if(a[i]=='r')
{
break;
break;
}
printf("*");
}
a[i]='0';
printf("n");
if(strcmp(a,password1)!=0)
{
printf("密码错误,请再次输⼊");
}
if(strcmp(a,password1)==0)
{
//输⼊密码为原密码时跳出循环
break;
}
}
//两次密码不⼀致
while(1)
{
printf("请输⼊您修改后的密码n");
for(i=0;i<100;i++)
{
b[i]=getch();
if(b[i]=='r')
{
break;
}
printf("*");
}
b[i]='0';
printf("n");
printf("请再次输⼊修改后的密码n");
for(i=0;i<100;i++)
{
c[i]=getch();
if(c[i]=='r')
{
break;
}
printf("*");
}
c[i]='0';
printf("n");
if(strcmp(b,c)!=0)
{
printf("两次输⼊的密码不⼀致,请重新输⼊n");
}
else
{
//两次密码输⼊⼀致时跳出循环
break;
}
}
strcpy(password1,c);
printf("修改成功n");
}
//链表逆序函数
structbus*oppsite(structbus*head)
{
intc=head->num,d;
structbus*p1,*p2,*p3;
while(c--)
{
p1=head;//p1指向第⼀个
p2=head->next;//p2指向第⼆个
p3=p2->next;//p3指向第三个
p3=p2->next;//p3指向第三个
d=c;
while(d!=0)
{
d--;
if(p3!=NULL&&p1!=NULL&&p2!=NULL)
{
if(p2->numnum)
{
p2->next=p3->next;//如果第⼆个⼤于第三个两个交换,p2的next给p3
p1->next=p3;//p1的下个等于p3
p3->next=p2;//p3后⾯为p2,则p2在三位,p3在⼆位
p1=p3;//p1再从原先的⼆位置p3开始
p3=p2->next;//p3为p2的后⾯第四个位置
}
else
{
p1=p2;//如果p2⼩于p3整体向后移
p2=p3;
p3=p3->next;
}
}
}
}
returnhead;
}
//⽤户查询公交线路函数
voidsearch(structbus*head)
{
structbus*head1,*head2,*o1,*o2;
structbus*p1,*p2,*p3,*p4,*p5,*p6;
structbus*q1,*q2,*q3,*q4,*q5,*q6,*p7;
intflag[4],i,j,flag2[4];
chara[100],b[100];
for(i=0;i<4;i++)
{
flag[i]=0;
}
head1=head;
head2=head->next2;
printf("tt请输⼊您的起点n");
printf("tt");
scanf("%s",a);
printf("tt请输⼊您的终点n");
printf("tt");
scanf("%s",b);
//p1先是公交1的头结点,然后利⽤P1遍历公交1链表查找,P2记录P1找到的位置。
//p3⽤于遍历公交1中的终点P4记录P3最终位置
//p6也⽤来记录P1的位置,之后再利⽤P6查找两辆公交车相同站点
//q1先是公交1的头结点,然后利⽤q1遍历公交1链表查找,q2记录q1找到的位置
//q3⽤来遍历公交2的结点的终点
p1=head1;
p3=head1;
p5=head1;
q1=head2;
q5=head2;
q3=head2;
/*--------------------------------------------正序------------------------------*/
//找第⼀辆公交车的起点
while(strcmp(a,p1->name)!=0&&p1->next!=NULL)
{
p1=p1->next;
}
if(strcmp(a,p1->name)==0)
if(strcmp(a,p1->name)==0)
{
//如果找到,则标记变量为1
flag[0]=1;
p2=p1;
p6=p1;
}
//找第⼀辆公交车的终点
while(strcmp(b,p3->name)!=0&&p3->next!=NULL)
{
p3=p3->next;
}
if(strcmp(b,p3->name)==0)
{
flag[1]=1;
p4=p3;
p7=p3;
}
//找第⼆辆公交车的起点
while(strcmp(a,q1->name)!=0&&q1->next!=NULL)
{
q1=q1->next;
}
if(strcmp(a,q1->name)==0)
{
flag[2]=1;
q2=q1;
q6=q1;
}
//找第⼆辆公交车的终点
while(strcmp(b,q3->name)!=0&&q3->next!=NULL)
{
q3=q3->next;
}
if(strcmp(b,q3->name)==0)
{
flag[3]=1;
q4=q3;
}
//判断正逆序
//如果为正序,不进⾏操作,如果为逆序,将链表进⾏逆序操作
//第⼀辆公交车
if(flag[1]==1&&flag[0]==1)
{
//同⼀辆车上判断站点序号⼤⼩来确定正序逆序
if(p1->num>p3->num)
{
head1=oppsite(head1);
p1=head1;
p3=head1;
//------------------------------------
while(strcmp(a,p1->name)!=0&&p1->next!=NULL)
{
p1=p1->next;
}
if(strcmp(a,p1->name)==0)
{
//如果找到,则标记变量为1
flag[0]=1;
p2=p1;
p6=p1;
}
//找第⼀辆公交车的终点
while(strcmp(b,p3->name)!=0&&p3->next!=NULL)
{
{
p3=p3->next;
}
if(strcmp(b,p3->name)==0)
{
flag[1]=1;
p4=p3;
p7=p3;
}
//----------------------------------------------------
}
}
//第⼆辆公交车判断开始
if(flag[2]==1&&flag[3]==1)
{
if(q1->num>q3->num)
{
head2=oppsite(head2);
q1=head2;
q3=head2;
//--------------------------------------
//找第⼆辆公交车的起点
while(strcmp(a,q1->name)!=0&&q1->next!=NULL)
{
q1=q1->next;
}
if(strcmp(a,q1->name)==0)
{
flag[2]=1;
q2=q1;
q6=q1;
}
//找第⼆辆公交车的终点
while(strcmp(b,q3->name)!=0&&q3->next!=NULL)
{
q3=q3->next;
}
if(strcmp(b,q3->name)==0)
{
flag[3]=1;
q4=q3;
}
//-------------------------------------
}
}
//----第⼆辆结束
//-----起点在第⼀辆,终点在第⼆辆
if(flag[0]==1&&flag[1]==0&&flag[2]==0&&flag[3]==1)
{
o1=head1;
while(1)
{
o2=head2;
while(1)
{
if(strcmp(o1->name,o2->name)==0||o2->next==NULL)
{
break;
}
o2=o2->next;
}
if(strcmp(o1->name,o2->name)==0||o1->next==NULL)
{
{
break;
}
o1=o1->next;
}
if(p1->num>o1->num&&q3->numnum)
{
head1=oppsite(head1);
head2=oppsite(head2);
p1=head1;
q3=head2;
//找第⼀辆公交车的起点
while(strcmp(a,p1->name)!=0&&p1->next!=NULL)
{
p1=p1->next;
}
if(strcmp(a,p1->name)==0)
{
//如果找到,则标记变量为1
flag[0]=1;
p2=p1;
p6=p1;
}
//找第⼆辆公交车的终点
while(strcmp(b,q3->name)!=0&&q3->next!=NULL)
{
q3=q3->next;
}
if(strcmp(b,q3->name)==0)
{
flag[3]=1;
q4=q3;
}
}
if(p1->numnum&&q3->num>o1->num)
{
//正序
}
if(p1->num>o1->num&&q3->num>o1->num)
{
//先逆序再正序
head1=oppsite(head1);
p1=head1;
q3=head2;
//找第⼀辆公交车的起点
while(strcmp(a,p1->name)!=0&&p1->next!=NULL)
{
p1=p1->next;
}
if(strcmp(a,p1->name)==0)
{
//如果找到,则标记变量为1
flag[0]=1;
p2=p1;
p6=p1;
}
//找第⼆辆公交车的终点
while(strcmp(b,q3->name)!=0&&q3->next!=NULL)
{
q3=q3->next;
}
if(strcmp(b,q3->name)==0)
{
flag[3]=1;
q4=q3;
}
}
}
if(p1->numnum&&q3->numnum)
{
//先正序再逆序
head2=oppsite(head2);
p1=head1;
q3=head2;
//找第⼀辆公交车的起点
while(strcmp(a,p1->name)!=0&&p1->next!=NULL)
{
p1=p1->next;
}
if(strcmp(a,p1->name)==0)
{
//如果找到,则标记变量为1
flag[0]=1;
p2=p1;
p6=p1;
}
//找第⼆辆公交车的终点
while(strcmp(b,q3->name)!=0&&q3->next!=NULL)
{
q3=q3->next;
}
if(strcmp(b,q3->name)==0)
{
flag[3]=1;
q4=q3;
}
}
}
//-----起点在第⼆辆,终点在第⼀辆
if(flag[0]==0&&flag[1]==1&&flag[2]==1&&flag[3]==0)
{
o1=head1;
while(1)
{
o2=head2;
while(1)
{
if(strcmp(o1->name,o2->name)==0||o2->next==NULL)
{
break;
}
o2=o2->next;
}
if(strcmp(o1->name,o2->name)==0||o1->next==NULL)
{
break;
}
o1=o1->next;
}
if(q1->numnum&&p3->num>o1->num)
{
//正序
}
if(q1->num>o1->num&&p3->num>o1->num)
{
//先逆后正
head1=oppsite(head1);
q1=head2;
p3=head1;
//找第⼀辆公交车的终点
//找第⼀辆公交车的终点
while(strcmp(b,p3->name)!=0&&p3->next!=NULL)
{
p3=p3->next;
}
if(strcmp(b,p3->name)==0)
{
flag[1]=1;
p4=p3;
p7=p3;
}
//找第⼆辆公交车的起点
while(strcmp(a,q1->name)!=0&&q1->next!=NULL)
{
q1=q1->next;
}
if(strcmp(a,q1->name)==0)
{
flag[2]=1;
q2=q1;
q6=q1;
}
}
if(q1->numnum&&p3->numnum)
{
//先正后逆
head2=oppsite(head2);
q1=head2;
p3=head1;
//找第⼀辆公交车的终点
while(strcmp(b,p3->name)!=0&&p3->next!=NULL)
{
p3=p3->next;
}
if(strcmp(b,p3->name)==0)
{
flag[1]=1;
p4=p3;
p7=p3;
}
//找第⼆辆公交车的起点
while(strcmp(a,q1->name)!=0&&q1->next!=NULL)
{
q1=q1->next;
}
if(strcmp(a,q1->name)==0)
{
flag[2]=1;
q2=q1;
q6=q1;
}
}
if(q1->num>o1->num&&p3->numnum)
{
head1=oppsite(head1);
head2=oppsite(head2);
q1=head2;
p3=head1;
//找第⼀辆公交车的终点
while(strcmp(b,p3->name)!=0&&p3->next!=NULL)
{
p3=p3->next;
}
if(strcmp(b,p3->name)==0)
{
flag[1]=1;
flag[1]=1;
p4=p3;
p7=p3;
}
//找第⼆辆公交车的起点
while(strcmp(a,q1->name)!=0&&q1->next!=NULL)
{
q1=q1->next;
}
if(strcmp(a,q1->name)==0)
{
flag[2]=1;
q2=q1;
q6=q1;
}
}
}
//当在两辆车上的起点终点都被找到时,计算哪辆车上经过的站数较少
//优先推荐站数较少的⽅法
if(flag[0]==1&&flag[1]==1&&flag[2]==1&&flag[3]==1)
{
i=0;
j=0;
while(1)
{
i++;
if(p1==p3)
{
break;
}
p1=p1->next;
}
while(1)
{
j++;
if(q1==q3)
{
break;
}
q1=q1->next;
}
if(i>j)
{
while(1)
{
printf("%d%s",q2->num,q2->name);
if(q2==q3)
{
break;
}
q1=q1->next;
}
}
else
{
while(1)
{
printf("%d%s",p2->num,p2->name);
if(p2==p3)
{
break;
}
p1=p1->next;
}
}
}
}
//当起点终点都在第⼀辆车找到时
if((flag[0]==1&&flag[1]==1&&flag[2]==0&&flag[3]==0)||(flag[0]==1&&flag[1]==1&&flag[2]==1&&flag[3]==0)||(flag[0]==1&&flag[1]==1&&flag[2]==0&&flag[3]==1))
{
while(1)
{
printf("%d.%s->",p2->num,p2->name);
if(p2==p3)
{
break;
}
p2=p2->next;
}
}
//当起点终点都在第⼆辆车找到时
if((flag[0]==1&&flag[1]==0&&flag[2]==1&&flag[3]==1)||(flag[0]==0&&flag[1]==1&&flag[2]==1&&flag[3]==1)||(flag[0]==0&&flag[1]==0&&flag[2]==1&&flag[3]==1))
{
printf("乘坐%s车n",head2->name);
while(1)
{
printf("%d%s",q2->num,q2->name);
if(q2==q3)
{
break;
}
q2=q2->next;
}
}
//当在第⼀辆公交车找到起点,第⼆辆公交车找到终点
if(flag[0]==1&&flag[1]==0&&flag[2]==0&&flag[3]==1)
{
//找两辆公交车的相同站点
while(1)
{
q5=head2;
while(1)
{
//当站点名称相同或q5⾛到q4时跳出内层循环
if(strcmp(q5->name,p6->name)==0||q5==q4)
{
printf("1");
break;
}
q5=q5->next;
}
//当站点名称相同时,跳出外层循环
if(strcmp(q5->name,p6->name)==0)
break;
p6=p6->next;
}
//输出公交1起点到达转车站的路线
printf("尊敬的乘客朋友n以下是我们为您规划的路线n");
printf("先乘坐%sn",head1->name);
while(1)
{
printf("%d%s-->",p2->num,p2->name);
if(p2==p6)
break;
p2=p2->next;
}
printf("n");
//输出转车站到终点的路线
printf("再乘坐%sn",head2->name);
printf("再乘坐%sn",head2->name);
while(1)
{
printf("%d%s-->",q5->num,q5->name);
if(q4==q5)
{
printf("n");
break;
}
q5=q5->next;
}
}
//起点在⼆路上,终点在⼀路车上
if(flag[0]==0&&flag[1]==1&&flag[2]==1&&flag[3]==0)
{
//找两辆公交车的相同站点
//p4为在第⼀辆公交车找到的终点位置
//q6和q2为在第⼆辆公交车的起点位置
while(1)
{
p4=head1;
while(1)
{
//当站点名称相同或q5⾛到q4时跳出内层循环
if(strcmp(q6->name,p4->name)==0||p4==p7)
{
break;
}
p4=p4->next;
}
//当站点名称相同时,跳出外层循环
if(strcmp(q6->name,p4->name)==0)
{
break;
}
q6=q6->next;
}
//输出公交1起点到达转车站的路线
printf("尊敬的乘客朋友n以下是我们为您规划的路线n");
printf("先乘坐%sn",head2->name);
while(1)
{
printf("%d%s-->",q2->num,q2->name);
if(q2==q6)
{
break;
}
q2=q2->next;
}
printf("n");
//输出转车站到终点的路线
printf("再乘坐%sn",head1->name);
while(1)
{
printf("%d%s-->",p4->num,p4->name);
if(p4==p7)
{
printf("n");
break;
}
p4=p4->next;
}
}
}
/*-------------------------------正序------------------------------------------*/
/*-------------------------------逆序------------------------------------------*/
/*-------------------------------逆序------------------------------------------*/
}
voidlogin()
{
}
intmain()
{
structbus*head1,*head2;
head1=load();
inta;
while(1)
{
printf("tt*************************欢迎光临公交车管理系统*****************************n");
printf("tt**n");
printf("tt**n");
printf("tt**n");
printf("tt*输⼊1管理员登录*n");
printf("tt*输⼊2乘客查询*n");
printf("tt**n");
printf("tt**n");
printf("tt**n");
printf("tt****************************************************************************n");
printf("tt");scanf("%d",&a);
switch(a)
{
case1:password(head1);break;
case2:find(head1);break;
default:printf("请输⼊正确的数字n");
}
}
}
/*
28102路
1葛家庄
2和平路燕⼦⼭路
3燕⼦⼭⼩区
4和平路⼭⼤路
5和平路历⼭东路
6和平路⼭师东路
7⼭东新闻⼤厦
8⼤街
9银座商城
10泉城⼴场
11趵突泉南门
12饮虎池
13杆⽯桥
14经七纬⼆
15经七纬四
16经七路⼩纬
17经七纬⼋
18经七纬⼗⼆
19经七路振兴
20经七路西⼝
21南⾟庄
22南⾟庄街南
23试验机⼚
24王官庄
25王官庄⼩区
26青龙⼭⼩区
26青龙⼭⼩区
27后龙
28济南⼤学
*/
/*
2529路
1天桥南
2站前路南⼝
3⼤观园
4经四纬三
5⼭东省眼科医院
6省⽴医院
7经四纬⼗
8纬⼗⼆路经
9纬⼗⼆路经
10经⼗路德兴街
11经⼗路经七路
12南⾟庄
13南⾟庄西路
14试验机⼚
15王官庄
16王官庄⼩区
17青龙⼭长途客运站
18后龙
19济南⼤学
20七贤⼴场
21七贤庄
22⽂庄
23⽂庄西
24⽯房峪⼭隧道
25⽂贤居
*/