您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > c++课程设计报告学生成绩管理系统
C++实习报告一、课程设计目的1.C++课程设计,使我们能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,2.要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。3.通过课程设计掌握《C++语言程序设计》的编程思想,为后续课程打下基础。4.培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。二、课程设计的内容1、课程设计的题目及简介文本界面为管理员1.输入信息2.保存信息3.查询信息4.修改并保存5.显示全部6.删除信息7.退出系统学生1信息查询(1)输入姓名(2)输入学号2退出系统2、设计说明总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行(1)首先,看题目要求,每一条记录包括一个学生的姓名、性别、专业、出生日期、家庭住址、英语成绩。同时,应具备以下功能:1、输入功能:一次可以完成自定义学生人数的学生成绩记录的输入。2.保存功能:对指定学生的成绩进行保存3.查询功能:选择某种方式并输入该成绩查询符合条件的学生成绩4、修改并保存功能:对指定学生的成绩进行修改保存。5.显示功能:将以上功能操作后的学生成绩显示出来。6、删除功能:对指定学生的成绩进行删除。7.退出主菜单。3程序流程图各功能模块的实现流程图:1增加学生成绩调用函数Node*Create()判断gg是否等于一如果是可创建链表输入相应的学生成绩如果不是则需要运用Insert(p)函数插入结点增加学生成绩的,并通过chundang(p)函数进行存档,具体流程如下图所示流程图2删除学生成绩调用函数Node*Delete(Node*head,intnum)删除学生的成绩则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务流程图3.导入学生成绩打开存档文件ifstreamFilein(out.txt);输出说存档的学生成绩4、学生成绩的搜索调用函数Node*sousuo(Node*head,charna[20]),按学生的姓名进行搜索输入要删除成绩的编号该生成绩已删除,显示其他同学的成绩输出所有学生的成绩新增学生成绩按提示:输入学个的各种成绩按格式显示输入的学生成绩退出该功能,返回主菜单,继续选择退出该功能,返回主菜单,继续选择导入学生成绩显示学生的成绩退出该功能,返回主菜单,继续选择判断以前是否存储了学生成绩是新增成绩输入要删除学生成绩2流程图:5成绩的统计调用函数Node*tongji(Node*head)运用一个for循环,将输入的相应的学生成绩用strcmp()函数与对应的数组进行比较,然后再进行统计。6、按英语成绩进行排序:调用函数Node*paixu(Node*head)完成排序功能它的主要思想的:首先设置英语成绩的最大值100,最小值0(也可以使150或者其他)然后让输入的学生成绩英语成绩一次比较进行比较,(如果有相等的就输出排名1,然后排名加1),否则最大值减1,然后再次进行比较(如果等于99且上次没有等于100的,就输出排名1,然后排名加1,如果上次有等于100的排名为2),如果没有与99相等的.,则继续循环……流程图:总功能模块图:搜索学生成绩4按照提示输入学生的姓名进行搜索输出所以查询的学生成绩退出该功能,返回主菜单,继续选择成绩的统计:5统计所设定的专业人数和男女性别的人数,计算学生的年龄并统计输出统计的成绩退出该功能,返回主菜单,继续选择按学生成绩进行排序5对英语成绩进行排序输出排序之后的学生成绩退出该功能,返回主菜单,继续选择2、输入要删除的学生的编号,删除学生成绩。1输入学生的成绩:姓名、性别、专业、出生日期、家庭地址、英语成绩菜单1.新增学生成绩2.删除学生成绩3.导入学生成绩4.学生成绩搜索5.学生成绩统计6.学生成绩保存7.退出5统计各种专业、男女、相应年龄的人数7保存学生成绩:提示保存成功4、输入你要查找你学生姓名3、输出学生的编号、姓名、性别、专业、出生日期、家庭地址、英语成绩7、退出系统学生管理系统功能模块图各功能显示效果模块图:学生和管理员输入管理员进入界面后增加学生成绩和导入学生成绩保存学生成绩学生进入界面后,按学生姓名查询并输出成绩4、程序清单#includeiostream#includestring#includefstreamusingnamespacestd;#definepassword123456;//people.hclassstupeople//人员类基类{public:intgetage();//年龄char*getname();//姓名char*getsex();//性别voiddisplay();//输出信息voidpeosearch();//查询信息voidpeosave();//保存信息private:charname[20];charsex[4];intage;};//student.hclassstustudent:publicstupeople{public:intgetnumber();//学号doublegetcscore();//语文doublegetmscore();//高数doublegetescore();//外语doublegetpscore();//C++doublegetdscore();//数据库doublegetsscore();//体育doublegetave();//平均成绩doublegetsum();//总成绩voidstuenterinfo();//输入信息voiddisplay();//输出信息voidstusearch();//查找信息voidstusave();//保存信息voidstuload();//加载信息private:intnumber;doublecscore;doublemscore;doubleescore;doubledscore;doublepscore;doublesscore;doublesumscore;doubleavescore;};//admin.hclassstuadmin:publicstustudent//派生类管理员类{public:voidchange();//更改信息voiddel();//删除信息private:intnewage;intnewnumber;charnewsex;charnewname;charchangename[20];doublenewcscore;doublenewmscore;doublenewescore;doublenewdscore;doublenewpscore;doublenewsscore;doublenewsumscore;doublenewavescore;};inti,j,p[6];charA,B,x;stuadminsa;structstudentinfo{intnumber;charname[20];charsex[4];intage;doublecscore;doublemscore;doubleescore;doublepscore;doubledscore;doublesscore;doublesumscore;doubleavescore;intflag;}s;//人员类的相关函数的定义intstupeople::getage(){returnage;}char*stupeople::getname(){returnname;}char*stupeople::getsex(){returnsex;}//学生类的相关函数的定义intstustudent::getnumber(){returnnumber;}doublestustudent::getcscore(){returncscore;}doublestustudent::getmscore(){returnmscore;}doublestustudent::getescore(){returnescore;}doublestustudent::getpscore(){returnpscore;}doublestustudent::getdscore(){returndscore;}doublestustudent::getsscore(){returnsscore;}doublestustudent::getsum(){sumscore=cscore+mscore+escore+pscore+dscore+sscore;returnsumscore;}doublestustudent::getave()//平均成绩{avescore=sumscore/6;returnavescore;}voidstustudent::stuenterinfo()//输入信息{cout请输入学号:;cins.number;coutendl;cout请输入姓名:;cins.name;coutendl;cout请输入性别:;cins.sex;coutendl;cout请输入年龄:;cins.age;coutendl;cout请输入各科成绩:endl;cout语文:;cins.cscore;coutendl;cout高数:;cins.mscore;coutendl;cout外语:;cins.escore;coutendl;coutC++:;cins.pscore;coutendl;cout数据库:;cins.dscore;coutendl;cout体育:;cins.sscore;coutendl;cout信息输入成功!endl;s.flag=0;s.sumscore=s.cscore+s.mscore+s.escore+s.pscore+s.dscore+s.sscore;s.avescore=s.sumscore/6;}voidstustudent::stusave()//保存信息{ofstreamout(information.txt,ios::app|ios::binary);if(out){out.write((char*)&s,sizeofs);cout信息保存成功!endl;}elsecout文本为空!endl;out.close();}voidstustudent::display()//显示信息{ifstreamifile;ifile.open(information.txt,ios::binary);if(ifile){while(ifile.read((char*)&s,sizeofs)!=0){if(s.flag==0){cout学号:s.number姓名:s.name性别:s.sex年龄:s.age语文:s.cscore高数:s.mscore外语:s.escoreC++:s.pscore数据库:s.dscore体育:s.sscore总分:s.sumscore平均分:s.avescoreendl;}}}elsecout文本为空!endl;ifile.close();}voidstustudent::stusearch()//查询信息{charstuname[20];inte=0;cout请输入您要查找的姓名:;cinstuname;ifstreamifile;ifile.open(information.txt,ios::binary);if(ifile){while(ifil
本文标题:c++课程设计报告学生成绩管理系统
链接地址:https://www.777doc.com/doc-7259219 .html