• 大小: 13KB
    文件类型: .c
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: C/C++
  • 标签: 源码  

资源简介

公交查询系统源码,应用链表数据结构存取公交信息,并吧信息保存于文件中

资源截图

代码片段和文件信息

#include
#include
#include
typedef struct bus_st_name
{
char name1[20];
char name2[20];
char name3[20];
char name4[20];
}BSN;
typedef struct bus_line
{
char line_num[20];
BSN st_name;
int count_st;
float kilo;


}BL;
struct bus_infor
{
BL bus;
struct bus_infor *next;
};
struct bus_infor * creat_list();
void output(struct bus_infor*head);
int save_list(struct bus_infor *head);//把结构体保存到文件中
void insert_last(struct bus_infor *head);
void insert_start(struct bus_infor *head);
void del_node(struct bus_infor *headchar *bus_num);
struct bus_infor *read_file();
struct bus_infor *find_line_num(struct bus_infor *headchar *line_num);
void find_by_bus_num(struct bus_infor *headchar *name);
void modify_bus_line_infor(struct bus_infor *head);
struct bus_infor *fread_file_list();//从文件中读取信息,生成链表
struct bus_infor *sort(struct bus_infor *head);//排序

void menu1();
void menu2();
void menu3();
int main()
{

struct bus_infor *head = NULL;
struct bus_infor *p=NULL;
head = (struct bus_infor*)malloc(sizeof(struct bus_infor));
memset(head0sizeof(struct bus_infor));
p = (struct bus_infor*)malloc(sizeof(struct bus_infor));
memset(p0sizeof(struct bus_infor));
int num = 0;
int sel = 0;
int ret = 0;
char bus_num[10];
char line_num[10];
char name[10];
menu1();
scanf(“%d“&num);
switch(num)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:break;
}
while(1)

{
menu2();
printf(“请选择您要执行的操作\n“);
    scanf(“%d“&sel);
if(sel == 0)
break;
switch(sel)
{
case 1:head = creat_list();
       ret=save_list(head);
   break;
case 2:head=read_file();
       output(head);
   break;
case 3:insert_start(head);
       ret=save_list(head);
   break;
case 4:insert_last(head);
       ret=save_list(head);
   break;
case 5:head=read_file();
       printf(“请输入要删除的公交线路号:\n“);
   scanf(“%s“bus_num);
   del_node(headbus_num);
       ret=save_list(head);
   break;
case 6:head=read_file();
       p=fread_file_list();
       printf(“请输入要查询的线路号\n“);
   scanf(“%s“line_num);
   if(p== NULL)
   printf(“没有次线路信息\n“);
   else
       p= find_line_num(headline_num);
   printf(“线路号:%s\n“p->bus.line_num); 
                   printf(“总站数:%d\n“p->bus.count_st);
   printf(“总里程:%.1f \n“p->bus.kilo);
   printf(“站名:%s %s %s %s\n \n“p->bus.st_name.name1p->bus.st_name.name2p->bus.st_name.name3p->bus.st_name.name4);
   break;
case 7:head=read_file();
       printf(“请输入目的地\n“);
   scanf(“%s“name);
                   find_by_bus_num(headname);
             break;
case 8:head=read_file();
        modify_bus_line_infor(head);
 break;
case 9:head=fread_file_list();
p=sort(head);
    output(head);
/* while(p != NULL)
{
printf(“线路号:%s\n“p->bus.line_num); 
printf(“总站数:%d\n“p->bus.count_st);
printf(“总里程:%.1f \n“p->bus.kilo)

评论

共有 条评论