学生信息管理系统项目报告书.doc_第1页
学生信息管理系统项目报告书.doc_第2页
学生信息管理系统项目报告书.doc_第3页
学生信息管理系统项目报告书.doc_第4页
学生信息管理系统项目报告书.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PINGDINGSHAN UNIVERSITY 软 件 学 院 项目报告书 课课 程程: 专业实训专业实训 项项目名称目名称: 学生信息管理系学生信息管理系统统 专业专业年年级级: 软软件工程件工程 Java2 级级 姓姓 名名: 学学 号号: 101530241 指指导导教教师师: 2011 年年 06 月月 14 日日 学生信息管理系统 1 目目 录录 第第 1 1 章章 问题描述问题描述.2 1.1 课题背景课题背景.2 1.2 需求分析.3 1.2.1 功能需求3 1.2.2 性能需求4 1.3 本章小结.4 第第 2 2 章章 总体设计总体设计.5 2.1 系统介绍.5 2.2 主程序执行流程图6 第第 3 3 章章 代码设计代码设计.7 3.1程序运行结果截图 .7 3.2程序源代码.11 3.3本章小结.17 第第 4 4 章章 总总 结结 18 参考文献参考文献19 学生信息管理系统 2 第第 1 1 章章 问题描述问题描述 1.1 课题背景课题背景 管理系统是使用电子计算机执行管理和决策功能的服务系统,是六十年代以后, 随着系统科学,信息技术以及计算机科学的进展,适应现代化管理的需要而形成的 一门边缘学科。它是将计算机硬件,软件,人工规程,管理制度,决策模拟以及管理 人员等组合在一起的一个人-机系统。 学生信息管理系统,是针对目前学生信息处理工作的实际情况,结合数据技术, 设计开发的学生信息管理系统;能够实现创建、添加、插入、排序、查找、修改学生 信息等。 学生信息管理系统是典型的信息管理系统,其开发主要包括前端应用程序的开 发和后台数据库的建立和维护两个方面。对前者要求应用功能完备,容易使用,界 面友好等;而对后者则要求建立起数据库一致性和完整性强,数据安全性好的数据 库。 学生信息管理系统是教育单位不可缺少的部分,它的内容对于学校的决策者和 管理者来说至关重要,能够为学校的管理者提供充足的学生信息和快捷的查询手段。 学生信息管理系统 3 1.2 需求分析需求分析 1.2.11.2.1 功能需求功能需求 学生信息管学生信息管 理系统理系统 创建新链表创建新链表 并按总成绩并按总成绩 排序排序 按学号或者按学号或者 姓名来查询姓名来查询 学生信息学生信息 删除学生删除学生 (删除后自(删除后自 动排序)动排序) 添加学生添加学生 (添加后自(添加后自 动排序)动排序) 计算学生总计算学生总 数以及男女数以及男女 生人数生人数 ()本系统具有很强的可靠行,可以对录入的学生信息进行效验,对数据进行 修改、删除,可以方便管理员的修改与维护。 (2)本系统操作方便、灵活、简单。操作人员只需录入学生的基本信息和考试成 绩的数据。 (3)本系统可高效、快速的查询到学生的基本信息和考试成绩,便于管理员管 理工作的开展。 (4)本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统 化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查 询、修改、添加,另外还考虑到学生考试成绩,针对这些要求设计了学生信息管理系 统。本系统主要包括信息录入、信息维护、信息查询、报表打印、关闭系统这几部分。 学生信息管理系统 4 其功能主要有: 有关学生信息的录入,包括录入学生基本信息、学生考试成绩等。 学生信息的维护,包括添加修改学生基本信息、考试成绩信息。 学生信息的查询,包括查询学生的个人基本信息、科目考试成绩。 信息的报表打印,包括学生的基本信息的报表打印、考试成绩的报表打印。 1.2.21.2.2 性能需求性能需求 本项目是一个学生信息管理系统,运行环境 VC+6.0,项目运行速率正常,可 以满足用户需求。 1、时间特性要求:响应时间要低于 5 秒 2、便捷性:在程序运行过程中,系统自动提示用户进行每一步操作,程序功能 明了简洁! 1.3 本章小结本章小结 本章介绍了学生信息管理系统的背景意义,并对本系统功能需求和性能需求进 行了分析,可以清晰看到学生信息管理系统在进行信息管理时的优越性。 学生信息管理系统 5 第第 2 2 章章 总体设计总体设计 2.1 系统介绍系统介绍 1.学生信息管理系统主要涉及到查询等各的功能,需要通过磁盘读写数 据,虽然本系统仅实现了简单的功能,但也需要按照系统整体性来设计。程 序可以查询、修改、增添、删除学生信息,并将之保存在磁盘文件中,信息数 据不易丢失; 2.为了提高系统的稳定性和可重用性,程序采用子函数调用的形式完成 各项功能,并用单向动态链表存储从磁盘文件读取到的信息; 3.屏幕设计:屏幕作为信息的显示,通过输出格式的控制,界面更简洁、 合理! 学生信息管理系统 6 2.2 主程序执行流程图主程序执行流程图 定义链表指针、结构 体及相关变量 调用链表创建函数 调用排序函数 输出功能选 项 输入选择项r 调 用 查 询 函 数 输入 新学 生信 息并 调用 插入 函数 调用 排排 序函 数 调 用 修 改 函 数 调 用 排 序 函 数 调用 写入 函数 调 用 写 入 函 数 调 用 删 除 函 数 调 用 浏 览 函 数 判断程序 是否结束 0 #include #include #define NULL 0 #define LEN sizeof(struct student) /建立动态链表.cpp using namespace std; struct student int num; char name20; char sex5; float math; float english; int order; struct student *next; ; int n; int male=0; int famale=0; struct student *creat(void) struct student *head,*p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN); coutp1-nump1-namep1-sexp1-mathp1-english; head=NULL; while(p1-num!=0) if(strcmp(p1-sex,“男“)=0) male+; else famale+; n+; if(n=1)head=p1; else p2-next=p1; p2=p1; p1=(struct student*)malloc(LEN); 学生信息管理系统 12 cinp1-nump1-namep1-sexp1-mathp1-english; p2-next=NULL; if(head=NULL) coutnumnamesexmathenglishmath+p- englishnext; while(p!=NULL); /链表结点的删除操作 struct student *del(struct student *head) if(n=0)coutnum; while(num!=0) struct student *p1,*p2; p1=head; while(num!=p1-num p1=p1-next; if(num=p1-num) if(p1=head) 学生信息管理系统 13 if(strcmp(p1-sex,“男“)=0) male-; else famale-; head=p1-next; else if(strcmp(p1-sex,“男“)=0) male-; else famale-; p2-next=p1-next; coutnum; if(n=0)coutstu-numstu-namestu-sexstu-mathstu-english; while(stu-num!=0) if(strcmp(stu-sex,“男“)=0) male+; else famale+; n+; struct student *p0,*p1,*p2; p1=head; p0=stu; if(head=NULL) head=p0; p0-next=NULL; else while(p0-nump1-num p1=p1-next; if(p0-numnum) if(head=p1)head=p0; else p2-next=p0; p0-next=p1; else p1-next=p0; p0-next=NULL; stu=(struct student*)malloc(LEN); cinstu-numstu-namestu-sexstu-mathstu-english; return head; /根据学号查找 void SearchNum(struct student *head) int num; struct student *p; p=head; coutnum; while(p-num!=num if(p-num=num) coutordernumnamesexmathenglishmath+p- englishname; while(strcmp(p-name,name)!=0 if(strcmp(p-name,name)=0) coutordernumnamesexmathenglishmath+p- englishnext; max=(p2-math+p2-english); while(p0-next!=NULL) while(p1!=NULL) if(p1-math+p1-english)max) max=(p1-math+p1-english); p2=p1; p1=p1-next; ; p2-order=+NO; max=p2-order; 学生信息管理系统 16 p2-order=p0-order; p0-order=max; max=p2-num; p2-num=p0-num; p0-num=max; max=p2-math; p2-math=p0-math; p0-math=max; max=p2-english; p2-english=p0-english; p0-english=max; strcpy(temp,p2-name); strcpy(p2-name,p0-name); strcpy(p0-name,temp); strcpy(temp,p2-sex); strcpy(p2-sex,p0-sex); strcpy(p0-sex,temp); p0=p0-next; p2=p0; p1=p2-next; max=(p2-math+p2-english); if(p0-next=NULL)p2-order=+NO; return head; /链表的输出 void print2(struct student *head) coutnumnamesexmathenglishmath+p-englishnext; No+; while(p!=NULL); couta; if(a=0)cout6)cout“无该选项,请从 06 中选择“endlendlendl; switch(a) case 1:head=creat();head=sort(head);print2(head);break; case 2:SearchNum(head);break; case 3:SearchName(head);break; case 4:head=del(head);head=sort(head);print2(head);break; case 5:head=insert(head);head=sort(head);print2(head);break; case 6:cout“此时总人数“n“人 其中男生“male“人 女生 “famale“人“endlendlendl;break; return 0; 3.3 本章小结本章小结 本章是效果展示,并附加了实现本效果的关键代码,通过实现效果便于用户对 本系统有个初步的了解。 学生信息管理系统 18 第第 4 4 章章 总总 结结 学生信息管理系统是运行于 VasualC+6.0 的一款专用于学生信息管理的系统, 系统以单向动态链表存储学生信息。在程序运行过程中,各功能模块均以函数调用 的形式实现,实现了功能模模块的重复使用,节约了资源,是程序更加简洁。通过对 子函数调用,将排序、文件读写功能模块镶嵌在其他功能模块之中,可以确保在各 功能模块执行之后学生成绩名次、磁盘文件信息的同步更新。 在编程工程中,可以说是各种问题接踵而至,如链表指针的指向、链表排序等 一系列问题;虽然最终都在马老师的指导和同学的帮助下解决了这些问题,但不可 否认的是我在 C 语言的理解和应用上还只处于表层阶段,不能深层次的理解 C 语 言的精髓进而熟练应用。通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论