資源簡介
公交查詢系統(tǒng)源碼,應(yīng)用鏈表數(shù)據(jù)結(jié)構(gòu)存取公交信息,并吧信息保存于文件中
代碼片段和文件信息
#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);//把結(jié)構(gòu)體保存到文件中
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(“請選擇您要執(zhí)行的操作\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“l(fā)ine_num);
???if(p==?NULL)
???printf(“沒有次線路信息\n“);
???else
???????p=?find_line_num(headline_num);
???printf(“線路號:%s\n“p->bus.line_num);?
???????????????????printf(“總站數(shù):%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(“總站數(shù):%d\n“p->bus.count_st);
printf(“總里程:%.1f?\n“p->bus.kilo)
- 上一篇:51單片機串口控制io帶動氣缸運動
- 下一篇:多聚焦圖像融合C++實現(xiàn)
評論
共有 條評論