实验报告分享-实验报告博客网

实验报告交流,实验报告下载,实验报告博客网免费为你服务

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 叶 奇 祖 学号 410704138

案例名称:学生选课小系统 06 年 04 月 14 日

实验目的:

  描述课程类和学生类。用重用类的多文件程序结构形式,编制面向对象应用程序。

  

实验环境:

  Microsoft Visual C++ 6.0

实验步骤:

1.选择增加学生选项,增加学生的名字,查看学生存在情况;

2.选择增加课程选项,增加课程的名字, 查看课程资料课程存在情况;

3.选择学生选课选项,输入学生并选课;

4.选择查询学生资料,进行学生选课情况查询;

5.选择查询课程资料,进行课程情况查询;

6,选择退出键退出

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):

  1.程序功能:它以函数(一个功能菜单)为中心,分层逐步展开程序设计。

  学生有名字,学生最多可学五门课程,学生选的课程数,可以给定学生的名字,可以得到学生的名字,可以得到学生给定课程的成绩,可以给学生增加一门课(同时在该课程中增加一个学生)。课程有实际学生数,每门课程最多可以有的学生人数为30人。课程有入选学生名单,课程有学分数,课程有每个学生成绩,课程可以得到的学分数,课程可以得到某个学生成绩。

  2.程序结构:通过重用类的多文件结构形式和对象间的调用。

         头文件 :类定义、:学生类、学生库类、课程类、课程库类

运用程序:学生、学生库、课程、课程库、主程序

  3.涉及知识点:1)类和类的对象的应用;

2)switch 的运用.;

3)函数构造和析构的运用;

4)函数间参数的调用;

5)文件相应知识的应用;

7)指针和数组的应用;

4.设计思路:利用构造函数、对象调用和switch结构来调用你所要进入的步骤.

5。程序优缺点:缺点:程序安全性不高,程序随意输入时直接结速,输入后没能再删除,每次只能执行一次添加或查看,实用性不强;

优点:程序基本功能能够实现,选课可以进行。

学习心得:

通过这次实验,我对面向对象的程序设计有了进一步的认识,对类和对象的应用进一步加深了,对程序的整体把握有了初步的了解。

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 林玉先 学号 310704342

案例名称:学生选课小系统 2006 年 4 月13日

实验目的:

(1) 练习和掌握类与对象的定义和使用方法;

(2) 练习和掌握成员与成员函数的访问方式;

(3) 理解构造函数与析构函数的定义与执行过程,并学会应用;

  

实验环境:

Microsoft Visual C++ 6.0环境

实验步骤:

1. 阅读程序和理解算法;

2. 依照设计思路逐一完善程序功能;

3. 调试程序并分析结果。

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):

  程序功能:可以添加学生和课程,学生可以选课,可以查询学生选课情况(课程数、课程名、各科分数、总平均分);

  程序结构:由9个文件组成,包括5个源文件和4个头文件。4个头文件分别定义了4个类。除一个包含主函数的源文件外,其他的4个源文件对应着4个头文件。

  涉及知识点:

(1) 类与对象;

(2) 数据成员与成员函数;

(3) 构造函数与析构函数;

(4) 文件的读写;

  设计思路:

1. 显示软件封面、功能选择菜单(共6个功能,分别是增加学生、课程,查询学生、课程,学生选课和退出程序);

2. “增加学生”:先读取保存学生信息的文件(student.txt),如文件中已有记录则读取并显示,没有则新建立文件,然后出现提示,此时可输入新添加的学生的名字(不超过4个字符,输入0取消添加),如已有同名学生则提示后重新输入。添加完成后程序将新记录写进文件,并询问是否继续添加,输入y继续添加,输入其他返回主菜单;

3. “增加课程”:先读取保存课程信息的文件(course.txt),如文件中已有记录则读取并显示,没有则新建立文件,然后出现提示,此时输入新添加的课程的名字(不超过4个字符,输入0取消添加),接着还要输入新课程的学分,如已有同名课程则提示后重新输入。添加完成后程序将新记录写进文件,并询问是否继续添加,输入y继续添加,输入其他返回主菜单;

4. “学生选课”:程序先要查看下是否有学生和课程的记录,只要缺少其中一样就提示并返回主菜单,否则显示学生列表,询问要选课的学生,然后显示课程列表,询问要选择的课程,并要求输入成绩。选课成功后将信息写入文件。

5. “查询学生”:先读取保存学生信息的文件(student.txt),如文件中已有记录则读取并显示,没有则提示并暂停,在按任意键后返回主菜单。否则显示学生列表,询问要查询学生的姓名。输入学生名后查找下是否存在该生,存在则调用类的成员函数求出其所选总课程的平均分连同其他所选课程、所选课程课数以及每个课程的得分等信息输出。然后询问时候继续查询,输入”y”则继续查询,输入其他返回主菜单;

6. “退出”:询问是否确认退出程序,选”y”清屏,显示告别辞后退出程序;选其他的则返回主菜单

  

学习心得:

  通过本例基本掌握了类与对象的使用方法,熟悉构造函数,析构函数等成员函数的应用。

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 詹信 学号 410704118

案例名称:滚动条 2006 年 4 月 24日

实验目的:学会使用可视化编程,提高编程能力,分析程序的能力,可以学着自己编些比较大点的程序。把书本里的知识应用到实践中,使理论联系实际!

实验环境:Microsoft Visual C++ 6.00

实验步骤:1.听老师分析程序。

2.构思,做出流程图.

3编写程序.

4.分析程序的不足之处,并加以修改,完美程序.

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):

1.这是一个关于滚动条设计的程序,它的功能是制做一个滚动条,滚动条上的小块可以通过左右的三角形按钮来移动,也可以用鼠标直接拉动。小块还可以通过按”Left”和”Right”键来将其直接拉到滚动条的最左边和最右边。”Reset”键可以使小块恢复到起始位置,”Exit”还有退出功能。

2.程序主要分为2大部分:可视化界面和源代码。

3.程序首先根据题目要求分出5个功能,根据5个不同功能要各设计一个函数,然后将每个函数加入到每个按钮的源代码里面。

4.程序的优点:效率高,易于使用。

程序的缺点:还没有实际应用到具体实例中,没有体现其价值。

学习心得:通过编写这个程序,使我学会了一些可视化操作的方法,了解了可视化编程的步骤。

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 杨健 学号 410704151

案例名称:滚动条控件 2006年 4月 27日

实验目的:

1. 进一步了解和熟悉MFC Applicatio。

2.通过案例程序的分析,加深程序执行过程的理解,以及一个大的程序设计模块化的重要性。

实验环境:

Visual C++ 6.0

实验步骤:

1. 功能分析

  2.用户界面设计

  3.程序设计

  4. 不断调试、修改,直至运行成功

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):

程序功能:

所设计的程序能实现滚动条的左移,右移,且能通过’置左端’、’置右端’和’复位’去辅助和增强滚动条的作用!

程序结构:

1. 用户界面(即:对话框)和程序段。

2. 功能函数模块

涉及知识:

用户界面设计,MFC程序设计。

设计思路:

  模仿滚动条的功能,用MFC设计”滚动条”,使其能够实现滚动条的左移、右移功能,及复位等功能

  

程序的优缺点:

程序功能单一。

学习心得:

学会如何实现滚动条的功能。

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 杨如川 学号 42

案例名称:学生选课小系统 年 月 日

实验目的: 知道面向对象程序的结构和方法。理解程序的算法

实验环境:visual c++

实验步骤:1 编写头文件

2 编写源文件

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):程序功能:

1 增加学生:学生有名字。可以给定学生的名字,可以得到学生的名字;

2 增加课程:学生最多可选5门课程;

3 学生选课:输入学生的名字,课程 成绩;;

4 查询学生情况:输入学生的名字可知道该学生选的课程 和 成绩

5查询课程情况:输入课程名可知道那些学生选了该课程,和该课程的成绩;

6 推出系统

程序结构:

包括 4个头文件:course.h coursedb.h student.h studentdb.h

5个源文件:course.cpp coursedb.cpp student.cpp studentdb.cpp main.cpp

涉及知识点:定义类 创建类对象 构造函数 析够函数 函数的调用

程序设计思路:用头文件定义4个类:学生类,学生情况类,课程类,课程情况类

编写源文件时把对应的头文件包含进来;例如,编写学生源文件时把学生头文件包含

  进来,在源文件中创建类对象时,调用构造函数为对象分配内存空间;

   在主函数中通过选折语句调用相应的函数执行相应的功能;

  

  

   程序的优点和缺点:

   程序结构清晰,通俗易懂。是个不错的程序。没什么缺点

学习心得:

大致了解面向对象程序设计的方法;初步掌握面向对象程序设计的思路;为以后

编写面向对象程序奠定一定的基础

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》综合性实验指导书

实验题目:学生选课小系统(实验四)

课程名称:面向对象程序设计C++

计划学时:4

起稿人:邹金安

一、实验目的

1、理解面向对象程序设计的基本概念(类、对象、成员函数、成员变量);

2、掌握面向对象程序设计的基本方法;

3、综合复习课程的所有知识点,进一步熟练面向对象程序的开发方法和流程,提高独立分析问题和解决问题的能力,培养实践动手技能。

二、实验任务

  请设计一个学生选课小系统。

  要求:描述课程类和学生类。用重用类的多文件程序结构形式,编制面向对象应用程序。学生有名字,学生最多可学五门课程,学生实际学的门数,可以给定学生的名字,可以得到学生的名字,可以得到学生给定课程的成绩,可以得到学生所学课程的平均成绩,可以给学生增加一门课(同时在该课程中增加一个学生)。课程最多有30个学生,课程有实际学生数,课程有实际学生名单,课程有学分数,课程有每个学生成绩,课程可以得到学分数,课程可以设置学分数,课程可以得到班平均成绩,课程可以得到某个学生成绩。

  现有数学课,张三学数学,成绩为3.1分,李四学数学,成绩为4.5分。求其平均成绩,求张三的数学成绩。

  现有物理课,学时数为4,张三学物理,成绩为4分。求张三所学课程的平均成绩。

  

  

三、实验相关理论和原理

  在以往学习的基础上,对以往所学内容进行整合,综合运用类、对象等面向对象技术,进行管理系统的开发。

面向对象的几个基本概念:

1、 类与对象

  类是C++语言封装的基本单位,用来创建对象,它是对象形式的模块,指定代码和数据。C++使用的规范构建对象,对象是 类的实例。定义一个类时,要声明其包含的数据以及处理这些数据的代码。数据包含于有类定义的实例变量中,代码则包含于函数中,组成类的代码和数据成为这个类的成员。

2、 构造函数

  构造函数在对象创建是进行初始化,为类定义的实例变量赋初始值,或者执行一个结构完整的对象必须的任何其他启动过程。

3、 析构函数

  析构函数在对象的生命期行将结束的时候,系统自动调用。可以用来进行一些善后处理工作。

  

四、实验指导

  (一)分析题意

  1. 学生有名字,学生最多可学五门课程,学生实际学的门数,可以给定学生的名字,可以得到学生的名字,可以得到学生给定课程的成绩,可以得到学生所学课程的平均成绩,可以给学生增加一门课(同时在该课程中增加一个学生)。

根据题目要求可以创建一个Student 类

       内有数据成员 :

                char NAME[12];//姓名

int COURSE_Num;//实际课程数

char COURSE_Name[5][12];//最多5个课程名

float SCORE[5];

       和成员函数:

               Student();

void SetName(char na[12]);

               char* GetName();

~Student();

                 void ADDCourse(char CourseName[12],float score);

//增加某课及其成绩

float GetScore(char* CourseName);//得到某课程的成绩

float GetEverageScore();//得到所学课程的平均成绩

void Display();

  2. 课程最多有30个学生,课程有实际学生数,课程有实际学生名单,课程有学分数,课程有每个学生成绩,课程可以得到学分数,课程可以设置学分数,课程可以得到班平均成绩,课程可以得到某个学生成绩。

根据题目要求需要创建一个 Course类

  内有数据成员:

   char COURSE_Name[12];

   int MARK;//学分数

int TIMES;//学时数

   int STUDENT_Num;//实际学生数

           char NAME[30][12];//最多30个学生名

   float SCORE[30];//成绩

和成员函数:

   Course();

   void SetName(char na[12]);

   ~Course();

   int GetMark();//得到某课程的学分

void SetMark(int mark);//设置某课程的学分

   int GetTime();//得到某课程的学时

   char* GetName();

void SetTime(int time);//设置某课程的学时

void ADDStudent(char* StudentName,float score);//该课程中增加一个学生

   float GetEverageScore();//得到该课程的平均成绩

   float GetScore(char* StudentName);//得到该课程中某学生的成绩

   void Display();

(二) 建立好类后,在类外逐一定义好函数

例如:

1 增加学生

void StudentDB::ADDStudent()

{

char name[12];

               cout<<"请输入学生姓名 :";cin>>name;cout<

               if(top>=maxstudent)

{

cout<<"学生数已达到"<

return;

               };

for(int i=0;i<=top;i++)

if(strcmp(student[i].GetName(),name)==0)

{cout<<"此学生已存在!"<

              top++;

              student[top].SetName(name);

              return;

}

2 增加课程

void CourseDB::ADDCourse()

                 {

char name[12];int mark;

                 cout<<"请输入课程名 :";cin>>name;cout<

cout<<"请输入课程学分 :";cin>>mark;cout<

                 if(top>=maxcourse)

                  {

cout<<"课程数已达到"<

return;

};

                 for(int i=0;i<=top;i++)

if(strcmp(course[i].GetName(),name)==0)

{cout<<"此门课已存在!"<

top++;

               course[top].SetName(name);

                course[top].SetMark(mark);

return;

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 沈毅 学号 410704117

案例名称:模拟幸运52程序 2006 年 4 月 26日

实验目的:

1.使用c++软件创建一个MFC AppWizard[exe]工程。

2.在此工程下新建对话框用来实现滚动条程序功能。

3.了解和学会基本对话框的操作,开阔知识面,以便日后在更深更广领域的学习。

实验环境:

硬件配置:赛扬D2.66电脑一台

操作系统:WINDOWS XP

     编译环境:

实验步骤:

     1 .在课堂上,老师详细讲解程序实现流程,以及提供程序运行的部分代码。

2.上机自己分析程序,进一步了解程序的流程,以及加深对程序的理解。

3.分析和完善程序,通过学习部分代码,推理联想补全代码,实现程序的功能。

4.运行程序,检查错误。

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):

1.程序功能: 此程序是滚动条实验。

它的功能主要是实现滚动条的左移,右移。使用者点击reset键后,滚动条回到初始状态,点击left键划到最左边,点击right键划到最右边。同时编辑框内显示当前的位置。退出键退出程序。

2.程序实现:

实现滚动条的左右滚动,方式有渐进,以及迅速置左,迅速置右,reset键回到初始状态,EXIT键退出。

3.涉及知识点:创建基本对话框,学会如何实现基本对话框的功能。

4.设计思路:先新建一个对话框程序,在这个对话框上添加按键,编辑框和水平滚动条完成后定义相应的函数,倒入图片,将代码补充置程序中。

5.程序的优点:程序里的功能一目了然,各个功能独立,便于理解和修改。

程序的缺点:界面不够美观

学习心得:

  通过这些案例程序分析,使我感到了编辑程序的乐趣,也学得了许多知识。首先它使我学会了要分析一个程序需要从哪方面先入手,以及在发现问题后如何去改进的方法。通过此次案例程序分析,我还看到了面向对象的程序设计在对于处理实际问题的方面有着强大的功能,在面向对象中,算法与数据结构被捆绑成一个类从这样的角度看,就不用为如何实现通盘的程序功能而费尽心机了。

通过改程序锻炼了我的编程能力。相信这次实验会给我以后的学习带来更大的动力。

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 朱珠珠 学号 410704101

案例名称:学生选课小系统 2006年 4 月 10 日

实验目的:

1.培养自己的程序分析能力,以便学习和利用。用类实现实践中的某些问题。

2.了解结构化编程和面向对象编程的方法及两者的区别。

实验环境:

  

编译:Visual c++6.0

操作系统:Windows XP

实验步骤:

1. 先找出两个类,学生类(StudentDB)和课程类(CourseDB),再找出两个子类,Student类和Couse类,分别嵌套在学生类和课程类中。

2. 描述学生类和课程类之间的关系。

3. 用类来定义程序结构。

5.面向对象应用程序设计。

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):

程序功能:

基本上实现了增加学生、增加课程、学生选课、查询学生情况 、查询课程情况和退出系统

功能。

程序结构:

程序结构清晰,每个模块功能清楚。主要分为头文件和源文件两个部分。头文件一共有四个,源文件有五个。

涉及知识点:

1) 定义了所需的类,创建了类的对象,并实现了对象的引用。

2) 构造函数与析构函数的定义与调用。

3) 对象数组与对象指针的使用。

4) 文件的操作。

设计思路的描述:

主函数用到StudentDB类和CourseDB类,StudentDB类和CourseDB类用到Student类和Course类。

程序优点:

实现了功能比较完善的,小规模的选课系统。

功能一目了然。

程序缺点:

1. 实现”增加学生”和”增加课程”功能时,一次只能增加一个,比较麻烦。

2. 屏幕上显示不够美观。

学习心得:

  熟悉了多文件程序结构组成一个程序,这样方便了程序的查错与维护,使程序变的简便,易于别人读懂本程序,使别人也可以对本程序的不足之处进行修改与改进。

  复习了构造函数在对对象赋值过程中的应用,知道了在赋值中应该注意的地方,也从一个比较大的方面应用了类,在程序中类发挥着重大的作用,在类中有数据成员与函数成员,

函数成员都为公有成员,而数据成员有公有也有私有的。

在写程序中,要注意语法的书写与规则

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 王志刚 学号 410704119

案例名称:滚动条的控制 2006年4月30日

实验目的:

(1)进一步学习MFC的一些应用;

(2)理解控制滚动条函数的作用,并学会应用;

(3)修改程序,使其更加完善。

实验环境:

   操作系统: Windows XP

编译环境: Microsoft Visual C++ 6.0

实验步骤:

(1).仔细听老师对此程序的分析,认真作好笔记;

(2).根据老师提示编写程序

(3).运行程序,总结并填写实验报告。

滚动条控制系统:

运行程序,分别按下各按钮,看其是否与其功能对应。在滚动条上直接按左、右控制钮,看滚动条是否随之左、右移动。

程序结构:

用的多文件的程序结构形式。

涉及知识点:

1、文件间的互相调用;

2、使用了类。

设计思路的描述:

首先,根据题目要求编写程序;

然后,重用多文件的程序结构形式先定义四个头文件;

  最后,把程序具体分为三部分。

  

程序优缺点的分析:

优 点:

使用了类。而含有类的程序结构,充分体现了类的封装和重用,更容易被人所理解。程序和MFC合用,实现了滚动条的移动控制。

缺 点:

没有与某个具体的界面联系起来,显现其效果。

学习心得:

通过此选课系统案例分析的学习、分析及修改设计,使我对C++的工作环境有了更深的了解,进一步学习FMC的一些基本知识,并懂得了应用。同时这次案例程序分析,感觉到程序在实际意义中的实用价值。

  

教师测评成绩:

指导教师签名:

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me

《面向对象程序设计C++》

案例程序分析实验报告

班级 计应041 姓名 徐紫阳 学号 11

案例名称:学生选课小系统 2006年 4月 11日

实验目的:

<1>学习多文件的建立和程序结构形式..

<2>熟悉文件流以及其它流类的的作用

<3>了解类之间的调用方法和调用步骤.

实验环境:在visual c++6.0 环境下运行.

实验步骤:

1找出类;

2 描述类和类之间的联系;

3 用类来定义程序结构.

技术分析报告(包括程序功能、程序结构、涉及知识点和设计思路的描述以及程序优缺点的分析):

程序功能:1增加学生和课程.

2 选课和查询学生,课程资料.

程序结构:头文件即 类定义:学生类,学生库类,课程类,课程库类

运用程序: 学生,学生库,课程,课程库,主程序.

涉及知识点:1类的多文件程序结构形式,编制面向对象应用程序.

2 文件流的结构和运用形式.

3 类 类的对象的运用 类的各种默认函数..

4 swiitch 的运用.

5 利用指针来调用.

设计思路的描述:

利用switch 结构来调用你所要进入的步骤.

通过studentDB ,courseDB,student, course 的类来存放你要的学生名和课程名,在选课时给学生增加一个课程的(同时该课程也增加了一个学生名,在该学生中也增加了一个课程);

程序优缺点:

缺点: 若作为一个应用程序,他不够严谨,而且没有足够的保密,在学生的选课时不能直接输入成绩,应该在调用一个专门的类文件来输入成绩.没有应用清屏功能,造成了屏幕的浪费,给人一种很烦的感觉.

优点: 基本上实现了所要的功能.,程序的结构非常的严谨,程序的可读性非常的强.

学习心得:

通过这次的学习使我感觉到了困难与进步并存,

困难: 在看程序的过程有难度,而且又一种放弃的感觉,同时达到了前所未有的危机,

进步: 看到了我目前的差距,能够让我保持更清晰的头脑去面对现实,编程过程的难度, 同时学到了编程的结构性 严谨性 逻辑性 锻炼我的逻辑思维/

Add to Del.cio.us RSS Feed Add to Technorati Favorites Stumble It! Digg It!
    www.sajithmr.me