1、 高级高级语言程序设计课程设计语言程序设计课程设计 实验报告实验报告 题目:题目: 车票车票信息管理系统信息管理系统 完成日期:完成日期: 2011 年年 12 月月 30 日日 高级语言课程设计.车票信息管理系统 第 1 页 共 11 页 高级语言程序设计高级语言程序设计 车票信息管理系统 一、课程设计目的一、课程设计目的 1、 通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合 理的模块化结构。 2、 通过课程设计,学会设计数据结构。其中包括对结构数组、链表和数据文件等知识 的运用。 3、 通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。 4、
2、 通过课程设计,训练 C 程序调试能力,能将一个中小型各级组织系统联调通过。 5、 通过课程设计,开发一个中小型系统,掌握系统研发全过程。 6、 通话课程设计,培养分析问题、解决实际问题的能力。 二、课程设计内容二、课程设计内容 设计一个实用的车票信息管理系统, 能以简便高效的方式对车票进行管理和检索, 具体 要示: (1) 保存:车票信息包括:车次,始发站,票价,余票。以结构数组或数据文件 的形式存放车票信息。 (2) 更新:能添加、删除,修改车票信息。 (3) 浏览:所有车票信息浏览。 (4) 查询:能实现指定车次查看车次信息。 (5) 系统以菜单方式工作,要求界面友好,易于操作。 三、总
3、体设计三、总体设计 1、模块化设计 为实现系统功能,本程序主要分为六个模块。它们分别为:输入一个车票信息、删除 一个车票信息、查询一个车票信息、添加一个车票信息、列出所有的车票信息、退出并且保 存该程序。这六个函数再通过主函数调用分别得以实现。 主函数,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便 决定使用车票的哪种功能。然后,通过执行多分支选择语句switch 语句,分别实现其它 各个函数的调用功能。 高级语言课程设计.车票信息管理系统 第 2 页 共 11 页 其它各个函数的功能分别如下: Delete 函数用于对车票中指定信息的删除; Search 函数用于对车票中
4、指定信息的查询; Add 函数用于在车票中插入信息; Print 函数用于对车票中所有信息进行浏览; Save 函数用于保存车票信息并且退出。 2、模块调用图 四、详细设计四、详细设计 (1)数据结构设计 本程序中,运用了多种数据结构。首先对于车票中各项详细信息的记录用了结构数组 的形式,然后又运用链表动态地分配内存单元,在 main 函数中,把保存在数组中的值再赋 值给其中的一个结点,通过指针的后移,把多个数据连成一个链,形成一个链表。在这过程 当中, 还运用了数据文件的方式, 每一次从终端输入的数据都以数据文件的形式保存到了磁 盘。 对于主要数据结构的举例如下: 结构数组: 高级语言课程设
5、计.车票信息管理系统 第 3 页 共 11 页 struct ticket char number8; char m50; struct ticket *next; ; 链表: struct ticket a,b,c,d,e,*head,*p; head= a.next= b.next= c.next= d.next= e.next=NULL; p=head; while(p!=NULL) if(strcmp(p-number,number)=0) if(p=head) head=p-next; else pr-next=p-next; p=p-next; pr=p; p=p-next; 高级
6、语言课程设计.车票信息管理系统 第 4 页 共 11 页 数据文件: if(fp=fopen(“ticket.txt“,“r+“)=NULL) printf(“ncannot open this filen“); return; while(p!=NULL) fscanf(fp,“%s %sn“,p-number,p-m); p=p-next; void Save() FILE *fp; struct ticket *p=head; if(fp=fopen(“ticket.txt“,“w“)=NULL) printf(“tcannot open this filen“); exit (0); while(p!=NULL) fprintf(fp,A,p-number,p-m); p=p-next; fclose(fp); printf(“ 感谢使用!n“); 高级语言课程设计.车票信息管理系统 第 5 页 共 11