C++课程设计 学生成绩信息管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1需求分析2运行结果3概要设计4详细设计与编码5用户使用说明6设计心得及总结学生成绩信息处理系统:1需求分析:设计要求:设计要求实现如下功能:(1)建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时间、年龄(必须计算得到)。(2)使用继承的方法构造至少3个类,(即学生类——虚基类,一年级学生和二年级学生类——派生类)使用相应的对象放置10个学生信息。(3)编写同名display()成员函数,用来输出数组的内容。(4)按不同类别输出学生信息,比如按性别。(可选功能)(5)要求对“<<”和“>>”运算符进行重载。考虑到输人学号时,也会因不小心引人空格,而且名字中也需要有空格,所以重载“>>’’运算符时,需要满足这个要求。(6)抽取并计算学生的平均成绩。(7)按照至少一科成绩进行排序。(8)检索(查找)指定信息。(如按姓名检索、按年龄检索)(9)显示成绩分布图,示例如下:(10)参考界面如下:增加学生显示全部学生计算平均成绩删除一个学生按年级输出学生信息用C或C+编写一学生成绩信息处理系统,实现输入学生信息,删除,查找等功能。开发环境:Windowsxpsp2MicrosoftVisualstudio6.02运行结果:输入成绩数据按姓名查找按平均值输出删除学生信息(按学号)按年级输出:3概要设计本程设计思路:1定义基类classstudent{public:intxuehao;charxingming[20];charxingbie;floatyuwen,shuxue,yinyu;intshengri;virtualintgetnianji()=0;virtualvoidset()=0;virtualvoiddisplay()=0;intgetxuehao(){returnxuehao;}char*getxingming(){returnxingming;}chargetxingbie(){returnxingbie;}floatgetyuwen(){returnyuwen;}floatgetshuxue(){returnshuxue;}floatgetyinyu(){returnyinyu;}floatgetsum(){return(yuwen+shuxue+yinyu);}intgetshengri(){returnshengri;}};};2定义一二年级继承类classostudent:publicstudentclassostudent:publicstudent3重载函数riendostream&operator(ostream&out,ostudent&right){outright.xuehaoright.xingmingright.xingbieright.zhuanye(right.yuwen+right.shuxue+right.yinyu)/3(2009-right.shengri)endl;returnout;}friendistream&operator(istream&in,ostudent&right){inright.xuehaoright.xingmingright.xingbieright.zhuanyeright.yuwenright.shuxueright.yinyuright.shengri;returnin;}};4功能选择函数switch()case1:case2:……分别实现输入函数打印函数查找函数删除函数排序函数5主函数实现整合3详细设计与编码:#includeiostream#includestringusingnamespacestd;classstudent//基类{public:intxuehao;charxingming[20];charxingbie;floatyuwen,shuxue,yinyu;intshengri;virtualintgetnianji()=0;virtualvoidset()=0;virtualvoiddisplay()=0;intgetxuehao(){returnxuehao;}char*getxingming(){returnxingming;}chargetxingbie(){returnxingbie;}floatgetyuwen(){returnyuwen;}floatgetshuxue(){returnshuxue;}floatgetyinyu(){returnyinyu;}floatgetsum(){return(yuwen+shuxue+yinyu);}intgetshengri(){returnshengri;}};classostudent:publicstudent//一年级继承类{public:intnianji;charzhuanye[25];ostudent(){nianji=0;}intgetnianji(){returnnianji;}char*getzhuanye(){returnzhuanye;}voidset()//输入函数{cout输入一年级学生信息\n学号姓名性别(m/w)专业语文数学英语出生年\n;cinxuehaoxingmingxingbiezhuanyeyuwenshuxueyinyushengri;}voiddisplay()//显示函数{cout\n一年级学生:\nxuehaoxingmingxingbiezhuanye(yuwen+shuxue+yinyu)/3(2009-shengri、10000)endl;}friendostream&operator(ostream&out,ostudent&right){outright.xuehaoright.xingmingright.xingbieright.zhuanye(right.yuwen+right.shuxue+right.yinyu)/3(2009-right.shengri)endl;returnout;}friendistream&operator(istream&in,ostudent&right){inright.xuehaoright.xingmingright.xingbieright.zhuanyeright.yuwenright.shuxueright.yinyuright.shengri;returnin;}};clasststudent:publicstudent//二年级继承类{public:intnianji;charteacher[25];tstudent(){nianji=1;}char*getteacher(){returnteacher;}intgetnianji(){returnnianji;}voidset(){cout输入二年级学生信息\n学号姓名性别(m/w)老师语文数学英语出生年\n;cinxuehaoxingmingxingbieteacheryuwenshuxueyinyushengri;}voiddisplay(){cout\n二年级学生:\nxuehaoxingmingxingbieteacher(yuwen+shuxue+yinyu)/3(2009-shengri/10000)endl;}friendostream&operator(ostream&out,tstudent&right){outright.xuehaoright.xingmingright.xingbieright.teacher(right.yuwen+right.shuxue+right.yinyu)/3(2009-right.shengri)endl;returnout;}friendistream&operator(istream&in,tstudent&right)//重载运算符{inright.xuehaoright.xingmingright.xingbieright.teacherright.yuwenright.shuxueright.yinyuright.shengri;returnin;}};intmain(){intgetin,j;intc1,c2,c3,c4,c5,c6,c7;student*p[100];inthao[100],htp;intm,n;doublezong[100],ztp;staticinti=0;lab2:cout1.录入信息\n;cout2.显示全部学生\n;cout3.计算平均成绩\n;cout4.删除一个学生\n;cout5.按年级输出学生信息\n;cout6.按姓名检索学生\n;cout7.按总分排序\n;cout\n\n输入您的选择(1to7):;cingetin;switch(getin)//功能选择函数{case1:lab1://录入cout1.录入一年级学生信息endl;cout2.录入二年级学生信息endl;cout3.保存所有信息endl;cout4.返回上一级菜单endl;cout选择:;cinc1;coutendl;switch(c1){case1:{p[i]=newostudent;p[i]-set();i++;gotolab1;}case2:{p[i]=newtstudent;p[i]-set();i++;gotolab1;}case3:for(j=0;ji;j++){if(p[j]-getnianji()==1)coutp[j]-getxuehao()p[j]-getxingming()p[j]-getxingbie()p[j]-getyuwen()p[j]-getshuxue()p[j]-getyinyu()2009-p[j]-getshengri()endl;if(p[j]-getnianji()==0)coutp[j]-getxuehao()p[j]-getxingming()p[j]-getxingbie()p[j]-getyuwen()p[j]-getshuxue()p[j]-getyinyu()2009-p[j]-getshengri()endl;}cout保存成功!\n;gotolab1;default:gotolab2;}break;case2://输出数据cout学生信息\n学号姓名性别(m/w)专业/老师平均成绩年龄\n;for(j=0;ji;j++){p[j]-display();}cout\n\n输入任意数字返回主菜单:;cinc2;switch(c2){case1:case2:case3:default:gotolab2;}case3://平均成绩输出coutendlendl;cout------计算平均成绩-----\n;cout1.语文平均成绩\n;cout2.数学平均成绩\n;cout3.英语平均成绩\n;cout-----------------------\n;cout你的选择:;cinc3;switch(c3){case1:{doublesumy=0;for(j=0;ji;j++){sumy=sumy+p[j]-getyuwen();}cou

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功