数据结构课程设计代码

文件一:bus.h

/**************************************************
* Copyright (c) 2015, 烟台大学计算机与控制工程学院 

* All rights reserved. 

* 文件名称:main.cpp,btree.h,btree.cpp 

* 作者:于奎民 

* 完成日期:2015年12月24日

* 版本号:vc++ 6.0


*************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>
#include <string.h>
struct bus
{
	char num[10];//车号
	char driver[50];//司机
	char stime[30];//发车时间
	char start[30];//起始站
	char end[30];//终点站
	int  z;//站数
	char *pr;//指向路线的首指针
	struct bus *next;//下一辆车的结构体
};


//界面函数
void show1();//主菜单界面
void show2();//管  理  菜   单
void show3();//查询菜单界面

//源函数
void initial();	//初始化公交车文件
void modifyr(); //修  改  路  线
void modifyb(); //修  改  汽  车
void delb();	//删  除  汽  车
void lookb();	//公共汽车号查询
void lookr();	//站 台 号 查 询
void save();	//保   存	辆   车
void release();	//清   空   数   据
void newb();	//新   建   汽   车





文件二:bus.cpp

/**************************************************
* Copyright (c) 2015, 烟台大学计算机与控制工程学院 

* All rights reserved. 

* 文件名称:main.cpp,btree.h,btree.cpp 

* 作者:于奎民 

* 完成日期:2015年12月24日

* 版本号:vc++ 6.0


*************************************************/

#include"bus.h"

struct bus *bhead=NULL;//公汽信息的头指针
struct bus *bi=NULL;//公汽信息的最后的指针


void initial()
{
	FILE  *fp;
	fp=fopen("bus.txt","r");//打开bus文件
	if(fp==NULL)			//若无bus文件
	{
		printf("\n\n无公汽信息文件!");
		return;
	}
	fseek(fp,0,SEEK_END);
	int i,n;
	n=ftell(fp)/sizeof(struct bus);
	//printf("\n\n\n\n一共有%d辆公汽!",n);
	rewind(fp);
    struct bus *p;
	//for
	for(i=0;i<n;i++)
	{
		p=(struct bus *)malloc(sizeof(struct bus ));
		fseek(fp,i*sizeof(struct bus),0);
		fread(p,sizeof(struct bus),1,fp);//写入信息,其中地址是无用的信息
		p->next=NULL;//初始化时下一个指向空,都是一个个单独的
		p->pr=NULL;//让路线为空  //路线信息存放在文件名为” 车号 “的文件中;车号是唯一的
		FILE  *fp1;
		fp1=fopen(p->num,"r");
		if(!fp1)
			printf("\n%s号车无初始路线!",p->num);
		else
		{
			char * p1;
			p1=(char *)malloc(p->z*40*sizeof(char) );
			fread(p1,p->z*50*sizeof(char),1,fp1);//将路线写入内存
			p->pr=p1;
			fclose(fp1);
		}
		// printf("\n\n\n\n初始化%s号车路线成功!",p->num);
		//路线信息
		if(bhead==NULL)
			bhead=bi=p;
		else
		{
			bi->next=p;
			bi=p;
	}
	}
	//for结尾
	//printf("\n\n\n\n初始化%d辆车成功!",n);
	fclose(fp);
}

void newb()
{
loop1:
    printf("\n\n\n\n|**|创建新公汽|**|\n\n");
    struct bus *p;
	p=(struct bus  *)malloc(sizeof(struct bus ));
	p->next=NULL;
	p->pr=NULL;
loop2:
	printf("\n请输入新公汽号:\n\n");
	scanf("%s",p->num);
	struct bus *pj=bhead;
	while(pj)
	{
		if(strcmp(pj->num,p->num)==0)
		{
			printf("\n\n错误,该公汽号已经存在!\n\n");
			goto loop2;
		}
		pj=pj->next;
	}
	printf("\n请输入新公汽司机姓名:\n");
	scanf("%s",p->driver);
	printf("\n请输入新路线发车时间\n\n");
	scanf("%s",p->stime);
loop3:
	printf("\n\n\n请输入新路线总站台数(>=2)\n\n");
	scanf("%d",&p->z);
	i
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
航空定票系统 (1)需求分析…………………………………………………………………………3 (2)设计思想…………………………………………………………………………3 数据结构设计…………………………………………………………………3 算法设计………………………………………………………………………5 设计表示………………………………………………………………………6 详细设计………………………………………………………………………8 (3)调试分析…………………………………………………………………………8 (4)用户手册…………………………………………………………………………`9 (5)测试数据及测试结果……………………………………………………………10 (6)源程序清单(略)…………………………………………………………………16 农夫过河问题 (1)需求分析…………………………………………………………………………17 (2)设计思想…………………………………………………………………………17 数据结构设计…………………………………………………………………17 算法设计………………………………………………………………………18 设计表示………………………………………………………………………18 详细设计………………………………………………………………………20 (3)调试分析…………………………………………………………………………21 (4)用户手册…………………………………………………………………………22 (5)测试数据及测试结果……………………………………………………………22 (6)源程序清单(略)…………………………………………………………………23 3.各种查找算法效率比较 (1)需求分析…………………………………………………………………………24 (2)设计思想…………………………………………………………………………24 数据结构设计…………………………………………………………………24 算法设计………………………………………………………………………25 设计表示………………………………………………………………………27 (3)调试分析…………………………………………………………………………33 (4)用户手册…………………………………………………………………………35 (5)测试数据及测试结果……………………………………………………………35 (6)源程序清单(略)…………………………………………………………………40

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值