c++输入输出流实验报告.

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

实验四输入输出流

实验课程名:面向对象程序设计(C++)

专业班级:学号:姓名:

实验时间:实验地点:指导教师:

一、实验目的和要求

(1) 理解类和对象的概念,掌握声明类和定义对象的方法。

(2) 掌握构造函数和析构函数的实现方法。

(3) 初步掌握使用类和对象编制C++程序。

(4) 掌握对象数组、对象指针和string类的使用方法。

(5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。

(6) 掌握类对象作为成员的使用方法。

(7) 掌握静态数据成员和静态成员函数的使用方法。

(8) 理解友元的概念和掌握友元的使用方法。

二、实验内容

1.定义描述职工工资的类Laborage,数据成员为职工号(No)、姓名(Name[8])、应发工资(Ssalary)、社保金(Security)、实发工资(Fsalary)。定义公有成员函数Input(),在Input()函数内输入职工号、姓名、应发工资、社保金,实发工资由公式:Fsalary=Ssalary-Security计算。定义输出职工工资的成员函数Show()。在显示函数Show()中,职工号、姓名的输出域宽为8、左对齐,其余数据的输出域宽为10、右对齐、保留小数点后两位,输出格式均用预定义格式控制函数设置。在主函数中用Laborage类定义职工对象数组a[3]。用Input()输入职工工资,用Show()显示每个职工的工资。(提示:用getline输入姓名后,必须用回车结束姓名输入)

实验数据:

1001 Zhou Zhi 3000 200

1002 Chen Hua 4000 400

1003 Wang Fan 5000 500

实验代码:

#include

#include

#include

using namespace std;

class Laborage

{

public:

Laborage(){}

void input();

void display();

private:

int num;

char name[10];

float Ssalary;

float Security;

float Fsalary;

};

void Laborage::input()

{

cin>> num;

cin.get(name,10,'\n');

cin>> Ssalary;

cin>> Security;

Fsalary = Ssalary - Security;

}

void Laborage::display()

{

cout<< resetiosflags(ios::right)<

cout<< setw(8)<< setiosflags(ios::left) <

cout<< setw(10)<< setiosflags(ios::right)<< setiosflags(ios::fixed) << setprecision(2) <

cout<< setw(10)<< setiosflags(ios::right)<< setiosflags(ios::fixed) << setprecision(2) <

cout<< setw(10)<< setiosflags(ios::right)<< setiosflags(ios::fixed) << setprecision(2) <

cout<

}

int main(void)

{

Laborage lab[3];

int i;

for(i=0;i<3;i++)

{

cout<<"请输入第"<

lab[i].input();

}

for(i=0;i<3;i++)

{

lab[i].display();

}

return 0;

}

实验结果:

代码分析:

1)在输入时调用getline()以换行符作为输入姓名时的结束标志,已达到输入空格的目的

2)输出时采用resetiosflags(ios::right)实现结束向左对齐,用setw(8)实现输出域宽为8,使用一系列的格式控制字符来实现输出格式的控制。

2. 重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。商品的信息由编号、商品名和价格。假如商品类Merchandise的框架如下:class merchandise{

public:

Merchandiss();

~Merchandiss();

friend istream& operator>>(istream& in,Merchandiss& s);

friend ostream&operator<<(ostream& out,Merchandiss& s);

private:

int no;

char *name;

double price;

};

要求实现该类,并编写以下的main函数对该类进行操作。

int main()

{ Merchandise mer;

cin>>mer;

cout<

return 0;

}

实验代码:

#include

using namespace std;

class merchandise{

相关文档
最新文档