《c+第五次实验》由会员分享,可在线阅读,更多相关《c+第五次实验(19页珍藏版)》请在人人文库网上搜索。

1、天津理工大学计算机与通信工程学院实验报告2013 至 2014 学年 第 二 学期课程名称高级语言程序设计II实验( 5 )实验名称IO流类库模板实验时间2014年 5月12 日 第 3 节 至 第 6 节学号姓名专业信息安全 主讲教师唐召东辅导教师唐召东软件环境VC+6硬件环境PC机实验目的1掌握标准输入输出流的使用方法和作用;2了解字符串流的定义与使用;3. 掌握运用成员函数和操纵符进行格式化输入/输出的方法;4. 掌握流的插入/提取操作的重载方法;5. 掌握文件流的打开、关闭及使用的使用方法;6了解文本文件流与二进制文件流在操作上的区别。7掌握MS Visual C+6.0调试C+程序的。

2、基本方法、基本步骤。实验内容(应包括实验题目、实验要求、实验任务等)1设计一个职员类EMPLOYEE,主要包括工号、姓名、部门、年龄、工资等属性以及更换部门、年龄变更、工资增长等操作,为EMPLOYEE类提供输入/输出运算“”。(提示:类EMPLOYEE应有多个重载的构造函数)题目说明:1)类EMPLOYEE的定义可以参考如下:class EMPLOYEEprivate:long id;char nameMAX_LEN;char departmentMAX_LEN;int age;double salary;public:EMPLOYEE();EMPLOYEE(const EMPLOYEE& 。

3、obj);EMPLOYEE(long idd, char namee, char depar, int agee, double sala);EMPLOYEE();void changeDepartment(char newDepar);void changeAge(int agee);void raiseSalary(double delta);/ 定义友元函数,提供输入/输出运算。friend ostream& operator(istream& stream, EMPLOYEE& obj); 2)主函数如下所示:void main()EMPLOYEE A(, Tom, DEPARTMEN。

4、T A,34,2345.6);coutB;cout”,使之能用于矩阵的输入和输出;重载“+”运算符使之能用于矩阵求和:c=a+b。3设计一个管理图书目的简单程序,提供的基本功能包括:可连续将新书存入文件book.dat中,新书信息加入到文件的尾部;也可以根据输入的书名进行查找;把文件book.dat中同书名的所有书目信息显示出来。(为简单起见,描述一本书的信息包括:书号,书名,出版社和作者)题目要求:1)/ 定义描述书信息的结构体struct Booklong id;char nameMAX_LEN;char publisherMAX_LEN;char authorMAX_LEN;2)定义函数。

5、实现:/ 向文件book.dat中添加新的一条书的信息void addBookInfo(Book aBook);/ 从文件book.dat中读出书名为namee的所有书的记录void selectBook(char namee);3)主函数中用一个演示程序完成对所设计的新类的功能测试,并给出测试数据和实验结果:void main()Book aBook=2001, Star, yahoo, Li Ming;Book bBook=2002, Boold, Sina, Tom Berry;Book cBook=2003, Star, google, Li Ming;addBookInfo(aBoo。

6、k);addBookInfo(bBook);addBookInfo(cBook);selectBook(Star);3建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作:从键盘输入20个整数,分别存放在两个磁盘文件中(每个文件中放10个整数);从f1.dat读入10个数,然后存放到f2.dat文件原有数据的后面;从f2.dat中读入20个整数,将它们按从小到大的顺序存放到f2.dat(不保留原来的数据)。4. 针对学生类,利用本章中学到的文本文件的顺序、随机读写,二进制文件的顺序、随机读写函数,实现下列功能:1)学生基本信息由学号(长整型)、姓名(字符数组)、性别(字符型)、年龄(。

7、整型)、数学成绩(float)、语文成绩(float)、英语成绩(float)组成。学生类的定义可以参考如下:/定义Student类的子类class Studentpublic:long id;char name20;int age;float math;float chinese;float english;public:Student();Student(long l,char NAME,int a);Student(long l,char NAME,int a,float m, float c, float e);/ 特殊的构造函数:拷贝构造函数Student(const Student。

8、& other);/ 重载赋值运算符Student operator =(const Student& other);Student();void setId(long l);long getId();void setName(char NAME); void setAge(int a);int getAge();void setAll(float m, float c, float e);/ 利用友元函数:重载输出运算符friend ostream& operator (istream& stream, Student& obj);2)文本文件的顺序读写:定义fstream的对象ioFile。

9、,与文件“a.txt”建立关联,创建两个对象,Student s1(,Jerry,18);Student s2(,Jack,19,78.5,89.5,93.0);将s1、s2的学号、年龄、平均分的数据写入文件“a.txt”,并从文件“a.txt”中读出。3)二进制文件的顺序读写:定义ofstream 的对象outfile与文件“stud.dat”建立关联,创建三个对象,Student s1;Student s2(,Jerry,18);Student s3(,Jack,19,78.5,89.5,93.0);将s1、s2、s3的全部信息写入到文件“stud.dat”定义ifstream 的对象in。

10、file与文件“stud.dat”建立关联,从文件“stud.dat”依次读出三个对象的信息到数组Student stud3中,并将三个对象的信息在屏幕上输出:cout#includeclass EMPLOYEEprivate:long id;/工号、姓名、部门、年龄、工资char name20;char department50;int age;double salary;public:EMPLOYEE();EMPLOYEE(const EMPLOYEE& obj);EMPLOYEE(long idd, char namee, char depar, int agee, double sal。

11、a);EMPLOYEE();void changeDepartment(char newDepar);void changeAge(int agee);void raiseSalary(double delta);/ 定义友元函数,提供输入/输出运算。friend ostream& operator(istream& stream, EMPLOYEE& obj); EMPLOYEE:EMPLOYEE()id=0;name0=0;/字符数组的初始化department0=0;/字符数组的初始化age=0;salary=0;EMPLOYEE:EMPLOYEE(long idd, char name。

12、e, char depar, int agee, double sala)id=idd;strcpy(name,namee);strcpy(department,depar);age=agee;salary=sala;EMPLOYEE:EMPLOYEE()cout(istream& stream, EMPLOYEE& obj)coutobj.id;coutobj.name;coutobj.department;coutobj.age;coutobj.salary;return stream;void main()EMPLOYEE A(, Tom, DEPARTMENT A,34,2345.6)。

13、;coutB;coutclass Matrixpublic:Matrix();friend Matrix operator + (Matrix &,Matrix &);friend ostream& operator(istream &,Matrix &);private:int mat23;/定义数组;Matrix:Matrix()/构造函数里对多维数组初始化for(int i=0;i(istream & in,Matrix &m)coutm.matij;return in;ostream &operatora;cinb;cout#includestruct Booklong id;/idc。

14、har name30;/书名char publisher30;/出版社char author20;/作者;void addBookInfo(Book dBook4)/ 向文件book.dat中添加新的一条书的信息/Book aBook4=2001, Star, yahoo, Li Ming;ofstream add(book.dat,ios:binary|ios:app);if(!add)cout#includeusing namespace std;int main()int i,t,j;int a10;int b21;ofstream outfile1(f1.dat,ios:out);co。

15、utai;outfile1ai;outfile2ai;infile1.close();ofstream outfile3(f2.dat,ios:app);for(i = 0;i bi;infile2.close();for(j = 0;j bi+1)t = bi;bi = bi+1;bi+1 = t;ofstream outfile4(f2.dat,ios:out);for(i = 0;i bi;cout#include#includeclass Studentpublic:long id;char name20;int age;float math;float chinese;float e。

16、nglish;public:Student();Student(long l,char NAME,int a);Student(long l,char NAME,int a,float m, float c, float e);Student(const Student& other);/ 特殊的构造函数:拷贝构造函数Student operator =(const Student& other);/ 重载赋值运算符Student();void setId(long l);long getId();void setName(char NAME); void setAge(int a);int 。

17、getAge();void setAll(float m, float c, float e);friend ostream& operator friend istream& operator (istream& stream, Student& obj);Student:Student()id=;name20=0;/字符数组初始化age=20;math=90;chinese=90;english=90;Student:Student(long l,char NAME,int a)id=l;strcpy(name,NAME);age=a;math=90;chinese=90;english=。

18、90;Student:Student(long l,char NAME,int a,float m, float c, float e)id=l;strcpy(name,NAME);age=a;math=m;chinese=c;english=e;Student:Student(const Student& other)/拷贝构造函数id=other.id;strcpy(name,other.name);age=other.age;math=other.math;chinese=other.chinese;english=other.english;Student Student:operat。

19、or =(const Student& other)/ 重载赋值运算符id=other.id;strcpy(name,other.name);age=other.age;math=other.math;chinese=other.chinese;english=other.english;return *this;Student:Student()cout(istream& stream, Student& obj)/重载输入运算符streamobj.id;streamobj.name;streamobj.age;streamobj.math;streamobj.chinese;streamo。

20、bj.english;return stream;int main()int a;char ch;Student s1(,Jerry,18);Student s2(,Jack,19,78.5,89.5,93.0);fstream ioFile(a.txt,ios:in|ios:out);if(!ioFile)coutstud3;coutendl;for(int i=0;i3;i+)infile.read(char *) &studi,sizeof(studi);cout输入第 i+1 个学生的信息:nstudiendl;char ch1;coutendl;coutstud.dat内容n;cou。

21、t另一种方式输出n;while(infile.get(ch1)coutch1;infile.close();Student e1(1,张三,23,10,20,30);Student e2(2,李四,32,20,30,40);Student e3(3,王五,34,30,40,50);Student e4(4,刘六,27,40,50,60);ofstream outfile1(stud1.dat,ios:binary);if(!outfile1)coutcannot open stud1.datn;/abort();outfile1e1endle2endle3endle4endl;/输入内容stud1.date3.setAge(40);outfile1.close();ifstream infile1(stud1.dat,ios:binary);coutendl;coutstud1.dat内容n;cout一种方式输出n;char ch2;while(infile1.get(ch2)coutch2;char str3;infile1.read(char *) &str3,sizeof(str3);/输出第三个人的信息cout输出第三个人的信息:str3endl;Student s6=e3;couts6endl;return 0。

c语言cin cou头文件,c+第五次实验相关推荐

  1. C语言 define 防止头文件重复包含 - C语言零基础入门教程

    目录 一.头文件重复包含编译器报错 1.简单的理解头文件重复包 2.老流氓的理解头文件重复包 二.通过宏定义解决头文件重复包含 1.通过 #ifndef / #define 解决头文件重复包含 2.通 ...

  2. C语言基础专题 - 头文件引用

    C语言基础专题 - 头文件引用 本文介绍了C语言中头文件的引用方法 阅读本文前推荐阅读C语言预处理 1.

  3. 单片机C语言常用的头文件与库函数

    单片机C语言常用的头文件与库函数 以下头文件与库函数,只用头文件包含以下相应头文件即可调用. 持续更新中 Intrins.h头文件 函数名 函数原型 功能 返回值 _crol_ unsigned ch ...

  4. C语言编程规范 — 头文件、函数

    0 编码规范说明 0.1 前言 为了提高产品或项目代码质量,软件开发人员编写出简洁.可靠.可维护.可测试.高效.可移植的代码,树立良好的编程规范是非常有必要的,良好的编程规范能提高编程效率,规避很多编 ...

  5. c语言atoi的头文件,atoi函数(atoi函数在那个头文件)

    需要导入头文件#include 将字符串转换成一个整数并返回结果.参数str 以数字开头,当函数从str 中读到非数字字符则结束转换并将结果返回.例如, int i = atoi( . atoi(s. ...

  6. c++ ofstream 文件不存在_使用C语言中的头文件有什么技巧和注意事项吗?为什么不直接包含C文件呢?...

    从事嵌入式开发多年,对于C语言使用的频率比较多,现在讲讲C语言在平时编程工作中经常出现的一些问题,就以楼主的题目为切入点分析归纳下,分享给正在使用或者学习C语言的小伙伴 C语言头文件有什么用处 在平时 ...

  7. c语言 自动包含头文件,C语言不要重复包含.h头文件和.c文件

    http://blog.csdn.net/unix21/article/details/8450235 2012 1.不要重复包含头文件 --以上出自<C语言程序设计:现代方法(第2版)> ...

  8. c语言 fscanf的头文件,fscanf函数在哪个头文件中

    SizeOf Pascal的一种内存容量度量函数: 用法: Var a : array[1..10000] of longint; Begin Writeln(SizeOf(a)); End. 输出: ...

  9. 单片机c语言怎样添加自定义头文件,单片机C语言编程与或|头文件常见问题

    一.常见问题 1.头文件reg51.h和reg52.h其实是一样的,大家两个都可以用. 2.main()前面的void可加可不加,反正都是无返回值函数. 3.不是每一个程序都要用到死循环while(1 ...

最新文章

  1. ipad html 自定义裁剪,canvas裁剪clip()函数的具体使用
  2. 220V黄金光的LED灯带测试与结构
  3. leetcode算法题--Assign Cookies
  4. 黑苹果系统坏了如何恢复_黑苹果怎么修复Clover GUI启动选项 黑苹果怎么自定义Clover GUI启动选项...
  5. VS2015+OpenCV2.4.13环境搭建详细步骤及自带示例编译运行
  6. 无向图的直径以及树的直径
  7. 在地理文本处理技术上,高德有哪些技巧?
  8. 【U-net】【粗读】Retinal blood vessel segmentation using fully convolutional network with transfer...
  9. endnotex7怎么导入中文文献,EndNote 7.0使用中文详细教程
  10. Java 基础系列-LocalDate相关
  11. 304.二维区域和检索-矩阵不可变
  12. C语言 | 进制转换
  13. Matlab 调用refprop(64位环境)和物性函数使用说明
  14. 使用 Python 修改微信/QQ/支付宝运动步数
  15. 批处理访问服务器共享文件夹,批处理设置文件访问权限的方法分享
  16. ELEMENTARY: Is Even
  17. 手机显示DNS服务器异常,DNS服务器异常?
  18. 联发科10月营收238亿新台币 近6个月低点
  19. java上GUI表格按钮_Java swing选项卡中有表格,表格中有按钮,按钮按不到
  20. android 定时推送提醒,使用workManager实现每日定时推送通知

热门文章

  1. CHM乱码解决方案!
  2. 电子邮件传输算法-Base64
  3. 编码原则:如何减少缩进层次
  4. zabbix系统日志文件监控key
  5. 实战Scribe日志搜集和数据分析
  6. 表按某个字段,新增一个序号列
  7. 使用值类型LazyString分析字符串
  8. 控件中按回车键就关闭对话框问题怎么解决?
  9. Confluence 6 升级以后
  10. MySQL面试题中:主从同步的原理