中南大学C++实践报告

  • 格式:doc
  • 大小:119.50 KB
  • 文档页数:18

.

.

中南大学

C++程序设计实践报告

学 院: 材料院

专业班级:

学 号: .

. 姓 名:

一、 实践目的

C++是一种运用广泛的电脑程序式设计语言。在学完C++程序设计课程后,为了加深和巩固课程的每个知识点,训练并培养自己运用所学知识独立进行程序设计、解决实际问题的能力,学会编制结构清晰、风格良好、数据结构适当的C++语言程序。我们在老师的指导下进行了C++程序设计实践,用C++语言编制学生档案管理软件。

二、实践要求

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

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

3)、系统的主程序中,要求会使用口令判断功能函数。使得程序体对信息的修改更为方便。

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

. 三、实践内容

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

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

N

Y

系统口令流程图:

开始

系统口令

显示主菜单

1、数据输入 2、数据添加 3、数据修改 5、数据显示 4、数据删除 结束

开始

password() .

.

N

Y

主菜单流程图:

输入系统口令

str1=system?

进入管理系统主界面

输入要操作的选项代码

选项为0?

选项为1?

选项为2?

选项为3? 输入数据

添加数据

修改数据

删除学生信息 main()

flag=0

输入p

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

flag=1 flag==0

Y N

N

N

N N Y

Y

Y

Y

Y .

.

数据输入流程图:

选项为4?

选项为5? 输出所有学生成绩

退出系统 N Y

是否继续其他操作(y/n)

输入w W=='y'

N Y

结束

初始化i,j=0

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

输出总成绩

输出平均成绩

录入到file并将j指向下一个

录入到student并将i指向下一个

判断是否继续y/n

初始化flage

是否继续y/n Y//flage==1

Else//flage==0

Else//flage==0 Y//flage==1 N//flage==1

N//flage==1 数据录入

主菜单

Break .

.

数据添加流程图:

数据添加

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

输出总成绩

输出平均成绩

录入到file并将j指向下一个

录入到student并将i指向下一个

主菜单

Break 初始化flage是否继续y/n 判断是否继续y/n

Y//flage==1 Else//flage==0

N//flage==1 Y//flage==1

N//flage==1 Else//flage==0 .

.

数据修改流程图:

数据修改

strcmp(name,s[h].name)//查找 初始化定义

I==0?//判断是否有数据

输入要修改的学生姓名

依次输入学生的学号、专业、成绩等信息 没找到

输出总成绩

输出平均成绩

录入到file

录入到student

判断是否继续y/n I==0//没数据

I!=0//有数据

Flag=1//有 Flag==0//无

Y//flage==1 Else//flage==0 .

. Break 主菜单

数据删除流程图:

初始化flage

是否继续y/n N//flage==1

Y//flage==1 Else//flage==0

N//flage==1

数据删除

Break 主菜单 成功 输入要删除的学生姓名

初始化flage

是否继续y/n Strcmp(name,s[h].name)/查找

数据依次覆盖 没找到

Y//flage==1

N//flage==1 Else//flage==0 .

. 数据显示流程图:

退出流程图: 数据显示

标题-数据如下

数据依次输出 没数据

主菜单

Break

初始化flage

是否继续y/n I==0?//是否有数据?

Else//flage==0

N//flage==1 Y//flage==1 .

.

四、实践体会

在指导老师的耐心教导下,我们完成了此次C++程序设计实践。在实践过程中,我们学会了如何运用C++语言编写一个学生档案管理软件。

首先,我们要对所编软件有相应的认识,了解该学生档案管理系统应有的功能,对相应的功能思考需要运行的函数。例如整个程序体的主函数,系统口令函数以及数据输入输出修改删除等的函数。然后对课堂所学内容进行灵活运用,如源程序中多次使用到的指针与数组等。此外还需用到部分课外知识,这就考查了我们对C++程序语言的自主学习能力。

通过此次程序设计实践,用理论联系实际,加深了我对C++语言的理解与掌握,提高了我的实践能力及计算机操作能力。编程的过程也锻炼了我运用多种方法完成编程任务的思维转换能力。编程虽然不易但收获颇丰。同时自身编程能力还存在一定不足,我也会在日后的学习生活中不断改进。

学生档案管理软件源代码 退出

exit(0)

Bye bye!

.

. #include

#include

#include

#include

using namespace std;

class student

{

private:

char name[4]; //姓名

char xibie[8];

char banji[4];

double cpro,english,math,sport,computer,allscore,average;//课程

int order, number; //名次,学号

public:

student(){}

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

student(char n[4],int nu,double cc,double eng,double ma,double sp,double

com,double as,double av)

{

strcpy(name,n);

number=nu;

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

}

friend void main();

};

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

{

string str1;

system("cls");

cout<

cout<

cin>>str1;

cout<

if (str1!="system")

{

cout<

system("pause");