C++、面向对象程序设计实验一报告代码

合集下载

面向对象程序设计C++实验报告-代码心得部分汇总word版

面向对象程序设计C++实验报告-代码心得部分汇总word版
}Sum={0,0,0};/*全局,可省略初值0 */
/*记录chi,eng,math最高分*/
struct
{
int max_chi;/*最高分数*/
int max_eng;
int max_math;
char name_chi[10];/*最高分者的姓名*/
char name_eng[10];
char name_math[10];
TopGuy.max_eng,_eng);
printf("数学平均%5.2f分,最高分%d分:%s\n", \
((float)Sum.math/(float)count), \
TopGuy.max_math,_math);
}
getche();
}
实验
#include <string.h>
printf("语文平均%5.2f分,最高分%d分:%s\n", \
((float)Sum.chi/(float)count), \
TopGuy.max_chi,_chi);
printf("英文平均%5.2f分,最高分%d分:%s\n", \
((float)Sum.eng/(float)count), \
Sum.eng += student[count].eng_sco;
Sum.math += student[count].math_sco;
if(student[count].chi_sco > TopGuy.mahi = student[count].chi_sco;
}TopGuy;
void main(void)
{
struct Scale student[50];/*定义结构数组*/

c语言程序设计_实验一实验报告

c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。

2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。

3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。

4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。

实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。

程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。

面向对象程序设计报告C++

面向对象程序设计报告C++

《C++面向对象程序设计》实验报告班级电信09 姓名_张代烈—学号 __________________________ 日期实验一、基本控件的应用(一)2010.6.29实验目的:1、熟悉VC++6.0界面;2、熟悉VC++6.0的基本控件;3、掌握VC++6.0基本控件。

实验项目:1、V C++6.0界面与基本控件;2、掌握VC++6.0的基本控件。

实验步骤1、建立MFC( exe);MFC 胡矽店目-321桩谨应用辱棣蟹1[含文描査捋用户界面功能应用理晔S3”/戈曲wm构$捋0P 隠和9离直I中立c®库-口国1/ 使冃UisiursH 岸 @〕顷日茲3Jlin^r ^W5 QD4-・FC tr:f (A)伉茨桂用:0在拽事ILL中缰用Hfcon在!I总斥中使用MFC(£)< t-f- ' T-it > J [_ 彌_]—财2、制作界面;Dialog3、编写代码;通过定义:protected:char dx91[255];char dx92[255];char dx91tx[max][255];char dx92tx[max][255];BOOL m_bchk;编写如下代码:BOOL Cprog::OnlnitDialog(){CDialog::OnInitDialog(); m_bchk=FALSE;strcpy(dx91,"电信");strcpy(dx92,"电信");strcpy(dx91tx[0],"张三");strcpy(dx91tx[1],"李四");strcpy(dx92tx[0],"王五");strcpy(dx92tx[1], " 丁六");this->m_cb.AddString((LPCTSTR)dx91);this->m_cb.AddString((LPCTSTR)dx92); this->m_cb.SetCurSel(O);this->m_lb.EnableWindow(FALSE); return TRUE;}void Cprog::OnCheck1(){if (m_bchk){m_bchk=FALSE; this->m_lb.ResetContent();this->m_lb.EnableWindow(FALSE);}else{m_bchk=TRUE; this->m_lb.ResetContent();this->m_lb.EnableWindow (T RUE);}}void Cprog::OnRadio1(){this->m_cb.ResetContent();this->m_cb.AddString((LPCTSTR)dx91);this->m_cb.AddString((LPCTSTR)dx92);this->m_cb.SetCurSel(O);}void Cprog::OnRadio2(){this->m_cb.ResetContent();this->m_cb.AddString((LPCTSTR)dx91); this->m_cb.SetCurSel(O);}void Cprog::OnSelchangeCombo1(){CString gs;if (m_bchk){this->m_cb.GetLBText(m_cb.GetCurSel(),gs);if(gs==(CString)dx91){this->m_lb.ResetContent();for(int i=0;i<max;i++)this->m_lb.AddString((LPCTSTR)dx91tx[i]); } else{this->m_lb.ResetContent();for(int i=0;i<max;i++)this->m_lb.AddString((LPCTSTR)dx92tx[i]); } }}4、调试并输出程序。

面向对象程序设计(C++)实验一--类和对象

面向对象程序设计(C++)实验一--类和对象

实验一类和对象一、实验目的:掌握类的设计和对象的创建及相关知识点如对象数组、类聚合、友元函数、静态成员。

二、实验内容:1、设计圆类,求两个圆的位置关系;2、设计圆类和直线类,求直线与圆的位置关系;3、设计学生类,求某班学生成绩的最高分、最低分及平均分;4、设计部门类和教师类,其中部门类成员为教师类的子对象;5、设计家庭银行账户类,其中账户资金为静态数据成员,为家庭成员共享;6、设计复数类,友元函数实现复数的加减。

三、实验过程:1、根据实验题目确定需要设计哪些类、各类中包含哪些数据成员和函数成员,设计各成员的访问权限,设计数据成员的数据类型,设计函数成员的函数原型;2、给出类设计的程序实现,特别要注意重载构造函数的实现;3、在主函数中完成题目中的逻辑,一般情况下需要创建相关类的对象,通过对象对成员函数的调用或者通过对象指针对成员函数的调用完成相应的功能。

四、参考程序代码:1、设计圆类,求两个圆的位置关系#include <iostream>#include <math.h>using namespace std;class Circle{private:float a,b,r;public:Circle(float c,float d,float e){a=c;b=d; r=e;}friend void position(Circle &,Circle &);};void position(Circle &c1,Circle &c2){float n,m,p;p=sqrt((c1.a-c2.a)*(c1.a-c2.a)+(c1.b-c2.b)*(c1.b-c2.b)); n=fabs(c1.r-c2.r);m=c1.r+c2.r;if(p>m)cout << "相离";if(p==m)cout << "相切";if(p<m)cout << "相交";}int main(){float a,b,c,d,e,f;cin >> a >> b >> c >> d >> e >> f ;Circle c1(a,b,c),c2(d,e,f);position(c1,c2);return 0;}运行结果:2、设计圆类和直线类,求直线与圆的位置关系#include<iostream>#include<math.h>using namespace std;class Circle//圆类{private:float x,y,r;public:Circle(float a,float b,float c) {x=a;y=b;r=c;}float getx(){return x;}float gety(){return y;}float getr(){return r;}};class Line//直线类{private:float a,b,c;public:Line(float x,float y,float z){a=x;b=y;c=z;}void position(Circle c1){float d=fabs(a*c1.getx()+b*c1.gety()+c)/sqrt(a*a+b*b) ;//圆心到直线的距离if(d<c1.getr())cout << "相交";if((d-c1.getr())<0.000001)cout << "相切";cout << "相离";}};int main(){Line l1(3,3,4);//创建直线对象Circle c1(-23,3,7);//创建圆对象l1.position(c1);return 0;}运行结果:3、设计学生类,求某班学生成绩的最高分、最低分及平均分#include <iostream>#include <string.h>using namespace std;class Student{private:char name[20],xuehao[20];float math;public:Student(){}Student(char *na,char *xu,float ma):math(ma) {strcpy(name,na);strcpy(xuehao,xu);}void set(char *na,char *xu,float ma){math=ma;strcpy(name,na);strcpy(xuehao,xu);}char *get_name(){return name;}char *get_xuehao(){return xuehao;float get_math(){return math;}};void max_min(Student stu[],int n){Student max,min;max=min=stu[0];for(int i;i<n;i++){if(stu[i].get_math()>max.get_math())max=stu[i];if(stu[i].get_math()<min.get_math())min=stu[i];}cout << "学生成绩最高:" << max.get_name() << "," << max.get_xuehao() << "," << max.get_math() << endl;cout << "学生成绩最低:" << min.get_name() << "," << min.get_xuehao() << "," << min.get_math() << endl;}void ave(Student stu[],int n){float sum=0;for(int i=0;i<n;i++){sum=sum+stu[i].get_math();cout << "ave=" << sum/n;}int main(){char na[20],xu[20];float ma;Student stu[20];int n;cout << "请输入学生总人数"; cin >> n;for(int i=0;i<n;i++){cin >> na >> xu >> ma ; stu[i].set(na,xu,ma); }max_min(stu,n);ave(stu,n);return 0;}运行结果:4、设计部门类和教师类,其中部门类成员为教师类的子对象#include <iostream>#include <string.h>using namespace std;class Department{private:int dep_num;char dep_master[20];char dep_name[20];public:Department(){}Department(int num,char *ma,char *na){dep_num=num;strcpy(dep_master,ma);strcpy(dep_name,na);}void show(){cout << dep_num << "," << dep_master << "," << dep_name ; }};class Teacher{private:char name[20];char haoma[20];Department dep;public:Teacher(char *n,char *nu,int num,char *ma,char *na):dep(num,ma,na) {strcpy(name,n);strcpy(haoma,nu);}void show(){dep.show();cout << "," << name << "," << haoma << endl;}};int main(){Teacher hp("wanghai","12345",6,"kiki","computer");hp.show();return 0;}运行结果:5、设计家庭银行账户类,其中账户为静态数据成员,为家庭成员共享#include <iostream>#include <string.h>using namespace std;class Familymember//家庭成员类{private:char membername[10];//成员名public:static float account;//共享账户资金 Familymember(char *name);static void save(float money);//存钱 static void pay(float money);//支出 static void show(); //显示账户余额};float Familymember::account=0;Familymember::Familymember(char *name) {strcpy(membername,name);}void Familymember:: save(float money) {account= account+money;}void Familymember:: pay(float money){account= account-money;}void Familymember:: show(){cout<<account<<endl;}int main()//主函数{ Familymember husband("wang"),wife("Li"); husband.save(10000);wife.pay(3000);wife.save(5000);wife.show();husband. show();}运行结果:6、设计复数类,友元函数实现复数的加减#include <iostream>using namespace std;class Fushu{private:float ss,xs;public:Fushu(){}Fushu(float a,float b){ss=a;xs=b;}friend Fushu jiafa(Fushu &f1,Fushu &f2){return Fushu((f1.ss+f2.ss),(f1.xs+f2.xs)); }friend Fushu jian(Fushu &f1,Fushu &f2){return Fushu((f1.ss-f2.ss),(f1.xs-f2.xs)); }void show(){cout << ss << " + " << xs << "i" << endl; }};int main(){Fushu f1(2,3),f2(4,5);Fushu f3,f4;f3=jiafa(f1,f2);f4=jian(f1,f2);f3.show();f4.show();return 0;}运行结果:。

面向对象程序设计实验报告1

面向对象程序设计实验报告1
看看这些字符的10进制ascii码哦ascii码一样同一种字符字符怎么参加了数学运算哦是字符对应的ascii码整数2006年级20061719号姓名同组姓名实验日期2010看看这个字符是什么
实验一
实验名称:实验一Visual C++环境
实验目的:
⒈熟悉VC++的集成开发环境,学习运行一个C++程序的步骤。
y=fun(x);
if(y==0)
cout<<"they input num is sushu"<<endl;
else
cout<<"they input num is not sushu"<iostream.h>
#include<math.h>
float fun(float a,float b,float c,float d)
return 0;
3. #include<iostream.h>
void main()
{inta,b,c,d,e;
double score;
a=b=c=d=0;
cin>>score;
while(score>=0)
{
if(score>=90)
a++;
else
if(score>=80)
b++;
else
if(score>=70)
do{
*p=*(--p);
}while( p>s+n);
(*p)=c;
}
return s;
}
int main()

面向对象C++实验报告

面向对象C++实验报告

面向对象程序设计-C++上机实验报告第一次:熟悉Visual C++开发环境及上机过程实验实验时间: 2015 年3月 11 日实验室: S311实验题目:使用Visual C++ 6.0集成环境来编辑、编译并运行程序1:#include <iostream>using namespace std;class TAdd{public:TAdd(int a,int b){x=a;y=b;cout<<"constructor."<<endl;cout<<x<<","<<y<<endl;}~TAdd(){ cout<<"destructor."<<endl;cout<<x<<","<<y<<endl;}int add(){return x+y; }private:int x,y;};int main(){TAdd p1(3,4);cout<<"x+y="<<p1.add()<<endl;TAdd p2(30,40);cout<<"x+y="<<p2.add()<<endl;return 0;}实验目的:1、了解和使用该相应的软件;2、熟悉VC环境的基本命令和功能键;3、熟悉常用的功能菜单命令;4、会编译、链接、运行程序;5、调试程序时若出现报错,能改正相应的错误;6、学习使用VC++环境的帮助;7、学习完整的C++程序开发过程;8、理解简单的C++程序结构。

实验要求:1.复习教材有关内容。

2.掌握VC控制台应用程序的开发、调试步骤。

3.完成实验报告。

实验主要步骤:1、创建新工程(1)单击菜单“文件/新建”,显示“新建:”对话框。

面向对象程序设计》C实验报告-32页精选文档

面向对象程序设计》C实验报告-32页精选文档

《面向对象程序设计》实验报告学院:专业:班级学号:姓名:学期:教师:实验一 C++基础练习实验目的和要求1.掌握C++程序的基本格式与规范,学会编写简单的C++程序。

2.理解C++程序结构的特点。

3.熟悉C++程序基本的输入和输出操作。

4.掌握C++数据类型常量和变量以及修饰符的使用方法。

5.掌握函数定义、函数调用和函数说明的方法。

6.熟悉作用域运算符的功能和基本使用方法。

7.掌握C++内存的动态分配与释放方法。

8.理解引用的概念,掌握引用的使用方法。

实验内容和步骤1. 调试如下的代码并回答问题。

#include <iostream.h>void main()//First c++ programchar name[10];cout<<"please input your name:";cin>>name;cout<<"welcome "<<name<<endl;(1)C++的注释和C有何不同?答:C语言的注释有一种,用/*……….*/作为注释分界符号C++除保留了这种注释方式之外,还提供了一种更有效的注释方式,该注释以“//”开始,到行尾结束。

(2)C++的输入和输出所使用的函数及其相应头文件与C有何不同?答:在C中进行输入输出操作时,常使用函数scanf和printf。

C++除了可以照常使用这两个函数进行输入输出外,还增加了标准输入流对象cin和标准输出流对象cout来进行输入和输出。

Iostream是C++系统定义的一个头文件,在这个文件中声明了程序所需要的输入和输出操作的有关信息。

在C语言中头文件中用“.h”作为后缀,如stdio.h、math.h等。

2. 单步调试如下的代码并回答问题。

#include <iostream.h>inline int f(int x){ return 2*x*x+4*x+5; }inline double f(double x){ return 2*x*x+4*x+5; }void main(){ int x=5;double y=5.2;cout<<f(x)<<endl;cout<<f(y)<<endl;(1)inline的含义和作用是什么?答:含义:在函数说明前冠以关键字“inline”,该函数就被声明为内联函数,每当程序中出现对该函数的调用时C++编译器使用函数体中的代码插入到调用该函数的语句处,同时用实参取代形参。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告【实验报告】面向对象程序设计一、引言面向对象程序设计是一种以对象为基础的软件开发方法,它将现实世界中的事物抽象成对象,并通过对象之间的交互来实现程序的功能。

本次实验旨在通过实践,加深对面向对象程序设计的理解,并掌握面向对象程序设计的基本原理和技巧。

二、实验目的1. 熟悉面向对象程序设计的基本概念和术语;2. 掌握面向对象程序设计的基本原理和技巧;3. 能够运用面向对象程序设计的思想解决实际问题。

三、实验内容1. 设计一个简单的图书管理系统;2. 实现图书的增删改查功能;3. 设计并实现图书管理系统的类结构;4. 编写测试代码,验证图书管理系统的功能。

四、实验步骤1. 设计图书管理系统的类结构:a. 创建一个Book类,包含图书的属性(书名、作者、出版社等)和方法(借阅、归还等);b. 创建一个Library类,用于管理图书馆的图书,包含添加图书、删除图书、查找图书等方法;c. 创建一个User类,用于表示图书馆的用户,包含借书、还书等方法;d. 创建一个Main类,作为程序的入口,用于测试图书管理系统的功能。

2. 实现图书的增删改查功能:a. 在Book类中实现图书的增删改查方法;b. 在Library类中调用Book类的方法,实现图书的增删改查功能。

3. 设计并实现图书管理系统的类结构:a. 根据实验要求,设计图书管理系统的类结构,包括Book、Library和User 类;b. 在每个类中定义相应的属性和方法,实现图书管理系统的功能。

4. 编写测试代码,验证图书管理系统的功能:a. 在Main类中创建图书馆和用户对象;b. 调用相应的方法,测试图书管理系统的功能;c. 检查输出结果,确保图书管理系统的功能正常运行。

五、实验结果与分析经过实验,成功设计并实现了一个简单的图书管理系统。

该系统具备图书的增删改查功能,用户可以通过借书和还书操作实现对图书的借阅和归还。

经过多次测试,系统运行稳定,功能正常。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象/C++程序设计实验报告
时间:第 十三 周星期 六 18:00—19:30 课号:
实验名称:
实验一 类的建立与应用
院系:电子工程与自动化学院 座号: 成绩:
姓名: 学号: 指导老师:
一、实验目的
类构成了实现C++面向对象程序设计的基础。类是C++封装的基本单元,它把数据和函
数封装在一起。当类的成员函数声明为保护时,外部不能访问;声明为公共时,则在任何地
方都可以访问。
通过建立类来掌握面向对象程序设计中类的封装性、数据保护等特性以及构造函数、
析构函数,掌握系统什么时候自动缺省构造函数和缺省析构函数。要求掌握声明和定义类和
成员函数的方法,掌握访问成员函数的方法,理解保护数据如何屏蔽外部访问的原理,使得对
类的封装有更好的认识。
成员函数的定义:
1. 在类中定义成员函数:在类中定义的成员函数一般规模都比较小,语句只有1~5
句,而且特别是不允许使用switch 语句,它们一般为内联函数,即使没有明确使
用inline 标示。
2. 在类之后定义成员函数:对于大的成员函数,直接把代码放到类定义中使用起来
十分不方便。为了避免这种情况,C++允许在其他地方定义成员函数。
将类定义和其成员函数定义分开,是目前开发程序的通常做法。我们把类定义(头文件)
看成是类的外部接口,类的成员函数定义看成是内部实现。
二、实验内容
使用Visual C++6.0 建立一个复数类,并编制主程序来验证对所创建的复数类的操作
的正确性。
三、实验要求
1、有两个私有的成员x 和y;
2、分别有一个带参数构造函数和无参数构造函数;
3、定义一个可以显示复数的实部和虚部的成员函数。
四、思考题
1、该复数没有定义析构函数(如果使用Visual C++ 6.0 创建类,则会自动为该类生成析
构函数),系统会怎样做?
2、如果定义该复数类的对象时不带参数,是否可以?如果不行,是何原因?
程序代码:
#include
class complex
{
private:
float x,y; //私有类成员,分别代表实数部分和虚数部分
public:
complex() //默认构造函数
{
x=0;
y=0;
}
complex(float a,float b) //构造函数重载
{
x=a;
y=b;
}
void show();
};
void complex::show() //打印复数方法实现
{
if(x>0&&y>0)
{
if(y!=1)
cout<if(y==1)
cout<}
if(x>0&&y<0)
{
if(y!=-1)
cout<if(y==-1)
cout<}
if(x<0&&y>0)
{
if(y!=1)
cout<if(y==1)
cout<}
if(x<0&&y<0)
{
if(y!=-1)
cout<if(y==-1)
cout<}
if(x==0&&y!=0)
{
if(y!=-1&&y!=1)
cout<if(y==1)
cout<<"i"<if(y==-1)
cout<<"-"<<"i"<}
if(x!=0&&y==0)
{
cout<}
if(x==0&&y==0)
cout<<"0"<}
void main()
{ complex a(1,-1),b(1,1),c(0,1),d(2,0),e(0,0);
cout<<"实部为:1,虚部为:-1的复数显示为:";
a.show();
cout<<"实部为:1,虚部为:1的复数显示为:";
b.show();
cout<<"实部为:0,虚部为:1的复数显示为:";
c.show();
cout<<"实部为:2,虚部为:0的复数显示为:";
d.show();
cout<<"实部为:0,虚部为:0的复数显示为:";
e.show();
}

运行结果:

相关文档
最新文档