基于C++的学生籍贯信息记录簿设计(共30页).doc
《基于C++的学生籍贯信息记录簿设计(共30页).doc》由会员分享,可在线阅读,更多相关《基于C++的学生籍贯信息记录簿设计(共30页).doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于C+的学生籍贯信息记录簿设计学生姓名: 指导老师: 摘 要 随着现代化校园的发展,学生的学籍管理需要更快捷方便的信息化管理模式。设计一个基于c+的学生档案管理系统,可以方便对学生信息的管理。本设计实现了全校学生信息查询,新来的学生信息进行信息录入,由于学生上课情况复杂,还实现了信息修改,及时调整学生的基本情况的功能。本设计的学校学生档案管理系统,使用了面向对象的方法,运用Microsoft Visual C+ 6.0实现具有添加新学生、显示全部、删除、删除全部、修改、退出等功能的学生籍贯管理系统。 关键词 程序设计;C+;学籍管理 1 引 言学生档案管理系统是一个
2、教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率等等。 随着
3、科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括保密和前台应用程序的开发两个方面。本次课程设计目的:通过一个企业人事管理系统,使学校档案管理工作系统化、规范化、自动化,从而达到提高学校管理效率。使学生掌握一门
4、高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C+语言学会解决一般应用问题,并为后续的专业课程奠定程序设计基础。系统的基本模块:根据系统功能的要求,学生档案系统可以分为新学生档案的输入,学生档案的修改、查询和删除等模块。2 系统需求分析2.1问题定义项目:学生管理应用软件。目的:让院校有效的管理体制学生信息,帮助学校老师掌握学生的情况。背景:根据当前某高校的学生管理出现异常问题,它浪费人力和其它资源。因此,这种缺陷而制定开发这个学生管理系统软件。2.2 可行性研究从技术方面,是通过C+来做系统的前台,来实现整系统的功能;从操作方面,基本的录入、查询、修改等都能满足用户的需
5、求;此次设计没有考虑经济可行性。经过这一阶段确定了该系统的粗略系统流程图。可行研究阶段的目标是:使工作人员从繁琐的填表,查表工作中解放出来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。2.3 需求分析应该确定系统必须在Microsoft Visual C+ 6.0的环境下实现具有添加新学生、显示全部、删除、删除全部、修改、退出等功能的学生档案管理系统。通过以上可以知道该软件主要有以下功能模块: 学生学籍异动管理 奖惩情况管理 档案管理 成绩管理 考勤管理其中本次课程设计实现的档案模块又分为如下子模块: 登陆界面:主要是对用户权限的判断,.判断是否为合法用户,是合法用户的就
6、可以对数据进行。 新生录入:主要是将新生信息录入到数据库中; 管理项目:对学生信息进行添加、删除、修改、查询等。3设计流程及算法3.1总体设计:1.设置输入输出流及将程序由磁盘文件保存,构件类stu,其主要包括:学号,姓名,籍贯.2.构建无返回值main函数,输出由与程序相关操作构成的信息链表3.根据链表设置利用switch函数和循环函数将链表中的内容一一实现.3.2详细设计:设计流程图:目前程序已达到的功能档案管理添加修改查询删除系统 图3.1 系统设计流程图一 信息链表内容如下: 请选择您需要的操作操作:(0) 数据录入(1) 增加人员(2) 删除人员(3) 修改数据查询:(4) 按姓名查
7、询(5) 按学号查询(6) 输出所有学生的籍贯信息(7) 按籍贯查询二.选择相关操作请输入相对应的括号里的阿拉伯数字。三.设置do-while函数使输入序号与符号所需要求相对应。四.在do函数中设立switch语句,实现多分支选择结构,并实现序号与相应内容的对应关系.SwitchCase 0数据录入case 1增加人员case 2删除人员case 3修改数据case 4按姓名查询case 5输出所有学生的籍贯信息case 6按籍贯查询 图3.23.3算法的实现与运行:在程序开始运行是既会出现一信息链表,按链表要求输入序号,若输入的数字不是在0-7这个范围之内则要求重新输入。而实现该过程需要利用
8、到boor语句和if循环。 case 0 数据录入:以cin和cout形式输入学号,籍贯,姓名,以filej形式存入到数组si中,并将信息存 入到磁盘中.filej=new ofstream(d:document.txt,ios:ate);其作用是将输入的数据存入到已有的文件,文件指针指向文件末尾。既是将录入的内容添加到文件的末尾。并在输入完成后将*filej和si中的i和j都自加1,既是自动使文件指针指向文件末尾。char c; char name20,bornplace50;int number; do cout请输入姓名name; cout请输入学号:number; cout请输入籍贯:
9、bornplace; filej=new ofstream(d:document.txt,ios:ate);*filej姓名name学号number籍贯bornplace endl; j+; si=new stu(name,number,bornplace); i+; case 1增加人员:定义字符型变量姓名,籍贯,学号,并根据其大小分配相应的内存空间。输入相关内容,利用指针使输入的数据直接存入到内存中。char name20,bornplace50;int number; char c; do cout请输入您要增加的学生的姓名:name; cout请输入学号:number; cout请输入
10、籍贯:bornplace; filej=new ofstream(d:document,ios:ate); *filej姓名name学号number籍贯bornplacename中找到与输入name相同的数据后,使其在输出时是不显示的。char name20;bool flag3=0;char c; do cout请输入您要删除的学生姓名:name; for(int h=0;hname)=0) flag3=1; i-; do sh=sh+1; h+; while(h=i); if(flag3=0) cout您要求删除的对象本来就不存在!请检查输入的正确性!; case 3 修改数据:定义字符型
11、变量姓名,籍贯,整型变量学号和布尔型变量,在利用do-while函数进行控制,在函数内输入学生的姓名,并利用程序中的strcmp 函数改变原数据库中对应学生姓名下的各个信息。其原理即是寻找到需要修改的学生后用重新输入的数据信息将原信息覆盖,从而实现文件的修改。char name20,born50;int num;flag2=0; char c; do cout请输入您要修改的学生的姓名:name; for(int h=0;hname)=0) flag2=1; cout请输入新的学号:num; cout请输入新的籍贯:born; sh-number=num; strcpy(sh-bornplac
12、e,born); cout数据修改成功!; case 4 按姓名查询:定义一字符型数组,输入要查询学生的姓名,利用指针和strcmp函数及for循环在数据库中寻找相应的数据,在找到后输出。其寻找的格式为(*sq).name。在找到后依次输出同一个类中的其他的内容。char t20;char c; do int flag1=0; cout请输入你要查询学生的姓名t; for(int q=0;qi;q+) if(strcmp(*sq).name,t)=0) flag1=1; cout您要查询的学生是:(*sq).name学号是:(*sq).number籍贯是:(*sq).bornplaceendl
13、; if(flag1=0) cout对不起!您要查询的学生不存在!endl; case 5按学号查询:其主要操作与按姓名查询相似。case7 按籍贯查询:其主要操作与按姓名查询相似。case 6输出所有学生的籍贯信息:利用strcmp函数将数据库中与要查询的学生相对应的信息内容从数据库中调出。其输出的方式为循环方式,设置循环条件,利用if语句,设置变量k,使k从0进行自加,直到k的值为h,并依次将sk的值输出,从而达到输出所有学生的学籍信息的目的。cout本系统所有学生的籍贯信息如下:endl; if(i=0) cout管理系统中没有录入数据或者数据已经被删除!endl; for(int k=
14、0;ki;k+) coutk+1 姓名: name 学号: number 籍贯: bornplace endl; break; 4 数据结构的设计数据字典:数据字典包括以下几种类型的条目: 数据流条目数据流条目给出某个数据流和定义,它通常是列出该数据流的各组成数据元素。该系统中的数据流条目有:学生基本信息学生姓名学生学号学生籍贯班级信息班号年级逻辑结构的设计如表5.1所示:表4.1学生基本信息结构设计列名数据类型可否为空说明namechar20NOT NULL学生姓名numberintNOT NULL学号bornplacechar50NOT NULL籍贯5软件的测试与调试登陆界面:图6.01)
15、输入0后并输入相关数据呈现的界面:图6.12)输入1后并输入相关数据呈现的界面:图6.23)在第一步和第二步的基础上使用操作2后上呈现的界面:图6.34)在第一步,第二步的基础上使用操作3后上呈现的界面:图6.45)在第一步,第二步和第四步的基础上使用操作4后上呈现的界面:图6.56)在前几步的基础上使用操作5后上呈现的界面:图6.67)在前几步的基础上使用操作6后上呈现的界面:图6.78)在前几步的基础上使用操作7后上呈现的界面:图6.86 课程设计心得在本次课程设计中,我利用到了本学期学到的大部分知识,而在次程序中,最主要运用是在数组和类及在指针的运用方面。同时明白只要充分的融会贯通在课堂
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C+ 学生 籍贯 信息 记录簿 设计 30
限制150内