软件131-第2组-程序设计书 联系客服

发布时间 : 星期一 文章软件131-第2组-程序设计书更新完毕开始阅读69102cb53968011ca30091ac

《数据结构》课程设计报告

信息工程学院 软件工程专业

题目:学生会信息管理系统(单链表应用)

班级:软件131班 第二组

组员:

姓名:侯 云 学号:2013306040102 姓名:赵崇智 学号:2013306040137

指导老师:曲朝阳、郭晓利、刘志颖

日期:2014年12月25日

1

程序设计书目录

一、程序设计目标 二、问题描述

三、需求分析(说明课程设计的任务)

四、概要设计(说明课程设计中用到的抽象数据类型的定义、主程序的流程以及各程序模块之间的调用关系等)

五、详细设计(实现程序模块的具体算法)

六、软件说明书(给出软件应如何使用,使用时的注意事项)

七、源程序清单(要求400行以上,要有注释说明)

八、测试报告(调试过程中遇到的问题及解决方法,并列出测试结果,包括输入和输出)

九、课程设计总结

2

一、程序设计目标

1. 掌握链表的概念及链表的操作,并理解链表与数组的不同点及优缺点; 2. 掌握链表的概念及链表的操作,并理解链表与数组的不同点及优缺点; 3. 掌握文件和文件指针的定义及文件建立,打开,关闭,读写、保存等的操作方法; 4. 掌握指针变量和指向指针的指针变量的定义及使用,进一步了解指向结构体指针变量的概念及使用方法;

5. 能够采用模块化思想调试程序;

6. 掌握结构体类型变量的定义和使用;

7. 掌握数组的定义,赋值引用及输入输出方法,并正确用字符数组储存字符串,学会字符串的使用

8. 掌握if语句及switch语句的运用方法及嵌套应用方法;

9. 掌握实现循环结构的三种语句while、 do-while.、for 的使用; 10.掌握C语言函数的定义,声名及调用方法和调用过程; 11.掌握C语言主函数和被调用函数之间的参数传递方式,学会函数的嵌套调用和递归调用的过程和方法;

12.掌握C语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值,掌握不同的类型数据之间的赋值规律,赋值使用方法;

二、问题描述

设计一系统,实现学生会定期对成员信息进行操作,可以添加新成员,然后职务或姓名进行查询,修改等。

首先添加学生会成员信息,存在单链表中,然后存到文件中。当需要对已有信息的文件进行查找,修改,删除等操作时,可以从文件中读出个成员的信息。 编写程序并进行调试运行实现以下功能:

1. 输入成员信息并保存于文件,每个成员包含信息如:姓名、年龄、手机号码、职务;

2. 对已存入的成员信息进行更新操作,包括添加一个成员信息、删除某个成员信息和修改某个成员信息; 3. 通过输入职务、姓名、手机号码、和精确查找(同时输入姓名、年龄、手机号码、)的方式查询成员信息;

4. 可以通过职务来统计成员信息; 5. 可以将输入的学生会命名和保存; 6. 可以输出单个或者整个成员信息;

7. 在查找、修改和删除等方面人性化设计,多种选择;

三、需求分析

该系统需要6个子函数,分别为:建立,查询,修改,插入,删除,输出。6个子函数对未建立或者建立的学生会成员信息进行相应的操作

为某学院建立一个学生会信息管理系统,可以方便查询每一个成员的职务、姓名、

3

性别、及手机号。其功能包括学生会链表的建立、学生会成员信息的查询、修改、插入与删除、以及整个学生会成员信息表的输出。 由此可见,本系统的主要需求可概括为:插,查,修,删,出。 每部分都涉及了链表的相关知识。

1、建立链表:

头插法和尾插法:头插法是将每次新插入的结点插入在链表的表头,而尾插法是将新插入的结点插入到链表的表尾。本学生会信息管理系统建立中采用的是尾插法建立的。

2、插入链表。 3、链表查询:

首先输入要查找的成员的姓名或手机号码或职务或姓名、年龄、手机号码同时输入精确查找,然后从表头顺序访问表中结点,查找成功则返回指向查找的通讯者信息的结点,否则返回一个空的指针。

4、链表删除:

首先输入要查找的成员的职务或者姓名,然后从表头顺序访问表中结点,寻到节点以后,删除结点即可。

5、学生会信息输出。

四、概要设计

4.1

建立一个学生会成员信息的结构体,即一个记录每个成员信息属性的单链表。在建立6个操作子函数,分别对成员信息进行建立,查询,修改,插入,删除,输出。

对各个模块进行功能的描述

(1).输入模块:

录入需要管理的学生会信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。 (2).添加模块:

可添加一个或多个学生会员的个人信息,并将所添加的信息保存,方便查找。 (3).删除模块:

可对失去联系的成员个人信息做删除处理。

(4).修改模块:

可对学生会信息发生改变的成员信息进行修改。 (5).查询模块:

可对已建立的成员信息进行查询,并且可根据需要选择按姓名查询或按手机号码查询。

(6).保存模块:

用于对学生会信息进行保存。

(7).输出模块:

4