您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > C++课程设计报告(学生学籍管理系统)
计科5班刘林辉20060810514学生学籍管理系统课题名称《C++设计报告》海南大学三亚学院,2008年Page2of17课题名称《C++设计报告》海南大学三亚学院,2008年Page3of17【摘要】学籍管理系统设计涉及学生信息的录入,显示,查找,删除,修改,统计,保存,退出等功能,从而能够对信息进行处理。程序中运用了相关类的知识,同时定义了一定数量的数据及成员函数。程序使用了数组记录统计的相关数据,运用了指针实现相应功能函数的功能,运用了student,school两个类实现面向对象的要求。程序的完成涉及到程序的分析,模块的分解,程序的控制,程序的调试。【关键词】学籍管理vc++6.0面向对象程序控制类课题名称《C++设计报告》海南大学三亚学院,2008年Page4of17第1章概述1.1系统实现的目标课程设计的任务:制作一个小型的学生学籍管理系统,要求制作一个菜单,实现数据的录入,数据的显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统的退出。系统的设计要求用到C++面向对象的程序设计,要求用到类来实现,同时每一个功能用到一个函数。基本功能:学生基本信息(编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩)成绩统计(各科总成绩,各科平均成绩,各科的及格率)扩展功能:学生数据的添加、修改、与删除学生数据的读取与存储系统特点:系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计;系统数据的录入除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩;程序中查找运用了两种查找方式即学号查找和姓名查找。1.2系统实现方案第一步:分析题目,建立类并派生出它的子类,画出类图。第二步:画出流程,根据流程图编写程序清单第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法)。第五步:及时整理资料,撰写课程设计报告中有关这个题目的内容。1.3系统实现环境硬件配置:586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于64MB,硬盘自由空间不少于200MB。推荐配置为内存128MB或256MB(或以上),硬盘自由空间500MB以上。操作系统:Windows2000/NT/Xp、VisualC++集成开发环境。课题名称《C++设计报告》海南大学三亚学院,2008年Page5of17第2章系统分析2.1调查程序对学生学籍的数据处理要求①能够输入并浏览学生的基本信息;②能够实现对学生信息的查询和修改;③能够对成绩进行统计;④能够对学生的信息进行保存;现行的系统功能:资料维护:系统维护包括对各学生信息和成绩的录入操作。资料维护:对数据表中的信息进行浏览。系统查询:可以对不同科目的总成绩、不及率、各科平均成绩相关信息。2.2现行系统分析现行系统组织结构图:开始选择菜单序号1录入信息2显示信息3查找信息4删除信息5修改信息6统计成绩7保存信息0退出按要求逐步输入学生信息选择修改方式1??编号查询姓名查找2?保存?输入学生信息退出保存课题名称《C++设计报告》海南大学三亚学院,2008年Page6of17第3章系统设计3.1系统功能设计系统功能结构图:3.2类设计类:student数据成员编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩类:school成员函数录入函数Input():输入编号到计算机的成绩;统计函数count():统计各科的总成绩,计算平均成绩,统计各科的及格率;查询函数found():按学号或姓名查找学生的记录;修改函数mend():修改指定学号学生成绩记录;删除函数del():删除指定学号学生记录;输出函数show():输出班级所有学生成绩记录;UML图:主程序初始化程序采单程序查找删除修改统计输入显示退出课题名称《C++设计报告》海南大学三亚学院,2008年Page7of173.3输入输出的设计1.界面的设计①、界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。②、功能设计通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进行查询。2.数据输出设计系统主界面:Student#number:int#name[20]:char#sex[6]:char#place[20]:char#nation[6]:char#birth[20]:char#party[10]:char#id[20]:char#score[3]:float+student*next;+student(){}+~student(){}+*getname():char+getnumber():int+getscore(inti)double+getg():float+input():void+input(ifstream&is):void+output():void+output(ofstream&os):voidschool+school()+~school()+input():void+mend():void+del():void+find:int+found():void+show():void+count():void+save():void+begin():void+clear():void+mainmenu():char+getkey():int+setkey(intk):void-*head:student-key:int课题名称《C++设计报告》海南大学三亚学院,2008年Page8of17统计界面:查找界面:显示界面:课题名称《C++设计报告》海南大学三亚学院,2008年Page9of17录入界面:修改界面:第4章系统实现1.代码#includeiostream.h#includestring.h#includefstream.h#includeiomanip.hclassstudent{protected:intnumber;charname[20];charsex[6];charplace[20];charnation[6];charbirth[20];charparty[10];charid[20];floatscore[3];public:课题名称《C++设计报告》海南大学三亚学院,2008年Page10of17student*next;student(){}~student(){}char*getname(){returnname;}intgetnumber(){returnnumber;}doublegetscore(inti){returnscore[i];}floatgetg(){return(score[0]+score[1]+score[2]);}voidinput(){inte=1;cout\t\t\t按提示输入:endl;cout\t\t输入编号:;cinnumber;cout\t\t输入姓名:;cinname;do{cout\t\t输入性别:;cinsex;if(strcmp(sex,男)==0||strcmp(sex,女)==0){cout\t\t输入籍贯:;cinplace;cout\t\t输入民族:;cinnation;cout\t\t输入生日:;cinbirth;cout\t\t输入政治面貌:;cinparty;cout\t\t输入身份证号:;cinid;cout\t\t输入数学分数:;cinscore[0];cout\t\t输入英语分数:;cinscore[1];cout\t\t输入计算机分数:;cinscore[2];e=0;}else{cout\t\t\t无此类型性别!重新输入!endl;e=1;}}while(e);return;}voidinput(ifstream&is){isnumbernamesexplacenationbirthpartyidscore[0]score[1]score[2];is.get();}voidoutput(){cout学生基本信息如下:endl;cout编号:number姓名:name性别:sex籍贯:place民族:nation生日:birth政治面貌:partyendl身份证号:id数学:score[0]英语:score[1]计算机:score[2]总分:getg()endlendl;}voidoutput(ofstream&os)课题名称《C++设计报告》海南大学三亚学院,2008年Page11of17{ossetw(6)numbersetw(15)namesetw(20)placesetw(6)nationsetw(20)birthsetw(20)partysetw(20)idsetw(6)score[0]setw(6)score[1]setw(6)score[2]endl;}};classschool{public:school(){head=newstudent;head-next=NULL;key=0;}~school(){deletehead;}voidinput();voidmend();voiddel();intfind(student**p,intnum,char*pn=^);voidfound();voidshow();voidcount();voidsave();voidbegin();voidclear();charmainmenu();intgetkey(){returnkey;}voidsetkey(intk){key=k;}private:student*head;intkey;};//录入函数voidschool::input(){student*p,*p2=NULL;p=head;intn;while(p-next)p=p-next;while(n){p2=newstudent;p2-input();p-next=p2;p2-next=NULL;p=p-next;school::setkey(1);cout\t\t\t按1继续,按0返回:;cinn;}}//子查找函数intschool::find(student**p1,intnum,char*pn){student*p;p=head;while(p-next){(*p1)=p;if((p-next)-getnumber()==num||!strcmp((p-next)-getname(),pn))return1;p=p-next;}课题名称《C++设计报告》海南大学三亚学院,2008年Page12of17return0;}//查找函数voidschool::found(){student*p;intnum=-1,n=9;charname[20]=^;do{cout\t\t1:按编号查找,2:按姓名查找:;cinn;}while(n1||n2);if(n==1){cout\t\t\t输入编号:;cinnum;}if(n==2){cout\t\t\t输入姓名:;cinname;}if(!find(&p,num,name)){cout\t\t找不到你要查找的内容!endl;return;}(p-next)-output();}//删除函数voidsc
本文标题:C++课程设计报告(学生学籍管理系统)
链接地址:https://www.777doc.com/doc-3534769 .html