中南大学C++实践报告.docx

上传人:b****6 文档编号:5892962 上传时间:2023-01-01 格式:DOCX 页数:16 大小:47.05KB
下载 相关 举报
中南大学C++实践报告.docx_第1页
第1页 / 共16页
中南大学C++实践报告.docx_第2页
第2页 / 共16页
中南大学C++实践报告.docx_第3页
第3页 / 共16页
中南大学C++实践报告.docx_第4页
第4页 / 共16页
中南大学C++实践报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

中南大学C++实践报告.docx

《中南大学C++实践报告.docx》由会员分享,可在线阅读,更多相关《中南大学C++实践报告.docx(16页珍藏版)》请在冰豆网上搜索。

中南大学C++实践报告.docx

中南大学C++实践报告

中南大学

C++程序设计实践报告

学院:

材料院

专业班级:

学号:

姓名:

一、实践目的

C++是一种运用广泛的电脑程序式设计语言。

在学完

C++程序设计课程后,为了加深和巩固课程的每个知识点,训练并培养自己运用所学知识独立进行程序设计、解决实

际问题的能力,学会编制结构清晰、风格良好、数据结构适当的C++吾言程序。

我们在老师的指导下进行了C++g

序设计实践,用C++吾言编制学生档案管理软件。

二、实践要求

1)、进行C++程序设计实践要求我们利用面向对象的方法以及C++的编程思想来完成该软件的设计。

2)、建立学生档案管理软件,要对所包含的学生的全部信息,能进行相应的学生信息输入、学生信息输出、学生信息删除、学生信息添加以及学生信息修改。

3)、系统的主程序中,要求会使用口令判断功能函数。

使得程序体对信息的修改更为方便。

4)、程序主函数中也要提供菜单选项,该选项具有一定的选择信息,以方便使用者使用。

三、实践内容

实践内容包括了:

学生档案管理软件的总设计框架,系统口令函数的框图,以及数据的输入、添加、修改、删除、显示等的子框图还有退出系统的框图。

学生档案管理软件总框架:

flag=0

输入p

Y

flag=1

P>='0'&&p<='9'

flag==0

Y

选项为0?

Y

选项为1?

输入数据

添加数据

N

Y

修改数据

选项为

2?

N

Y

删除学生信息

选项为

Y

>

输出所有学生成绩

N

Y

选项为

退出系统

5?

是否继续其他操作

数据输入流程图

N

3?

选项为

4?

输入w

数据录入

初始化i,j=0

(y/n)

依次输入学生的姓名、成绩等信息

学号、专业、

 

输出总成绩

输出平均成绩

将j

输出总成绩输出平均成绩

Y//flage==1录

数据修改流程图

数据修改

1==0〃没数据

 

1!

=0〃有数据

输入要修改的学生姓名

Flag==O〃无

strcmp(name,s[h].name)//查找

Flag=1〃有

的学号

Y//flage==1

Else//flage==0

N//flage==1

Else//flage==0

Y//flage==1

初始化定义

l==0?

〃判断是否有数据

初始化flage是否继续y/n

依次输入学生专业、成绩等输出总成绩输出平均成绩

录入到file录入判断是否继续y/n

没找到

数据删除流程图

 

数据显示流程图:

退出流程图:

(退出丿

四、实践体会J~I―

在指导老师的耐心教导下),我们完成了此次C++程序设计实

践。

在实践过程中,我们学会了如何运用C++吾言编写一个学生

/Byebye!

/

档案管理软件。

首先,我们要对所编软件有相应的认识,了解该学生档案管

理系统应有的功能,对相应的功能思考需要运行的函数。

例如整个程序体的主函数,系统口令函数以及数据输入输出修改删除等的函数。

然后对课堂所学内容进行灵活运用,如源程序中多次使用到的指针与数组等。

此外还需用到部分课外知识,这就考查了我们对C++程序语言的自主学习能力。

通过此次程序设计实践,用理论联系实际,加深了我对C++语言的理解与掌握,提高了我的实践能力及计算机操作能力。

编程的过程也锻炼了我运用多种方法完成编程任务的思维转换能力。

编程虽然不易但收获颇丰。

同时自身编程能力还存在一定不

足,我也会在日后的学习生活中不断改进。

学生档案管理软件源代码

#include

#include

#include

#include

usingnamespacestd;

classstudent

{

private:

charname[4];//姓名

charxibie[8];

charbanji[4];

doublecpro,english,math,sport,computer,allscore,average;〃课程

intorder,number;//名次,学号

public:

student(){}

password。

;//这个是用于系统口令的,函数声明

student(charn[4],intnu‘doublecc,doubleeng,doublema,doublesp,doublecom,doubleas,doubleav)

{

strcpy(name,n);

number=nu;

cpro=cc;english=eng;math=ma;sport=sp;computer=com;allscore=as;average=av;

}

friendvoidmain();

};

voidpassword()//从这里开始,口令函数

{

stringstrl;

system("cls");

cout<

cout<

";

cin>>str1;

cout<

if(str1!

="system")

{

cout<

请重新输入!

\n";

system("pause");

password();

}

return;

}

voidmain()

{

password();doubleallscore;doubleaverage;cout<<"

cout<<"

cout<<"

欢迎使用学生管理系统"<

******************************************"<

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

cout<<"

cout<<"

******************************************"<

"<

cout<<"

cout<<"

cout<<"

0、输入数据

1、添加数据

2、修改数据

3、删除学生信息

"<

"<

"<

cout<<"

cout<<"

cout<<"

4、输出所有学生成绩"<

5、退出系统"<

============================="<

cout<<"

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

cout<<"

"<

 

charp;charw;students[50];ofstream*file[50];inti=0;

intj=0;

intflag=0;

do

II指针对象,最多存50个学生数据//负责对文件插入操作

//flag判断输入是否有效

 

cin>>p;

if((p>='0'&&p<='9'))flag=1;

else

cout<<"指令错误!

请重新输入:

"<

 

}while(flag==O);

do{

switch(p)

{

case'O':

〃输入数据

{

charc;

charname[4];int

cpro,english,math,sport,core,computer;do{

cout<

姓名:

";

do

//接收功能选项

number;char

xibie[8];char

banji[4];double

cin»name;cout<

cin»number;cout<

cin>>xibie;cout<

cin>>banji;cout<

cin>>cpro;

cout<

cin»english;cout<

cin>>math;cout<

cin>>sport;cout<

学号:

";

专业:

";

班级:

";

C++成绩:

";

英语成绩:

";

线代成绩:

";

体育成绩:

";

微积分成绩:

";

cin>'computer;

cout<

{allscore=cpro+english+math+sport+computer;}

cout<<"总成绩:

"<

{average=(cpro+english+math+sport+computer)/5;}

cout<<"平均成绩:

"<

file[j]=newofstream("D:

\student.dat",ios:

:

ate);

*file[j]<<"姓名"<

<<"英语成绩"<

<

s[i]=student(name,number,cpro,english,math,sport,computer,allscore,average);

i++;

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

";

cin>>c;

cout<

 

{

if(c!

='y'&&c!

='n')

{

cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

else

flag=1;

}while(flag==O);

}while(c=='y');

break;

}

case'1':

//增加数据

{

charname[20];

intnumber;doublecpro,english,math,sport,computer;charc;

do

{

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

";

cin»name;

cout<

学号:

";

cin»number;

cout<

C++成绩:

";

cin>>cpro;

cout<

英语成绩:

";

cin»english;

cout<

线代成绩:

";

cin>>math;

cout<

体育成绩:

";

cin>>sport;

cout<

微积分成绩:

";

cin>'computer;

cout<

{allscore=cpro+english+math+sport+computer;}

cout<<"总成绩:

"<

{average=(cpro+english+math+sport+computer)/5;}cout<<"平均成绩:

"<

file[j]=newofstream("d:

\student.dat",ios:

:

ate);

*file[j]<<"姓名"<

<<"C++成绩"<

<<"总成绩"<

j++;

s[i]=student(name,number,cpro,english,math,sport,computer,allscore,average);i++;

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

";

cin>>c;

cout<

if(c!

='y'&&c!

='n')

{

cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

}while(c=='y');

break;

}

case2:

//修改数据

{

charname[20];intnu;doublecc,eng,ma,sp,l,hb,com,as,av;flag=0;

charc;

if(i==0)

{

cout<<"系统中找不到这个学生";

}

do

{

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

";

//h纪录要修改学生的位置

cin»name;cout<

for(inth=0;h

{

if(strcmp(name,s[h].name)==0)

flag=1;

cout<<"新的学号:

";

cin»nu;cout<

C++成绩:

";

cin>>cc;

cout<

英语成绩:

";

cin»eng;cout<

线代成绩:

";

cin>>ma;cout<

体育成绩:

";

cin>>sp;

cout<

微积分成绩:

";

cin>>com;

{as=cc+eng+ma+sp+com;}

cout<

"<

{av=as/5;}

cout<

"<

cout<

s[h].cpro=cc;

s[h].english=eng;

s[h].math=ma;

s[h].sport=sp;

s[h].number=nu;cout<<"数据修改成功!

"<

}

}

if(flag==O)

{

"<

cout<<"您要修改的学生本来就不存在!

请检查重新输入!

}

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

";

cin>>c;

cout<

if(c!

='y'&&c!

='n')

{

cout<<"指令错误!

请重新输入!

"<

cin>>c;

}

}while(c=='y');

break;

}

case3:

{

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

";

charm[20];

cin»m;

for(inta=O;a

{

if(strcmp(s[a].name,m)==O)

{

intw;

w=a;

for(w;w

{

s[w]=s[w+1];

i=i-1;}

cout<<"删除成功!

"<

}

break;}

case4:

//输出

{

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

"<

if(i==O)

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

"<

"<

cout<<"姓名学号C++英语线代体育微积分总成绩平均成绩

for(intk=O;k

{

cout<

<<(s[k]).cpro<

<<(s[k]).math<

<<(s[k]).computer<

}

break;

}

case'5':

//退出

{exit(O);cout<<"Byebye!

"<

}

cout<<"您想继续进行其他操作吗?

(y/n):

";

intflag=0;

do

{

cin>>w;

cout<

if(w!

='y'&&w!

='n')

cout<<"指令错误!

请重新输入!

"<

else

flag=1;

}while(flag==0);

if(w=='y')

cout<<"

请输入操作代码:

0输入数据"<

cout<<"

1增加数据"<

cout<<"

2修改数据"<

cout<<"

3删除学生信息"<

cout<<"

4输出所有学生成绩"<

cout<<"

5退出系统"<

cin>>p;

}while(w=='y');

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1