1、C语言课程设计 数据结构课程设计Course Design of Data Structure姓名:吴鑫生 学号:3112113136指导老师:潘策 时间:2012年6月7日目 录1需求分析说明 -32概要设计说明 -53详细设计说明 -64调试分析 -95用户使用说明 -106课程设计总结 -127参考书目 -138致谢 -14 需求分析说明设计一个航空客运定票系统,基本要求如下: 1、 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。2、 系统能实现
2、的操作和功能如下:1) 查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;2) 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;3) 承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。3、 实现提示:两个客户名单可分别由线性表和队列实现。为查找方便,已订
3、票客户的线性表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。由于预约人数无法预计,队列也应以链表作为存储结构。概要设计说明 详细设计说明 从主函数main开始,根据对不同函数的选择调用不同的功能函数,完成航班信息添加,飞机信息查询,候补名单查询,订票,退票,添加候补名单的功能。 以下是对不同功能函数运用和功能的基本介绍:1. 函数fgraetlist()的功能是添加航班信息(航班名 航班号 飞机飞往的城市 飞行日期 飞机的载客量),在主函数main()的switch()的case 1 中调用此函数。然后执行函数进行添加航班信息,每添加一架航班信息后会提醒是否继续添加,否则退
4、出。2. 函数candidate()的功能是候补名单添加(姓名 身份证号 订票数量 要去的城市)在主函数main()的switch()的case 6 中调用此函数。然后执行函数进行添加候补客户的信息,添加成功后会有信息提示添加成功。3. 函数search()的功能是航班信息查询(航班名 航班号 飞机飞往的城市 飞行日期 余票数),在主函数main()的switch()的case 2 中调用此函数。然后执行函数进行查询航班信息。4. 函数searchcanedidate()的功能候补名单信息查询(姓名 身份证号 订票数量 要去的城市),在主函数main()的switch()的case 3 中调用
5、此函数。然后执行函数进行,候补名单信息查询,查询可以是全部名单信息,也可以单个客户的信息。5. 函数bookticket()的功能是订票,在主函数main()的switch()的case 4 中调用此函数。然后执行函数进行订票,订票时如果航班的余票数不足,可以添加到候补名单中。6. 函数quit()的功能是退票,在主函数main()的switch()的case 5中调用此函数。然后执行函数进行退票。调试分析 调试过程遇到的问题:.头指针处理不当 在建立头结点后进行创建单链表时,没有注意头结点数据域没有处理好,导致输出数据时第一项数据总出错。.函数调用过程中,数据的传输错误: 函数调用时,因为指
6、针没有正确处理,把错误或者不明数据输出。检查发现,是指针指向了下一结点或者指向不明结点,把错误结点的数据传输到被调用的函数,从而出错。.do.while()和switch语句没有真确认识和运用: do.while()的使用时,是先执行再判断的。而switch() 语句中在执行case后的语句后都要以break结束。因为上述两个语句没有真确使用,导致错误。 用户使用说明 进入功能界面,用户会看到不同的选项,可根据需要选择。选择1.添加航班,会提示你应该输入的信息。输如航班信息后可以查询你所输入的信息。输入你要去往的城市名称,可以进行订票服务。如果票数不足,会提示是否加入候补名单中。其他的功能操作
7、和上述的功能操作基本相同。 课程设计总结经过C语言课程设计实践学习,使我对c语言有了更进一步的认识和了解。通过实践,我对程序编写的整体结构有了更加清晰的了解,同时也加强了自己的动手能力和发现错误的能力,不过我也发现我的好多不足之处,比如对c语言的知识没有牢固的掌握,编写过程中常有低级错误的出现,再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉。通过实践,使我在这几个方面的认识有所提高。我认为要学好c语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。参考书目 c程序设计(第四版) 谭浩强 著c程序设计(第四版) 学习指导 谭浩强 著致 谢首先感谢我的指导老师潘策老师,她在我的课程设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。再有我的同学在设计完成后对程序的测试,没有他们,也许就难以发现一些潜在的错误,在此一并表示感谢。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1