C++课程设计报告 学籍管理系统Word文档下载推荐.docx

上传人:b****4 文档编号:7628345 上传时间:2023-05-08 格式:DOCX 页数:42 大小:339.96KB
下载 相关 举报
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第1页
第1页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第2页
第2页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第3页
第3页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第4页
第4页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第5页
第5页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第6页
第6页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第7页
第7页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第8页
第8页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第9页
第9页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第10页
第10页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第11页
第11页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第12页
第12页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第13页
第13页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第14页
第14页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第15页
第15页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第16页
第16页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第17页
第17页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第18页
第18页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第19页
第19页 / 共42页
C++课程设计报告 学籍管理系统Word文档下载推荐.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++课程设计报告 学籍管理系统Word文档下载推荐.docx

《C++课程设计报告 学籍管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告 学籍管理系统Word文档下载推荐.docx(42页珍藏版)》请在冰点文库上搜索。

C++课程设计报告 学籍管理系统Word文档下载推荐.docx

voidsetP1(double);

voidsetP2(double);

voidsetCla(int);

voidsetNumber(int);

voidsetAge(int);

voidsetName(string);

voidsetSex(string);

voidsetId(string);

voidsetPlace(string);

//类中各数据的设置函数

doublegetP1();

//获取学分

doublegetP2();

//获取绩点

intgetCla();

//获取班级

intgetNumber();

//获取学号

intgetAge();

//获取年龄

stringgetName();

//获取姓名

stringgetSex();

//获取性别

stringgetId();

//获取身份证号码

stringgetPlace();

//获取籍贯

friendofstream&

operator<

<

(ofstream&

output,Info&

ToT);

//重载输出文件流操作符

friendifstream&

operator>

>

(ifstream&

input,Info&

//重载输入文件流操作符

};

(2).ClassStu//stu类的声明

{

Stu();

//构造函数

voidadd();

//添加记录的函数

voiddel();

//删除记录的函数

voidsearch();

//查找记录的函数

voidshow();

//显示记录的函数

(3).ClassCla//班级管理子系统类的声明

voidshowCla();

//显示全部班级的函数

voidshowStu();

//显示某班学生的函数

voidshowStuInfo();

//显示某班学生的详细信息的函数

voidshowGra();

//显示某班成绩的函数

voidshowSort();

//显示某班成绩排序的函数

(4).ClassGra//成绩管理子系统类的声明

voidGhigh();

//查询学分高于某值的学生的函数

voidGlow();

//查询学分低于某值的学生的函数

voidPhigh();

//查询绩点高于某值的学生的函数

voidPlow();

//查询绩点低于某值的学生的函数

voidsort();

(5).ClassMenu//主菜单类的声明

voidmainmenu();

//学籍管理系统主菜单函数

voidexitmenu();

//退出学籍管理系统的函数

voidclassmenu();

//班级管理子系统菜单函数

voidgrademenu();

//成绩管理子系统菜单函数

**************************共五个类************************

六、模块分析

1.添加模块

系统将提示用户输入新添加的学生的信息,储存在文件中

2.查找模块

首先由用户输入要查找的学生姓名或学号,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的学生资料。

3.显示模块

显示模块将输出所有学生的详细信息。

4.删除模块

根据用户输入的学号删除相应学生信息。

5.班级管理子系统

1.显示全部班级

2.查询某班学生

3.查询某班学生详细信息

4.查询某班成绩信息

5.查询某班成绩排序

6.退出子系统

6.成绩管理子系统

1.查询学分高于某值的学生

2.查询学分低于某值的学生

3.查询绩点高于某值的学生

4.查询绩点低于某值的学生

5.所有学生成绩排序

七、比较有特色的函数

1.排序

voidqsort(Infob[],intl,intr)

inti,j;

doublemid1,mid2;

Infox;

i=l;

j=r;

mid1=(b[(l+r)>

1].getP1());

mid2=(b[(l+r)>

1].getP2());

do{

while(b[i].getP1()<

mid1||b[i].getP1()==mid1&

&

b[i].getP2()<

mid2)i++;

while(b[j].getP1()>

mid1||b[j].getP2()==mid2&

b[j].getP2()>

mid2)j--;

if(i<

=j)

{

x=b[i];

b[i]=b[j];

b[j]=x;

i++;

j--;

}

}while(i<

=j);

if(i<

r)qsort(b,i,r);

if(j>

l)qsort(b,l,j);

}

2.按照姓名or学号查找的函数

voidStu:

:

search()

strings;

/*记录输入的姓名*/

inti,num;

/*记录输入的学号*/

ifstreamin("

code.dat"

);

cout<

"

\t\t\t记录查询可以按照以下两种方式进行\n\n"

endl;

\t\t\t按照姓名查询请按1,按照学号查询请按2:

"

cin>

i;

if(i==1)

cout<

\t\t\t请输入学生姓名:

cin>

s;

处理姓名--学号两种方式

}

if(i==2)

\t\t\t请输入学生学号:

num;

while(!

in.eof())

in>

one;

if(i==1)

if(one.getName()==s)

按照姓名查找并输出

{

\t学号:

one.getNumber()<

\t姓名:

one.getName()<

\t性别:

one.getSex()<

endl

<

\t年龄:

one.getAge()<

\t身份证号:

one.getId()<

\t籍贯:

one.getPlace()<

\t班级:

one.getCla()<

\t学分:

one.getP1()<

\t绩点:

one.getP2()<

cout<

\t-------------------------------------------------------------------------"

}

continue;

if(i==2)

if(one.getNumber()==num)

\t---------------------------------------------------------------------------"

}/*按照学号查找并输出*/

in.close();

\t\t\t按任意键继续......"

cin.ignore();

getchar();

八、存在的不足与对策

欠缺对输入异常的处理,当所输入数据不符合要求时系统出现错误。

运行程序时严格按照提示输入信息。

九、程序源代码

#include"

Stu.h"

Menu.h"

Cla.h"

Gra.h"

#include<

iostream>

usingnamespacestd;

intmain()

Menua;

Stub;

Claz;

Grazz;

intx,y;

charc;

ofstreamout("

out.close();

while

(1)

a.mainmenu();

x;

switch(x)

case1:

b.add();

while

(1)

是否继续添加记录(y/n)?

;

cin>

c;

if(c=='

y'

)b.add();

elsebreak;

}//添加记录

break;

case2:

b.search();

break;

//查找记录

case3:

b.del();

//删除记录

case4:

b.show();

//显示记录

case5:

while

(1)

{

a.classmenu();

cin>

y;

switch(y)

{

case1:

z.showCla();

case2:

z.showStu();

case3:

z.showStuInfo();

case4:

z.showGra();

case5:

z.showSort();

case6:

}

if(y==6)break;

}

break;

}//进入班级管理子系统

case6:

a.grademenu();

zz.Ghigh();

zz.Glow();

zz.Phigh();

break;

zz.Plow();

zz.sort();

}//进入成绩管理子系统

case7:

a.exitmenu();

//退出主程序

}***************************以上为主程序**************************

*****************************以下为界面的实现程序************************

voidMenu:

mainmenu()

\n\n\n\t\t\t★★★★★学籍管理系统★★★★★\n\n\n"

\t\t※※※※※※※※※※※※※※※※※※※※※※※\n"

\t\t※1.添加记录※\n"

\t\t※2.查询记录※\n"

\t\t※3.删除记录※\n"

\t\t※4.显示记录※\n"

\t\t※5.☆班级管理※\n"

\t\t※6.☆成绩管理※\n"

\t\t※7.退出系统※\n"

\t\t※※\n"

\t\t\t请选择(1,2,3,4,5,6,7);

//主界面

classmenu()

\n\n\n\t\t\t★★★★★班级管理子系统★★★★★\n\n\n"

\t\t※1.显示全部班级※\n"

\t\t※2.查询某班学生※\n"

\t\t※3.查询某班学生详细信息※\n"

\t\t※4.查询某班成绩信息※\n"

\t\t※5.查询某班成绩排序※\n"

\t\t※6.退出子系统※\n"

\t\t\t请选择(1,2,3,4,5,6);

//子系统界面

grademenu()

\n\n\n\t\t\t★★★★★成绩管理子系统★★★★★\n\n\n"

\t\t※1.查询学分高于某值的学生※\n"

\t\t※2.查询学分低于某值的学生※\n"

\t\t※3.查询绩点高于某值的学生※\n"

\t\t※4.查询绩点低于某值的学生※\n"

\t\t※5.所有学生成绩排序※\n"

//子系统界面

*******************以下为对数据添加、查询、删除、显示的实现程序******************

Case1(添加记录),Case2(查询记录),Cas3(删除记录),Case4(显示记录)

Info.h"

Info:

Info()//构造函数

Info(Info&

obj)//拷贝构造函数

voidInfo:

setP1(doublea)

setP2(doublea)

setCla(inta)

setNumber(inta)

设置数据

setName(stringa)

setAge(inta)

setSex(stringa)

setPlace(stringa)

setId(stringa)

intInfo:

getNumber()

getAge()

stringInfo:

getName()

获取数据

getSex()

getId()

getCla()

doubleInfo:

getP1()

getP2()

getPlace()ofstream&

operator<

output,Info&

ToT)

output<

ToT.getNumber()<

\n"

ToT.getName()<

<

ToT.getSex()<

ToT.getAge()<

ToT.getId()<

ToT.getPlace()<

ToT.getP1()

ToT.getP2()<

ToT.getCla()<

endl<

returnoutput;

}//重载<

操作符

ifstream&

operator>

input,Info&

intnumber;

intage;

doublepoint1;

doublepoint2;

intcla;

stringname;

stringsex;

stringid;

stringplace;

input>

number>

name>

sex>

age>

id>

place>

point1>

point2>

cla;

ToT.setNumber(number);

ToT.setName(name);

ToT.setSex(sex);

ToT.setAge(age);

ToT.setId(id);

ToT.setPlace(place);

ToT.setCla(cla);

ToT.setP1(point1);

ToT.setP2(point2);

returninput;

}//重载>

***************以下为班级管理子系统的实现程序***********

voidCla:

showCla()

intf[1000];

inti,flag;

f[0]=0;

ifstreaminput("

input.eof())

flag=0;

input>

a;

if(input.fail())break;

for(i=1;

i<

=f[0];

i++)

if(f[i]==a.getCla())

flag=1;

if(!

flag)

f[0]++;

f[f[0]]=a.getCla();

input.close();

所录入的班级共:

f[0]<

for(i=1;

f[i]<

按任意键继续......"

***************************以上为显示班级的程序***************************

showStu()

inti,num,all=0;

--------------------------------------------------------------"

请输入您想查询的班级号:

该班级所包含的学生有:

if(a.getCla()==num)

all++;

cout<

学号:

a.getNumber()<

\t"

姓名:

a.getName()<

该班级共有学生数为:

all<

--------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2