《实验分析样例.ppt》由会员分享,可在线阅读,更多相关《实验分析样例.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、班级成绩管理系统n n设计一个简单实用班级成绩管理系统。n n可以分析系统需要以下几个功能:n n1能够按照学号顺序输入学生的三门成绩,并计算平均成绩和总成绩。n n2能够显示已经输入的指定学号的学生成绩以及平均成绩和总成绩。n n3能够按要求显示指定分数段的学生成绩以及平均成绩和总成绩。n n4.根据输入的学号删除某个学生的信息层次描述图n n对每个功能还需要进一步说明完成的主要功能、输入输出以及内部的数据结构和算法。n n下面只针对根据学生学号进行查找模块进行详细说明。数据结构的设计n n学生的成绩可以用单向链表保存起来,链表中的节点信息应该保存以下信息,学生的姓名,学号,数学,英语,语文
2、的成绩,以及这三门课的总成绩和平均成绩,指向下一个节点的指针。n n程序的操作可归结为建立链表,查找或删除链表中的某个节点。typedeftypedef structstruct student student intint num;num;intint math;math;intint eng;eng;intint chin;chin;intint aveave;intint totletotle;structstruct student*next;student*next;LNodeLNode,*,*LinklistLinklist;n nint get_info(int*total,in
3、t*ave,int num);n n获取学号等于num的学生的总成绩和平均成绩。成功则返回0,并讲总成绩和平均成绩分别赋值给total和ave指向的变量,否则返回-1。n n算法:将链表中的每个节点的num字段和给定参数num进行比较,如果相等则返回,否则取下一个节点进行比较。界面设计n n软件界面设计应该以软件界面设计应该以使用软件的人为中心,使用软件的人为中心,尽量从使用软件的角尽量从使用软件的角度出发设计界面。度出发设计界面。n n学生成绩管理程序的学生成绩管理程序的界面比较简单界面比较简单n n设计一个日记管理系统可以分析系统需要以下几个功能:程序完成后应该完成如下基本功能:1 用自定
4、义日记的存储结构,每篇日记至少包含日期,内容等字段;2 使用者必须输入密码;3 写日记与保存功能;4 日记查阅:按日期查看,按关键字查看,按顺序查看功能(从某一篇开始)数据结构的设计n n用一条单向链表存储所有用户的信息,包括密码和用户名。最后所有用户的信息保存在同一个文件里。n n每个用户的日记分别用一条单向链表来存储,每篇日记一个结点。最后每个用户的日记链表分别保存为一个文件n n算法都是基本的链表操作。保存日记的链表节点应该包括,日期,天气,日记的标保存日记的链表节点应该包括,日期,天气,日记的标保存日记的链表节点应该包括,日期,天气,日记的标保存日记的链表节点应该包括,日期,天气,日记
5、的标题,日记正文,和指向下个节点的指针。题,日记正文,和指向下个节点的指针。题,日记正文,和指向下个节点的指针。题,日记正文,和指向下个节点的指针。typedeftypedef structstruct node node char date20;char date20;char weather20;char weather20;char diary300;char diary300;char mood20;char mood20;char title20;char title20;structstruct node*next;node*next;*dlinklist,dlnodedlinkl
6、ist,dlnode;用户链表的节点应该包括用户名,密码,和指向下个节点的指针typedef struct usernode char user20;char password20;struct usernode*next;*linklist,lnode;层次描述图n n对每个功能还需要进一步说明完成的主要功能、输入输出以及内部的数据结构和算法。n n下面对日记查询的模块进行说明n n日记查询模块:日记查询模块:n nint get_usr_info()n n从文件中读取用户名和密码信息,保存到链表中。成功返回0,否则返回-1.n nint input_usr(lnode*puser)n n输
7、入用户名和密码,并分析输入正确与否,赋值给user,成功返回0,否则返回-1.n nint get_date(char*pdate)n n输入日期,并判断是否合法,成功则把日期赋值给pdate并返回0,否则返回-1.dlnode*get_diary_info(char*filename)从文件中获取日记信息,并组成链表。成功则返回链表的头结点,否则返回NULL;n nint search_diary(char*pdate,dlnode*pdnode)n n根据输入的日期查找日志,成功,则赋值给pnode)n n可采用:n n简单的模式匹配n nvoid print_diary(dlnode dnode)n n把日记信息打印出来界面设计n n软件界面设计应该以使用软件的人为中心,软件界面设计应该以使用软件的人为中心,尽量从使用软件的角度出发设计界面。尽量从使用软件的角度出发设计界面。Input your username:Input your password:Input date:1 New user1 New user1 New user1 New user2 Access to user2 Access to user2 Access to user2 Access to user3 Exit3 Exit3 Exit3 Exit
限制150内