c++输入输出流实验报告.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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{