您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件技术综合实验课程设计解读
井冈山大学电子与信息工程学院软件技术综合实验(2015——2016年度第一学期)课程名称:软件技术综合实验学院:班级:姓名:学号:任课教师:成绩:2015年10月20日成绩评定一、指导教师评语二、成绩成绩备注指导教师:日期:年月日目录一、设计要求......................................................................................11.问题描述..................................................................................12.需求分析..................................................................................1二、概要设计......................................................................................11.主界面设计.................................................................................12.存储结构设计.............................................................................23.系统功能设计..........................................................................2三、模块设计......................................................................................21.模块设计..................................................................................22.系统子程序及功能设计..........................................................33.函数主要调用关系图..............................................................3四、详细设计......................................................................................41.数据类型定义..........................................................................4五、测试分析......................................................................................61.通讯录的建立...........................................................................62.插入通讯记录...........................................................................73.查询通讯记录...........................................................................74.删除通讯记录...........................................................................85.显示通讯录信息.......................................................................8六、用户手册......................................................................................9七、调试报告......................................................................................901学生通讯录管理系统一、设计要求1.问题描述纸质的通讯录已经不能满足大家的要求,容易丢失、查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其他一些需要使用通讯录的人员进行管理和分析的一种应用程序。2.需求分析(1)输入数据建立通讯录。(2)查询通讯录中满足要求的信息。(3)插入新的通讯录信息。(4)删除不需要的通讯录信息。(5)查看所有的通讯录信息。二、概要设计1.主界面设计为了实现学生通讯管理系统各功能的管理,设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图1所示。22.存储结构设计本系统主要采用链表结构类型来表示存储在“学生通讯录管理系统”中的信息。其中,链表结点由4个分量构成:通讯录成员学号、通讯录成员姓名、通讯录成员电话号码、指向该结构体的指针。此外,本系统还设置了一个全局变量seat,表示通讯录中成员的序号。3.系统功能设计本系统设置了5个子功能菜单,5个子功能的设计描述如下。(1)建立通讯录系统。可以一次输入多个成员通讯录的信息,建立通讯录。该功能由creatIncreLink()函数实现。(2)插入通讯记录。每次可以插入一个成员通讯录的信息,如果要连续插入多个成员通讯录信息必须多次选择该功能。该功能由insertYouXu()函数实现。(3)查询通讯记录。可以按两种方式查询所需要的通讯录成员记录,一是按学号查询,二是按姓名查询。分别由searchNum()函数和searchName()函数实现。(4)删除通讯记录。可以对通讯录中不再需要的信息进行删除。有三种删除方式:按序号进行删除,按学号进行删除和按姓名进行删除。分别由deleteElem()函数,delNum()函数和delName()函数实现。(5)显示通讯录记录。可以查看通讯录中所有的通讯录成员记录。该功能由printList()函数实现。三、模块设计1.模块设计3本程序包含两个模块:主程序模块和链表程序模块。其调用关系如图2所示。图2模块调用示意图2.系统子程序及功能设计本程序共设置10个子程序,各程序的函数名及功能说明如下,其中大部分函数都是链表的基本操作函数。(1)LinkListcreatIncreLink()//链表的创建(2)deleteElem(LinkListL,inti)//从通讯录中按序号删除第i个元素(3)delName(LinkListL,charn[])//按姓名删除通讯者记录(4)delNum(LinkListL,intn)//按学号删除通讯者记录(5)voidinsertYouXu(LinkListL,LinkListElem)//插入一条通讯录(6)printList(LinkListL)//打印指针地址为L的通讯录(7)prior(LinkListL,LinkListp)//查找位于当前地址元素的前一元素的地址(8)searchName(LinkListL,charn[])//按姓名查找通讯者记录(9)intsearchNum(LinkListL,intn)//按学号查找通讯者记录(10)viodmain()//主函数。设定界面的颜色和大小,调用链表操作模块3.函数主要调用关系图本系统10个子程序之间的主要调用关系如图3所示。图中数字是个函数的编号。主程序模块链表操作模块10main()4图3系统函数调用关系图四、详细设计1.数据类型定义typedefstructLNode{intnumber;doubletelenum;charname[20];structLNode*next;}LNode,*LinkList;2.系统主要子程序详细设计(1)建立链表的函数,主要用来建立通讯录。LinkListcreateIncreLink(){//创建一个存放通讯录成员的非递减有序表,返回头结点地址LinkListL=(LinkList)malloc(LEN);//头结点L-next=NULL;LinkListp;intnum=1,number;doubletelenum;5charname[20];printf(请输入学生学号、姓名和电话号码,建立通讯录,以'-1'为输入结束标志\n);printf(请输入学号%d:,num);scanf(%d,&number);printf(请输入姓名%d:,num);chartemp=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);insertYouXu(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)显示链表中所有结点的信息,用于查看通讯录所有的记录。voidprintList(LinkListL){6//打印头结点地址为L的通讯录printf(\n------------------------\n);printf(学号姓名电话号码\n);printf(------------------------\n);LinkListp=L;intn=1;if(L==NULL||L-next==NULL){printf(该通讯录中没有元素\n);}//判断通讯录是否为空elsewhile(p-next!=NULL){printf(%2d%-9d,n,p-next-number);printf(%-5s%.0f\n,p-next-name,p-next-telenum);p=p-next;n++;}printf(------------------------\n);return;}五、测试分析1.通讯录的建立在主菜单下,用户输入1并回车,然后按照提示建立通讯录,分别输入通讯录成员的学号,姓名,电话号码,运行结果如图4所示。7图4通讯录的建立2.插入通讯记录在主菜单下,用户输入2并回车,可以插入一个新的通讯录成员的信息,依次输入学号,姓名和电话号码,运行结果如图5所示。图5插入通讯录记录3.查询通讯记录在主菜单下,用户输入3并回车,可以按照两种方式查询通讯录。一种是按照学号查询,另一种方式是按照姓名查询。可按照提示操作,运行结果如图6所示。8图6查询通讯录记录4.删除通讯记录在主菜单下,用户输入4并回车,进行通讯录记录的删除。可以按三种方式进行删除操作:按序号、按学号和按姓名。图7是按序号删除的运行结果。图7删除通讯录记录5.显示通讯录信息主菜单下,用户输入5并回车,查看通讯录中所有的成员信息。运行结果如图8所示。9图8:显示通讯录信息六、用户手册(1)本程序执行文件为“学生通讯管理系统.exe”。(2)进入本系统之后,用户可在该界面下输入各子类菜单前对应的序号并回车,执行相应子菜单命令。(3)本系统没有
本文标题:软件技术综合实验课程设计解读
链接地址:https://www.777doc.com/doc-7364108 .html