c++课程设计43059.docx

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

c++课程设计43059.docx

《c++课程设计43059.docx》由会员分享,可在线阅读,更多相关《c++课程设计43059.docx(30页珍藏版)》请在冰点文库上搜索。

c++课程设计43059.docx

c++课程设计43059

 

学生成绩管理系统

1.需求分析

学校的学生成绩信息管理是学校管理中的一项重要任务,以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效率,利用计算机进行信息处理成为必然.开发功能完善及安全可靠的管理系统可以大大提高学校资源的利用率,及时,准确地获取需要的信息,充分发挥人员的工作潜力。

因此,不难想象,正是咨询业的迅速发展使得人们从过去的手工劳动中得以解脱.同时,编写一套完善的学生成绩管理系统的任务就显得尤为重要。

软件开发的意图为便于学校的管理,方便查看有关学校及学生的情况。

如教务处对学生成绩的修改、删除、查找、添加等。

2概要设计

设计一个学生成绩管理系统,使之能完成以下功能:

1.信息录入功能

2.信息查询功能

3.信息删除功能

4.信息修改功能

5.信息浏览功能

6.查询各个学生平均分

7.各科不及格人数

8.各学生按总分排名

使用的关于学生信息的信息

表2-1学生表

名称

标识符

类型

备注

索引

Index

Int

自加1

学号

ID

Int

唯一性

姓名

Name

String

不唯一

数学成绩

M

Double

非空

英语成绩

E

Double

非空

C++成绩

C

Double

非空

总分

Sum

Double

非空

平均分

Avg

Float

非空

3详细设计

学生成绩管理系统的界面如下:

3.1.信息录入功能

界面如下:

代码如下

case1:

//数据的录入

{

charc;//用于在小项中选择是否继续操作

charname[20];

intnumber;

floatmath,cpp,english;

do{

cout<<"请输入姓名:

"<

cin>>name;

cout<<"请输入学号:

"<

cin>>number;

cout<<"请输入数学成绩:

"<

cin>>math;

cout<<"请输入C++成绩:

"<

cin>>cpp;

cout<<"请输入英语成绩:

"<

cin>>english;

fstreamoutfile,infile;//作一个文本文档在文件夹中用于显示所录入的数据

outfile.open("f1.txt",ios:

:

out|ios:

:

app);

if(!

file)

{cout<<"f1.txtcannotopen.\n";

return;

}

outfile<

"<

"<

"<

"<

outfile.close();

infile.open("f1.txt",ios:

:

in);

if(!

file)//判断文件是否打开

{cout<<"f1.txtcannotopen.\n";

return;

}

charch;

while(infile.get(ch))

cout<

cout<

infile.close();

j++;

s[i]=newTstu(name,number,math,cpp,english);

i++;

cout<<"数据录入成功,想继续录入吗(y/n)"<

cin>>c;

chris1=0;

do{

if(c!

='y'&&c!

='n')

{cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

else

chris1=1;

}while(chris1==0);

}while(c=='y');//重复输入

break;

}

3.2.增加功能

界面如下:

代码如下:

case2:

//增加学生数据

{

charname[20];

intnumber;

floatmath,cpp,english;

charc;

do

{

cout<<"请输入您要增加的学生的姓名:

"<

cin>>name;

cout<<"请输入你要增加的学生的学号:

"<

cin>>number;

cout<<"请输入数学成绩:

"<

cin>>math;

cout<<"请输入C++成绩:

"<

cin>>cpp;

cout<<"请输入英语成绩:

"<

cin>>english;

fstreamoutfile,infile;

outfile.open("f1.txt",ios:

:

out|ios:

:

app);

if(!

file)

{

cout<<"f1.txtcannotopen.\n";

return;

}

outfile<

"<

"<

"<

"<

outfile.close();

infile.open("f1.txt",ios:

:

in);

if(!

file)

{

cout<<"f1.txtcannotopen.\n";

return;

}

charh;

while(infile.get(h))

cout<

cout<

infile.close();

j++;

s[i]=newTstu(name,number,math,cpp,english);

i++;

cout<<"数据录入成功,想继续录入吗(y/n)"<

cin>>c;

if(c!

='y'&&c!

='n')

{

cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

}while(c=='y');

break;

}

3.3.删除功能

界面如下:

代码如下:

case3:

//删除学生信息

{

charc;

stringxingming,line,str,name;

do

{ifstreamfin("f1.txt");

fstreamoutfile("f2.txt",ios:

:

trunc|ios:

:

out);//作一个文本文档在文件夹中用于显示所录入的数据

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

"<

cin>>xingming;

while(!

fin.eof())

{

getline(fin,line);

istringstreamstream(line);

name=line.substr(0,line.find("",0));//找到名字,判断是否相等

if(name!

=xingming)

outfile<

}

outfile.close();

fin.close();

fstreamf("f1.txt",ios:

:

trunc|ios:

:

out);

ifstreamoutf("f2.txt");

f<

outf.close();

f.close();

cout<<"数据删除成功,想继续删除吗(y/n)"<

cin>>c;

if(c!

='y'&&c!

='n')

{

cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

}while(c=='y');

break;

}

3.4.修改功能

界面如下:

代码如下:

case4:

//修改数据

{

stringsname,line,str,name;

intnu;floateng,ma,com;intflag;charc;

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!

"<

}

do

{

flag=0;

cout<<"请输入您要修改的学生的姓名:

";

cin>>name;

fstreamfin("f1.txt",ios:

:

in);

ofstreamoutfile("f.txt",ios:

:

trunc|ios:

:

out);

cout<

while(!

fin.eof())//在文件中查找

{

getline(fin,line);

istringstreamstream(line);

sname=line.substr(0,line.find("",0));

if(name!

=sname)

{

outfile<

}

elseflag=1;

}

fin.close();

if(flag=1)

{

cout<<"请输入修改学生姓名及其新学号,数学,c++和英语成绩:

";

cin>>name>>nu>>ma>>com>>eng;

cout<

outfile<

"<

"<

"<

"<

outfile.close();

fstreamoutf("f1.txt",ios:

:

trunc|ios:

:

out);

fstreaminf("f.txt",ios:

:

in);

outf<

outf.close();

inf.close();

}

if(flag=0)cout<<"对不起,您要修改的学生不存在!

请查证后输入!

"<

cout<<"想继续修改吗(y/n):

";

cin>>c;

cout<

if(c!

='y'&&c!

='n')

{

cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

}while(c=='y');

break;

}

3.5.查询各个学生平均分

界面如下:

代码如下:

case8:

//统计每个学生的平均成绩

{

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!

"<

}

for(intm=0;m

{

cout<<(*s[m]).name<<"学号:

"<<(*s[m]).number<<"总分:

"<<(*s[m]).getsum()<<"均分:

"<<(*s[m]).getaver()<

}

break;

}

3.6.信息浏览功能

界面如下:

代码如下:

case7:

//输出所有学生数据

{

cout<<"所有学生数据如下:

"<

ifstreamfile;

file.open("f1.txt",ios:

:

in);

cout<

file.close();

break;

}

4该设计所用的技术

使用c++面向对象语言开发,代码中使用了for,while,if,switch等循环判断语句,主函数依次调用外围函数,各个函数之间使用数组首地址传递,各个模块之间坚持高内聚低耦合的原则,最大程度上改善本软件的健壮性和可修改性。

5课程设计总结

课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。

在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。

学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.

通过这次模具设计,本人在多方面都有所提高。

通过这次模具设计,综合运用本专业所学课程的理论和生产实际知识进行一次冷冲压模具设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了冷冲压模具设计等课程所学的内容,掌握冷冲压模具设计的方法和步骤,掌握冷冲压模具设计的基本的模具技能懂得了怎样分析零件的工艺性,怎样确定工艺方案,了解了模具的基本结构,提高了计算能力,绘图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。

在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

在此感谢我们的老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。

而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。

同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。

由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。

6参考文献

1.《C++程序设计课程设计》刘振安编着

2.《C++Builder和Delphi课程设计与系统开发案例》伍俊良清华大学出版社

3.VisualC++课程设计案例精编严华峰中国水利水电出版社2004

4.VisualC++课程设计与系统开发案例伍俊良清华大学出版社2002

5.VisualC++语言课程设计:

案例精选与编程指导陈清华朱红东南大学出版社2003

6.VisualC++课程设计案例精编中国水利水电出版社2002

7.数据结构课程设计案例精编:

用C/C++描述李建学李光元吴春芳清华大学出版社7-302-14536-92007

8.谭浩强.C程序设计(第三版)[M].北京:

清华大学出版社,2007.

7全部代码

#include

#include

#include

#include

#include

usingnamespacestd;

classTstu//通过定义一个类来定义数据录入的函数

{

charname[20];

intnumber;

floatmath,cpp,english,average,sum;

public:

Tstu()

{};

Tstu(charn[20],intnum,floatma,floatcj,floateng);

floatgetsum();//得到总分的函数

floatgetaver();//得到平均分的函数

friendvoidmain();//将主函数定义为友元函数,方便访问类中的成员

};

Tstu:

:

Tstu(charn[20],intnum,floatma,floatcj,floateng)

{

strcpy(name,n);//得到姓名

number=num;//得到学号

math=ma;//得到数学成绩

cpp=cj;//得到c++成绩

english=eng;//得到英语成绩

}

floatTstu:

:

getsum()//得到总分的函数

{

sum=cpp+english+math;

returnsum;

}

floatTstu:

:

getaver()//得到平均分的函数

{

average=getsum()/3;

returnaverage;

}

voidmain()

{

cout<<"*****************欢迎来到学生成绩查询系统*****************"<

cout<<"请选择您需要的操作!

"<

cout<<"操作:

"<

cout<<"

(1)数据录入"<

cout<<"

(2)增加学生"<

cout<<"(3)删除学生"<

cout<<"(4)修改数据"<

cout<<"查询:

"<

cout<<"(5)按总成绩查询"<

cout<<"(6)按姓名查询"<

cout<<"(7)输出所有学生的数据"<

cout<<"成绩统计:

"<

cout<<"(8)每个学生的平均成绩"<

cout<<"(9)各科不及格人数"<

cout<<"排名:

"<

cout<<"(10)按总分查询排名"<

cout<<"(11)退出"<

cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!

"<

intp=0;//全局变量,用于选择菜单时的输入

charw;//全局变量,用于在大项中选择是否继续操作

Tstu*s[100];//类定义的指针将所录入的数据按类中的形式分别存储

ofstream*file[100];

inti=0;//全局变量,用于做每个录入数据的下标

intj=0;

intchris1=0;//用于判断do—while语句

do//判断输入是否正确

{

cin>>p;

if((p>=1&&p<=11))

chris1=1;

else

cout<<"指令错误!

请重新输入:

"<

}while(chris1==0);

do{

switch(p)

{

case1:

//数据的录入

{

charc;//用于在小项中选择是否继续操作

charname[20];

intnumber;

floatmath,cpp,english;

do{

cout<<"请输入姓名:

"<

cin>>name;

cout<<"请输入学号:

"<

cin>>number;

cout<<"请输入数学成绩:

"<

cin>>math;

cout<<"请输入C++成绩:

"<

cin>>cpp;

cout<<"请输入英语成绩:

"<

cin>>english;

fstreamoutfile,infile;//作一个文本文档在文件夹中用于显示所录入的数据

outfile.open("f1.txt",ios:

:

out|ios:

:

app);

if(!

file)

{cout<<"f1.txtcannotopen.\n";

return;

}

outfile<

"<

"<

"<

"<

outfile.close();

infile.open("f1.txt",ios:

:

in);

if(!

file)//判断文件是否打开

{cout<<"f1.txtcannotopen.\n";

return;

}

charch;

while(infile.get(ch))

cout<

cout<

infile.close();

j++;

s[i]=newTstu(name,number,math,cpp,english);

i++;

cout<<"数据录入成功,想继续录入吗(y/n)"<

cin>>c;

chris1=0;

do{

if(c!

='y'&&c!

='n')

{cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

else

chris1=1;

}while(chris1==0);

}while(c=='y');//重复输入

break;

}

case2:

//增加学生数据

{

charname[20];

intnumber;

floatmath,cpp,english;

charc;

do

{

cout<<"请输入您要增加的学生的姓名:

"<

cin>>name;

cout<<"请输入你要增加的学生的学号:

"<

cin>>number;

cout<<"请输入数学成绩:

"<

cin>>math;

cout<<"请输入C++成绩:

"<

cin>>cpp;

cout<<"请输入英语成绩:

"<

cin>>english;

fstreamoutfile,infile;

outfile.open("f1.txt",ios:

:

out|ios:

:

app);

if(!

file)

{

cout<<"f1.txtcannotopen

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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