软件技术综合实验课程设计解读(共24页).doc
《软件技术综合实验课程设计解读(共24页).doc》由会员分享,可在线阅读,更多相关《软件技术综合实验课程设计解读(共24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上井冈山大学电子与信息工程学院软件技术综合实验 ( 20152016年度第一学期)课程名称: 软件技术综合实验 学 院: 班 级: 姓 名: 学 号: 任课教师: 成 绩: 2015年 10 月 20 日专心-专注-专业成 绩 评 定一、 指导教师评语二、 成绩成绩备注 指导教师: 日 期: 年 月 日目录一、设计要求11问题描述12需求分析1二、概要设计11.主界面设计12.存储结构设计23系统功能设计2三、模块设计21模块设计22系统子程序及功能设计33函数主要调用关系图3四、详细设计41数据类型定义4五、测试分析61. 通讯录的建立62. 插入通讯记录73. 查询
2、通讯记录74. 删除通讯记录85. 显示通讯录信息8六、用户手册9七、调试报告9学生通讯录管理系统一、设计要求1问题描述 纸质的通讯录已经不能满足大家的要求,容易丢失、查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其他一些需要使用通讯录的人员进行管理和分析的一种应用程序。2需求分析 (1) 输入数据建立通讯录。 (2) 查询通讯录中满足要求的信息。 (3) 插入新的通讯录信息。 (4) 删除不需要的通讯录信息。 (5) 查看所有的通讯录信息。二、概要设计1.主界面设计为了实现学生通讯管理系统各功能的管理,设计一个含有多个菜单项的主控菜单子程序以链接
3、系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图1所示。2.存储结构设计 本系统主要采用链表结构类型来表示存储在“学生通讯录管理系统”中的信息。其中,链表结点由4个分量构成:通讯录成员学号、通讯录成员姓名、通讯录成员电话号码、指向该结构体的指针。此外,本系统还设置了一个全局变量seat,表示通讯录中成员的序号。3系统功能设计本系统设置了5个子功能菜单,5个子功能的设计描述如下。 (1)建立通讯录系统。可以一次输入多个成员通讯录的信息,建立通讯录。该功能由creatIncreLink() 函数实现。 (2)插入通讯记录。每次可以插入一个成员通讯录的信息,如果要连续插入多个成员通讯
4、录信息必须多次选择该功能。该功能由insertYouXu()函数实现。 (3)查询通讯记录。可以按两种方式查询所需要的通讯录成员记录,一是按学号查询,二是按姓名查询。分别由searchNum()函数和searchName()函数实现。 (4)删除通讯记录。可以对通讯录中不再需要的信息进行删除。有三种删除方式:按序号进行删除,按学号进行删除和按姓名进行删除。分别由deleteElem()函数,delNum()函数和delName()函数实现。 (5)显示通讯录记录。可以查看通讯录中所有的通讯录成员记录。该功能由printList()函数实现。三、模块设计1模块设计 本程序包含两个模块:主程序模块
5、和链表程序模块。其调用关系如图2所示。主程序模块链表操作模块图2 模块调用示意图2系统子程序及功能设计 本程序共设置10个子程序,各程序的函数名及功能说明如下,其中大部分函数都是链表的基本操作函数。 (1)LinkList creatIncreLink() /链表的创建 (2)deleteElem(LinkList L,int i) /从通讯录中按序号删除第i个元素 (3)delName(LinkList L,char n) /按姓名删除通讯者记录 (4)delNum(LinkList L,int n) /按学号删除通讯者记录 (5)void insertYouXu(LinkList L,Li
6、nkList Elem)/插入一条通讯录 (6)printList(LinkList L) /打印指针地址为L的通讯录 (7)prior(LinkList L,LinkList p) /查找位于当前地址元素的前一元素的地址 (8)searchName(LinkList L,char n) /按姓名查找通讯者记录 (9)int searchNum(LinkList L,int n) /按学号查找通讯者记录 (10)viod main() /主函数。设定界面的颜色和大小,调用链表操作模块3函数主要调用关系图 本系统10个子程序之间的主要调用关系如图3所示。图中数字是个函数的编号。568910mai
7、n()123457图3 系统函数调用关系图四、详细设计1数据类型定义typedef struct LNodeint number;double telenum;char name20;struct LNode *next;LNode,*LinkList;2系统主要子程序详细设计 (1)建立链表的函数,主要用来建立通讯录。LinkList createIncreLink()/创建一个存放通讯录成员的非递减有序表,返回头结点地址LinkList L=(LinkList)malloc(LEN);/头结点L-next=NULL;LinkList p;int num=1,number;double te
8、lenum;char name20;printf(请输入学生学号、姓名和电话号码,建立通讯录,以-1为输入结束标志n);printf(请输入学号%d:,num);scanf(%d,&number);printf(请输入姓名%d:,num);char temp=getchar();gets(name);printf(请输入电话号码%d:,num);scanf(%lf,&telenum);while(number=0)p=(LinkList)malloc(LEN);/新结点p-number=number;p-telenum=telenum;strcpy(p-name,name);insertYou
9、Xu(L,p);/有序的插入新结点num+;printf(请输入学号%d:,num);scanf(%d,&number);printf(请输入姓名%d:,num);temp=getchar();gets(name);printf(请输入电话号码%d:,num);scanf(%lf,&telenum);return(L); (2)显示链表中所有结点的信息,用于查看通讯录所有的记录。 void printList(LinkList L)/打印头结点地址为L的通讯录printf(n-n);printf( 学号 姓名 电话号码n);printf(-n);LinkList p=L;int n=1;if(
10、L=NULL | L-next=NULL)printf(该通讯录中没有元素n);/判断通讯录是否为空elsewhile(p-next != NULL)printf(%2d %-9d,n,p-next-number);printf( %-5s %.0fn,p-next-name,p-next-telenum);p=p-next;n+;printf(-n);return ;五、测试分析1. 通讯录的建立在主菜单下,用户输入1并回车,然后按照提示建立通讯录,分别输入通讯录成员的学号,姓名,电话号码,运行结果如图4所示。图4 通讯录的建立2. 插入通讯记录 在主菜单下,用户输入2并回车,可以插入一个新
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 综合 实验 课程设计 解读 24
限制150内