1、 沈 阳 航 空 航 天 大 学 课程设计 学 号 _ 班 级 _ _ 姓 名 _ _ _ 指导教师 _ _ 年 月 日 沈阳 航空航天大学 设计用纸 I 目录 一、需求分析 . 1 二、设计分析 . 2 三、主要界面截图 . 7 四、技术要点 . 8 五、个人总结 . 10 六、参考文献 .11 七、源程序 .11 沈阳 航空航天大学 设计用纸 1 一、需求分析 经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:录入新教材 信息,添加已有教材,查找教材信息,保存教材函数。在这些函数当中,前三个函数的实现严格按照题目的要求,而最后一
2、个函数用来将修改的函数保存在 book.txt 中。 1. 稳定性分析 指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。 2. 主要功能 分析 ( 1) 录入教材信息 : 允许用户输入 教材名称、作者、出版社、教材册数、编号、售价。 ( 2)查询教材: 允许按照编号和书名对教材的各项信息进行查询; ( 3)添加已有教材 : 通过添加已有教材的同时对教沈阳 航空航天大学 设计用纸 2 材信息的 更改; ( 4)保存教材函数 将执行插入教材信息存入book.txt 中。 除上面介绍的功能之外,程序还具有退出功能,可以在输入修改信息之后
3、实现选择退出。 每一本教材记录都包含编号、作者 、出版社、售价、书名和数量 ,在程序当中,将教材记录类型定义为结构体类型,添加以及追加的教材信息直接写入 book.txt 文件中,其他函数每次对教材记录的访问,其数据来源都是book.txt 文件,这样做不但可以保证教材数据的一致性,而且可以对教材数据进行保存,保证每次运行程序都可以采用原来的数据。 二、 设计分析 主要有 5个功能模块 ,每个模块对应一个 C 语言自定义函数。这些函数原型及其功能简述如下: 1、 教材录入函数说明 这个函数用 static 声明局部变量,使函数调用结束后不消沈阳 航空航天大学 设计用纸 3 失而保留原值。 用只
4、写的方式打开一个文件夹 ( book.txt)把数据项写入指定文件 (book.txt)中。关闭文件。 2、 教材查询的函数 该函数的核心内容是 switch 函数的使用、 for 函数的嵌套使用与 strcmp 比较字符串函数的使用 。 3、 已有 教材添加函数 该函数的核心内容是 if 函数嵌套和 for 函数的使用以及strcmp 比较字符串函数的使用 4、 教材信息保存函数 这个 函数先建立一个文件并把具体的信息存入文件中 1、程序总体结构图 程序结构总图 设置界面函数 新教材信息的录入 教材信息的保存 教材信息的查询 教材信息的更改 沈阳 航空航天大学 设计用纸 4 2、具体功能框图
5、 ( 1)录入新教材信息函数 沈阳 航空航天大学 设计用纸 5 ( 2)查询教材信息 沈阳 航空航天大学 设计用纸 6 ( 3)添加已有教材信息 ( 4)保存教材信息函数 沈阳 航空航天大学 设计用纸 7 三、主要界面截图 图 1 程序主界面 图 2 录入 界面 图 3 查询界面 沈阳 航空航天大学 设计用纸 8 四 、 技术要点 ( 对 本程序 贡献较大 的 C 语言知识点 ;重要算法的设计与实现 ) 1、 结构体的应用 定义了结构体用来 描述 教材的名称、作者、出版社、编号、册数和售价, 具体的 定义 如下 : #define B 1000 typedef struct Book char num20; char name20; char author20; char press20; int count; float shoujia; bookB; struct Book booksB; 所定义的 结构体主要用于定义数组。 2、 文件操作 包括了文件的写入 、 读取 和保存三 个方面 。 例如如下程序段用于 保存教材 信息 : void save() int i = 0; FILE *fp; fp = fopen(“e:book.txt“, “wr“); while(booksi.count 0)