中南大学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");