课程设计交通线路

这是一个公交线路管理系统的代码实现,包括录入、修改、查询线路信息以及密码修改等功能。用户可以进行管理员操作,如添加、修改和查询公交线路,同时支持普通用户查询线路。系统通过文件存储数据,并提供友好的交互界面。
摘要由CSDN通过智能技术生成

void set( )

 {

 bus b;

     fstream f1;

int i=0,t=1;

char c,n[100];

f1.open("1.txt",ios::in|ios::out);

while(1)

{

if(c=='n')

break;

cout<<"请输入要修改的线路(如:116):"<<endl;

scanf("%s",n);

while(!f1.eof())

{

f1.read((char *)&b,sizeof(b));

if(strcmp(n,b.num)==0)

{

t=0;

i=0;

cout<<"请输入修改信息!"<<endl<<endl;

cout<<"请修改始发站:"<<endl;

cin>>b.starname;

cout<<"请修改终点站:"<<endl;

cin>>b.endname;

cout<<"请修改发车时间:"<<endl;

cin>>b.startime;

cout<<"请修改到站时间:"<<endl;

cin>>b.endtime;

cout<<"请修改途经站点:"<<endl;

cin>>b.linename;

f1.seekg(-sizeof(b),ios::cur);

f1.write((char *)&b,sizeof(b));

break;

}

f1.read((char *)&b,sizeof(b));

}

if(t)

{

cout<<"未找到要修改的线路,是否继续修改?(y/n)!"<<endl;

c=getchar();c=getchar();

continue;

}

cout<<"是否继续修改?(y/n):"<<endl;

c=getchar();c=getchar();

}

}

};

void mchange()

{

char x1[20];   

char x2[20];

while(1)

{      

getchar();

cout<<"输入新密码:"<<endl;

gets(x1);

cout<<"再次输入新密码:"<<endl;

gets(x2);

if(strcmp(x1,x2)==0)

{

strcpy(password,x1);

break;

}

else

cout<<"密码不一致:"<<endl;

}

}

void manag()                                                

{  

char x[20];                       //输入次数

while(1)

{

cout<<"请输入密码:"<<endl;

scanf("%s",x);

system("cls");

if(strcmp(x,password)==0)

{

bus a;

cout<<"\t\t         O(∩_∩)O         O(∩_∩)O"<<endl;

cout<<"\t\t                  管理员用户        "<<endl;

cout<<"\t\t                                    "<<endl;

    cout<<"\t\t             1、录入线路信息        "<<endl;

    cout<<"\t\t             2、修改线路信息        "<<endl;

    cout<<"\t\t             3、查询线路信息        "<<endl;

cout<<"\t\t             4、修改用户密码        "<<endl;

cout<<"\t\t             5、返        回        "<<endl;

cout<<"\t\t                                    "<<endl;

cout<<"\t\t                                    "<<endl;

    cout<<"\t\t                                    "<<endl;

cout<<"请输入选择:"<<endl;

cin>>a.q;

while(a.q!=5)  

{

switch(a.q)

{

case 1:a.write();break;   

case 2:a.set();break;

case 3:a.read();break;

case 4:mchange();break;

default:cout<<"输入有误:"<<endl;

}

cout<<"请输入选择:"<<endl;

cin>>a.q;

}

break;

}

else

cout<<"输入密码错误!"<<endl;

}

}

void find()

{

fstream f1;

int i=0,t;

char s='y',n[100];

bus b;

while(1)

{

t=1;

if(s=='n')

break;

cout<<"请输入要查询的线路(如:213):"<<endl;

scanf("%s",n);

f1.open("公交线路管理系统.txt",ios::in|ios::out|ios::app);

while(!f1.eof())

{

f1.read((char *)&b,sizeof(b));

if(strcmp(n,b.num)==0)

{

t=0;

cout<<"始发站:"<<endl;

            

            cout<<"终点站:"<<endl;

          

            cout<<"首发车时间:"<<endl;

            

            cout<<"末班车时间:"<<endl;

           

            cout<<"输入途经的所有站点:"<<endl;

            

f1.close();

break;

}

f1.read((char *)&b,sizeof(b));

}

if(t)

{

f1.close();

cout<<"未找到要查询的线路,是否继续查询?(继续:y,推出:n)!"<<endl;

s=getchar();s=getchar();

}

else

{

cout<<"是否继续查询?(继续:y,推出:n):"<<endl;

s=getchar();s=getchar();

}

}

}

char exit()

{

char w;

//system("cls");

cout<<"\t\t        O(∩_∩)O         O(∩_∩)O"<<endl;

cout<<"\t\t                  退出菜单         "<<endl;

cout<<"\t\t                                   "<<endl;

cout<<"\t\t             1、确      定         "<<endl;

cout<<"\t\t             2、取      消         "<<endl;

cout<<"\t\t                                   "<<endl;

cout<<"\t\t                                   "<<endl;

cout<<"\t\t                                   "<<endl;

cout<<"请输入选择:";

cin>>w;

return w;

}

void main()

{

int a;

char s;

while(1)

{

        system("cls");

cout<<"\t\t        O(∩_∩)O         O(∩_∩)O"<<endl;

cout<<"\t\t                  公交管理         "<<endl;

cout<<"\t\t                                   "<<endl;

    cout<<"\t\t               1、信息查询         "<<endl;

    cout<<"\t\t               2、管理员用户       "<<endl;

    cout<<"\t\t               3、退    出         "<<endl;

cout<<"\t\t                                   "<<endl;

cout<<"\t\t                                   "<<endl;

    cout<<"\t\t                                   "<<endl;

cout<<"请输入选择:";

cin>>a;

switch(a)

{

case 1:find();break;

case 2:manag();break;

case 3:s=exit();break;

}

if(s=='1')

break;

}

cout<<"感谢您使用本公交管理系统。谢谢,再见!"<<endl;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值