基于模块设计的逻辑关系和初始化机制

需积分: 0 0 下载量 56 浏览量 更新于2024-08-04 收藏 438KB DOCX 举报
各模块设计说明1 本文将对各模块设计说明1进行详细的知识点总结,涵盖初始化模块、输入输出模块、搜索模块等多个方面。 **初始化模块** 在初始化模块中,我们可以看到firstinput.cpp、graph.cpp和mainwindow.cpp三个文件的部分功能被组合在一起。firstinput负责初始化整个系统的初始时间和初始城市,默认情况下,所有乘客都在同一城市出发。 * 初始化模块的主要功能是提供系统的初始参数,包括初始时间和初始城市。 * sendCity和sendTime过程负责向主窗口传递这两个参数,如果用户拒绝初始化,直接选择close按键,那么程序会自动退出。 **图结构初始化** 图结构的初始化是通过类Graph中的构造函数来完成的,即tg一旦被申请,它就完成了相应的初始化。图的初始化有两种方式: * Graph();为无参构造函数,这个函数提供了早期的测试方法,通过固定的点和边进行简单的小范围的测试,适合在程序开发初期验证算法的正确性。 *过程Graph(QString&file_name);是图的主要初始化手段,通过传入一个文件名参数,从文件中获取图的一切信息,这个过程是高度自动化的,避免任何信息被“写死”在程序中。 **其他初始化** 其他重要内容的初始化例如乘客信息数组TSTarr_tst[MAX_TST];,这个数组在mainwindow中通过宏时间轮询宏__MUTI_TST_LOOP__完成初始化。 **输入输出模块** 输入输出模块主要由input.cpp负责参数的接受、传值,为算法正确执行提供参数保障。输出由mainwindow.cpp中的图形化输出和文件输出为主。 * INPUT按钮被置于主窗口的右上角,是一个点击即可发生的事件按钮。INPUT按钮使得在任何时候可以呼出input对话框并同时阻塞主线程的运行。 * search.cpp使得程序可以随时响应查询用户状态的SEARCH请求。 **搜索模块** 搜索模块主要由search.cpp负责,提供了查询用户状态的功能。 * SEARCH请求的实现是通过search对话框来完成的,该对话框可以查询任何用户的状态,同时阻塞掉主窗口。 各模块设计说明1涵盖了初始化模块、输入输出模块、搜索模块等多个方面,为后续的算法和状态转移提供了重要的参数保障。