c学生成绩管理系统课设报告含程序和截图.docx

上传人:b****2 文档编号:1423402 上传时间:2023-04-30 格式:DOCX 页数:35 大小:45.05KB
下载 相关 举报
c学生成绩管理系统课设报告含程序和截图.docx_第1页
第1页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第2页
第2页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第3页
第3页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第4页
第4页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第5页
第5页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第6页
第6页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第7页
第7页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第8页
第8页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第9页
第9页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第10页
第10页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第11页
第11页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第12页
第12页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第13页
第13页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第14页
第14页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第15页
第15页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第16页
第16页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第17页
第17页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第18页
第18页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第19页
第19页 / 共35页
c学生成绩管理系统课设报告含程序和截图.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c学生成绩管理系统课设报告含程序和截图.docx

《c学生成绩管理系统课设报告含程序和截图.docx》由会员分享,可在线阅读,更多相关《c学生成绩管理系统课设报告含程序和截图.docx(35页珍藏版)》请在冰点文库上搜索。

c学生成绩管理系统课设报告含程序和截图.docx

c学生成绩管理系统课设报告含程序和截图

 

《C++程序设计》

课程设计报告

 

设计题目:

学生成绩管理系统

 

一、设计任务与要求…………………………………………3

1.设计内容………………………………………………3

2.课程设计的要求………………………………………3

二、系统分析(需求分析)…………………………………3

1.需求分析…………………………………………3

2.系统性能要求……………………………………3

3.系统的功能分析……………………………………3

4.系统功能模块……………………………………3

5.模块框架图…………………………………………3

三、系统设计与实现……………………………………4

1.界面设计…………………………………………4

2.功能设计与实现………………………………4

四、运行显示……………………………………4

五、总结…………………………………………11

六、参考资料……………………………………11

附录:

源程序……………………………………11

一、设计任务与要求

1.目的:

通过一个实际的系统开发,提高学生应用所学知识分析问题,解决问题和实际动手的能力,更加熟练的掌握C++程序开发的基本方法和基本步骤,对系统开发时间又进一步体会。

从而综合复习《C++程序设计语言》的所有知识点,进一步熟练面向对象程序的开发方法和流程,提高学生独立分析问题和解决问题的能力。

真正理解书本知识,牢固掌握课堂教学内容。

为毕业设计及毕业后从事专业技术工作打下基础,提高学生全面素质。

2.课程设计的要求:

(1)要求用VC++语言来实现一个简单的学生数据管理系统,该系统完成后基本上要能够无错运行,能达到学生成绩管理系统的基本要求。

(2)各个功能分别是用函数来完成,函数存放在一个.cpp文件中。

(3)准备系统运行的模拟数据不得少于十条。

(4)成绩管理系统至少具有以下功能:

1)输入:

学生的基本信息,包括学号、姓名、性别、籍贯、VC++成绩、英语成绩、物理成绩等;

2)计算:

每个学生的总成绩、平均成绩所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;

3)查询:

可以按学好姓名等进行查询;

4)排序:

可以按学号、姓名、VC++成绩、英语成绩、物理成绩、总成绩、平均成绩等进行排序并输出;

5)删除:

删除某条记录;

6)帮助和关于;

7)退出:

推出整个系统的运行。

8)一些时间富裕的学生可以增加更多的菜单项,比如设置颜色、字体风格等。

二、系统分析(需求分析)

1.需求分析:

a.能对学生各科成绩进行录入。

b.能显示各科成绩平均分。

c.能显示总成绩和单科分最高的同学。

d.能对删除学生信息。

e.能对学生的成绩按姓名、学号进行查询。

f.能按学号和成绩排序。

g.能显示所有学生信息。

2.系统性能要求:

a.系统安全、可靠;

b.功能齐全;

c.操作方便、界面友好;

d易于维护和扩充。

3.系统的功能分析:

资料维护:

系统维护包括对学生信息的录入操作及数据表中的信息进行浏览。

系统功能:

可以对数据表中的信息进行浏览。

系统查询:

可以对学生的信息进行查询。

4.系统功能模块

学生成绩查询系统有:

成绩录入、删除,数据查询,排序显示构成。

5.模块框架图

三、系统设计与实现

1.界面设计

程序运行后会出现一个简捷的窗口,便于用户查询数据。

2.功能设计与实现

通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。

应用系统主控界面包括记录编辑和记录查询等功能模块。

记录编辑功能完成学生成绩记录编辑和记录查询功能。

记录查询功能可以对数据各分类的记录进行查询。

四、运行显示

1.初始页界面:

 

2.输入学生信息界面:

“请按照提示输入学生信息……”是帮助和关于,其他同学的信息如该截图依照提示录入即可。

录入完毕显示界面为:

 

3.显示总成绩和各单科分最高的同学的界面为:

 

4、删除学生的信息界面为:

 

5.按姓名查询:

 

6.按学号查询:

 

7.排序分系统:

 

1)姓名排序:

 

2)学号排序:

 

3)VC++成绩排序:

 

其他排序法与以上一样,此处不再一一显示。

 

8.显示所有学生信息:

 

9.保存文件:

 

10退出系统:

.

 

此外,界面的颜色与文字的颜色,也是可以改变的。

system("color97");//设置背景和字体颜色F是背景颜色的设置值0是字体颜色的设置值(程序第764行)

改变9和7的值即改变颜色。

五、总结

此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。

首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。

程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。

根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。

理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。

我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。

六、参考资料

C++程序设计谭浩强清华大学出版社

附录:

源程序

#include

#include

#include

#include

#include

#include

usingnamespacestd;

classstudent

{

private:

charname[20];//姓名

charsex[8];//性别

charnative[8];//籍贯

doublecpro;

doubleenglish;

doublephysical;

doubleallscore;

doubleaverage;//课程

intorder;//名次

intnumber;//学号

public:

student(){}

student(char*n,intnu,char*sex,char*native,doublecc,doubleeng,doublephy,doubleas,doubleav)

{

strcpy(this->name,n);

this->number=nu;

strcpy(this->native,native);

strcpy(this->sex,sex);

this->cpro=cc;

this->english=eng;

this->physical=phy;

this->allscore=as;

this->average=av;

}

doublegetcpro()

{

returnthis->cpro;

}

doublegetenglish()

{

returnthis->english;

}

doublegetphysical()

{

returnthis->physical;

}

doublegetalls()

{

returnthis->allscore;

}

doublegetAverage()

{

returnthis->average;

}

char*getname()

{

returnthis->name;

}

intgetnumber()

{

returnthis->number;

}

friendvoidShowHightsrcore();

friendvoidShowStuInfo();

friendvoidQueryByNumber();

friendvoidQueryByName();

friendvoidSaveFlie();

friendvoidInputStudentInfo();

};

students[50];//指针对象,最多存50个学生数据

intindex=0;

voidShowMenu()

{

cout<<"******************************************"<

cout<<"****学生成绩管理系统****"<

cout<<"******************************************"<

cout<<"0、输入学生信息"<

cout<<"1、显示各单科成绩平均分"<

cout<<"2、显示总成绩和各单科分最高的同学"<

cout<<"3、删除学生的信息"<

cout<<"4、按姓名查询"<

cout<<"5、按学号查询"<

cout<<"6、排序分系统"<

cout<<"7、显示所有学生信息"<

cout<<"8、保存文件"<

cout<<"9、退出系统"<

cout<<"********************************************"<

cout<<"选择0-9数字进行操作"<

cout<<"********************************************"<

}

voidInputStudentInfo()

{

chargetkey=0;//是否录入的选择标记

charname[20]={0};//姓名临时中间变量

intnumber=0;//学号

charsex[8]={0};//性别

charnative[8]={0};//籍贯

doublecpro=0;//c语言成绩

doubleenglish=0;//英语成绩

doublephysical=0;//物理成绩

doubleallscore=0;//总成绩

doubleaverage=0;//平均成绩

intcore=0;//名次

cout<<"请按照提示输入学生信息......"<

do

{

cout<

";

cin>>number;

boolIsOk;

do

{

boolIsOk=true;

for(intn=0;n

{

if(number==s[n].number)

{

cout<<"输入的学号重复,请重新输入:

"<

cin>>number;

IsOk=false;

break;

}

}

}while(!

IsOk);

 

cout<

";

cin>>name;

cout<

";

cin>>sex;

cout<

";

cin>>native;

cout<

";

cin>>cpro;

cout<

";

cin>>english;

cout<

";

cin>>physical;

cout<

allscore=cpro+english+physical;//计算该生的总成绩

cout<<"总成绩:

"<

average=allscore/3;//技术该生平均成绩总成绩/科目数

cout<<"平均成绩:

"<

s[index]=student(name,number,sex,native,cpro,english,physical,allscore,average);

cout<<"数据输入成功,想继续输入吗?

(y继续/任意键退出录入):

";

cin>>getkey;

index++;

}while(getkey=='y'||getkey=='Y');

cout<<"学生数据录入完毕,键入任意键返回主菜单。

";

getchar();

getchar();

}

voidShowAverage()

{

if(index==0)

{

cout<<"管理系统中没有输入数据!

"<

cout<

"<

getchar();

getchar();

return;

}

doublecpro_ave=0;

doubleenglish_av=0;

doublephysical_ave=0;

for(inti=0;i

{

cpro_ave+=s[i].getcpro();

english_av+=s[i].getenglish();

physical_ave+=s[i].getphysical();

}

 

cout<<"该班级各单科总平均分分别为:

"<

cout<<"VC++平均成绩为"<

cout<<"英语平均成绩为"<

cout<<"物理平均成绩为"<

cout<

"<

getchar();

getchar();

}

voidShowStuInfo()

{

cout<<"学号姓名c++英语物理总成绩平均成绩"<

for(inti=0;i

{

cout<

<

<

<

}

}

voidShowHightsrcore()

{

if(index==0)

{

cout<<"管理系统中没有输入数据!

"<

cout<

"<

getchar();

getchar();

return;

}

doubleallscoretmp=0;//用来存放总分最高的临时变量

doublecprotmp=0;//用来存放VC最高的临时变量

doubleenglishtmp=0;//用来存放英语最高的临时变量

doublephysicaltmp=0;//用来存放物理最高的临时变量

inti;

for(i=0;i

{

allscoretmp=allscoretmp

s[i].getalls():

allscoretmp;

cprotmp=cprotmp

s[i].getcpro():

cprotmp;

englishtmp=englishtmp

s[i].getenglish():

englishtmp;

physicaltmp=physicaltmp

s[i].getphysical():

physicaltmp;

}

cout<<"总成绩最高的学生为:

"<

cout<<"学号姓名c++英语物理总成绩平均成绩"<

for(i=0;i

{

if(allscoretmp==s[i].getalls())

{

cout<

<

<

}

}

cout<<"VC成绩最高的学生为:

"<

cout<<"学号姓名c++英语物理总成绩平均成绩"<

for(i=0;i

{

if(cprotmp==s[i].getcpro())

{

cout<

<

<

}

}

cout<<"英语成绩最高的学生为:

"<

cout<<"学号姓名c++英语物理总成绩平均成绩"<

for(i=0;i

{

if(englishtmp==s[i].getenglish())

{

cout<

<

<

}

}

cout<<"物理成绩最高的学生为:

"<

cout<<"姓名学号c++英语物理总成绩平均成绩"<

for(i=0;i

{

if(physicaltmp==s[i].getphysical())

{

cout<

<

<

}

}

cout<

"<

getchar();

getchar();

}

voidDelete()

{

if(index==0)

{

cout<<"管理系统中没有输入数据!

"<

cout<

"<

getchar();

getchar();

return;

}

while

(1)

{

boolIsfind=false;

cout<<"请输入你要删除的学生姓名:

";

charnametmp[20];

cin>>nametmp;

for(inti=0;i

{

if(strcmp(s[i].getname(),nametmp)==0)//在数组中找到要删除学生

{

Isfind=true;

for(intj=i;j

{

s[j]=s[j+1];//将删除的学生后的数据全部往前移一位

}

index--;

cout<<"删除成功!

"<

}

}

 

if(!

Isfind)//没有找到输入的学生的姓名

{

cout<<"没有找要删除的学生的信息,请查证后再试。

"<

}

cout<<"要删除其他的学生么?

(Y/N)";

chargetkey;

cin>>getkey;

if(getkey!

='y'&&getkey!

='Y')

{

cout<

break;

}

}//while

(1)

cout<

"<

getchar();

getchar();

}

voidQueryByNumber()

{

if(index==0)

{

cout<<"管理系统中没有输入数据!

"<

cout<

"<

getchar();

getchar();

return;

}

chargetkey;

do{

boolIsFind=false;

intnumbertmp;

cout<<"请输入你要查询的学生的学号:

";

cin>>numbertmp;

cout<

for(inti=0;i

{

if(s[i].number==numbertmp)

{

IsFind=true;

cout<<"您要查询的学生是:

"<<(s[i]).name<

cout<<(s[i]).name<<"的成绩是:

"

<<"C++:

"<<(s[i]).cpro<<"英语:

"<<(s[i]).english<<"物理:

"<<(s[i]).physica

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

当前位置:首页 > 法律文书 > 调解书

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

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