C++面向对象程序设计-输入输出流实验报告
C++面向对象程序设计_实验指导书
1.完成实验指导书《C++面向对象程序设计教程(第3版)——习题解答与上机指导》的实验1;
2.做好实验记录;
3.按照实验报告格式(附件1)要求填写实验内容,并提交实验报告。
九、其它说明
每次实验前,实验指导书都会预先发放,请提前预习实验,特别是实验涉及的原理。实验要求及时完成并上交实验报告,鼓励提前完成必做实验,并尽量多做实验题目。
【要求】:采用C++编程风格。
【运行结果截图】:
三、实验原理、方法和手段
1.重载函数:a)函数名称相同;b)函数的形参个数不同;函数的形参类型不同;或两者兼有;c)函数的返回值不构成判别标准。
2.了解“传址调用”与“传值调用”的区别;
3.“引用”不额外申请内存。
四、实验组织运行要求
本实验采用“以集中授课,学生自主训练为主的开放模式组织教学”。
putchar(c3);
}
【运行结果是】:
【分析运行结果】:
6.输入并运行下面的程序,分析格式控制对输出的影响。
#include<stdio.h>
void main()
{
int a=-1,b=98;
double x=152.6752445;
printf("a=%d,%ld,%u,%o,%x\n",a,a,a,a,a);
i=8;
j=10;
printf("%d,%d \n", i,j);
printf("%d,%d \n",i++,j--);
printf("%d,%d \n", i,j);
printf("%d,%d \n", ++ i,-- j);
《 面向对象程序设计》课程设计实验报告
《面向对象程序设计》课程设计实验报告指导教师小组成员:专业班级: 2010级计算机科学与技术专业开设时间:2011-2012(一)目录1.任务1 (2)1.1 任务介绍 (2)1.2 小组成员任务分配 (2)1.3.1设计思想及主要流程图 (2)1.3.1主要程序清单 (2)1.3.1 运行结果及分析 (4)1.3.2设计思想及主要流程图 (2)1.3.2主要程序清单 (2)1.3.2 运行结果及分析 (4)1.3.3设计思想及主要流程图 (2)1.3.3主要程序清单 (2)1.3.3 运行结果及分析 (4)2.任务2 (2)2.1 任务介绍 (2)2.2 小组成员任务分配 (2)2.3设计思想及主要流程图 (2)2.3主要程序清单 (2)2.3 运行结果及分析 (4)3收获、体会和建议 (4)任务1.按照要求设计类 1.根据输出设计类设计类就是根据数据封装的要求,抽象出适合的类。
有如下测试程序和测试程序的输出结果,要求设计类Welcome 。
void main() { Welcome we; Welcome you(we); you.Display();you.Set(“Thank you.”);cout<<you.Get()<<endl; you.talk(); you.Display();}测试程序的输出结果如右: 设计类Welcome 的原则 1)在头文件Cpp1.h 中声明类 2)在Cpp1.cpp 中实现类3)使用内联函数定义Display()函数2.使用类改写程序编写一个求方程02=++c bx ax 的根的程序,用三个函数分别求当ac b 42+大于零、等于零和小于零时方程的根。
要求从主函数输入a 、b 、c 的值并输出结果。
使用面向过程的解法一般是把变量设为double 型,适用库函数cmath 进行计算。
请注意:使用面向对象的方法解决这个问题,首先要从解一元二次方程出发,抽象一个代表一元二次方程的类。
c++实验报告【范本模板】
面向对象程序设计(C++)实验报告指导老师:***学生:吴健班级:软131学号:*********目录实验一、VC6.0环境入门与简单程序设计实验报告 (3)实验二、函数的应用实验报告 (7)实验三、类与对象实验报告 (14)实验四、C++程序结构实验报告 (22)实验五、数组、指针与字符串实验报告 (26)实验六、继承和派生实验报告 (33)实验七、多态性实验报告 (42)实验八、面向对象综合实验实验报告 (48)实验一、VC6.0环境入门与简单程序设计实验报告系软件工程班级 131 学号 139074164 姓名吴健同组者指导教师柯栋梁一、实验目的:1、熟悉VC++6.0开了环境并编写简单的C++程序。
3、使用C++语言编写简单的输入输出程序。
4、使用VC++6.0的DEBUG调试功能:单步执行、设置断点、观察变量值。
二、实验内容:1、使用VC++建立一个标准C++程序,编译、运行如下程序:#include<iostream〉Int main(){Cout〈<”Hello World!\n";Cout<<”Welcome to C++!\n";}2、编程计算图形的面积。
程序可计算圆形、长方形、正方形等的面积,运行时首先提示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来.3、使用DEBUG功能观察任务2程序运行中变量值的变化情况.三、实验要求:1、任务1要求熟悉VC++开发环境,并能够使用其建立第一个C++程序.2、实验前要做好充分准备,包括程序清单、调试步骤、调试方法,以及对程序结果的分析等。
四、实验报告:1.程序运行截图2.面积计算1、程序说明。
用if -else语句进行选择程序功能,while语句实现功能的循环实现程序如下:#include〈iostream>#include〈cmath〉using namespace std;int main(){cout〈<”1计算圆面积”<〈endl〈<"2计算矩形面积"<〈endl〈<"3计算正方形面积”〈〈endl<<"4退出"〈〈endl<<"请选择相应功能代码:”;int x; //x对应编号cin〉>x;double area;while(x!=4){if(x==1){double r;cout〈〈"半径:";cin〉>r;area=3。
C++实验报告流类库与输入输出
C++实验报告流类库与输入/输出实验八流类库与输入/输出(2学时)一.实验目的:1.熟悉流类库中常用的类及其成员函数使用方法;2.学习标准输入输出及格式控制;3.学习对文件的应用方法(二进制文件,文本文件)二.实验内容与步骤:1.实验题目:(2):编写程序,用二进制方式打开指定的一个文件,在每一行前加行号.(提示:使用void main(int argc,char*argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作.使用getline成员函数读入数据,使用cout输出字符到文件.)2.程序清单:#include<fstream>#include<strstream>#include<cstdlib>using namespace std;void main(){strstream file;ifstream in("f1.txt",ios::binary);file<<in.rdbuf();ofstream out("f1.txt",ios::binary);const int s=255;char l[s];for(int i=1;file.getline(l,s);i++)out<<i<<"."<<l<<endl; }3.测试结果如下:三.实验小结:1,重要的输出流:ostream,ofstream,ostringstream;2,重要的输入流:istream,ifstream,istringstream.。
C++面向对象程序设计》实验报告
《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。
(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。
(3)掌握简单C++程序的编写和调试方法。
(4)掌握重载函数的定义方法。
(5)能正确使用引用型变量。
2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。
②在自己指定的子目录中建立一个名为test.cpp的新文件。
③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。
观察和分析编译信息。
⑤根据编译信息指出的错误, 修改程序。
再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。
⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。
⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。
观察屏幕的变化。
在输出窗口应显示程序运行结果。
⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。
改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。
实验报告实例
上海理工大学光电信息与计算机工程学院《面向对象程序设计实验》实验报告专业姓名学号年级指导教师成绩:教师签字:目录实验一面向对象开发环境C++基础实验二C++语言进阶实验三面向对象高级特性实验成绩细化表实验一面向对象开发环境基础一、实验目的(1)了解C++的开发环境,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C++程序。
(3)通过运行简单的C++程序,初步了解C++源程序的基本组成。
.(4)掌握C++中基本数据类型。
(5)掌握C++中各种运算符的作用、优先级和结合性,能熟练运用各种表达式。
(6)掌握不同数据类型的输入输出。
(7)掌握简单的语法错误的查找和改正方法。
二、实验设备PC机,操作系统Windows 8,开发环境Visual Studio 2010三、实验原理配套教材实验一、实验二四、实验源程序//2-35#include <iostream>#include <iomanip>using namespace std;int main(){int x,y,ans;for(x=1;x<10;x++){for(y=1;y<10;y++){ans=x*y;cout<<x<<"*"<<y<<"="<<setw(2)<<ans<<"";}cout<<endl;}system("pause");return 0;}五、自评良好实验二C++语言进阶一、实验目的(1)熟练掌握if语句、switch语句、for语句、while及do-while语句(2)掌握转移控制语句(3)理解编译预处理(4)掌握函数的定义和调用(5)掌握数组的定义和使用(6)掌握结构和枚举类型的定义方法和使用(7)掌握指针的使用方法及应用(8)掌握指针与数组(9)掌握指针传递和引用传递二、实验设备PC机,操作系统Windows 8,开发环境Visual Studio 2010三、实验原理配套教材实验三、实验五、实验六四、实验源程序//3-2#include<iostream>#include<stdlib.h>using namespace std;int Max1(int a,int b){if(a>b)return(a);elsereturn(b);}int Max1(int a, int b,int c){if(a>b){if(a>c)return(a);}else{if(b>c)return(b);elsereturn(c);}}double Max1(double x,double y){if(x>y)return(x);elsereturn(y);}double Max1(double x,double y,double z) {if(x>y){if(x>z)return(x);}else{if(y>z)return(y);elsereturn(z);}}int main(){int a,b,c;double x,y,z;cout<<"请输入两个整数:";cin>>a>>b;cout<<"最大值为:"<<Max1(a,b)<<endl; cout<<"请输入三个整数:";cin>>a>>b>>c;cout<<"最大值为:"<<Max1(a,b,c)<<endl; cout<<"请输入两个双精度数:";cin>>x>>y;cout<<"最大值为:"<<Max1(x,y)<<endl; cout<<"请输入三个双精度数:";cin>>x>>y>>z;cout<<"最大值为:"<<Max1(x,y,z)<<endl;system("pause");return 0;}//5-14#include<iostream>usingnamespace std;class Boat;class Car{private:int weight;public:Car(int j){ weight=j;}friendint getTotalWeight(Car &aCar,Boat &aBoat);};class Boat{private:int weight;public:Boat(int j){ weight=j;}friendint getTotalWeight(Car &aCar,Boat &aBoat);};int getTotalWeight(Car &aCar,Boat &aBoat){ return aCar.weight+aBoat.weight;}int main(){Car c(10);Boat b(7);cout<<"The total weight is : "<<getTotalWeight(c,b)<<endl; system("pause");return 0;}//6-6#include<iostream>#include<string>usingnamespace std;class Employee{private:char name[30];char stree[30];char city[30];char zip[6];public:Employee();void change_name();void display();};Employee::Employee(){strcpy(name,"lianmeng");strcpy(stree,"piamganjie3hao");strcpy(city,"shanghai");strcpy(zip,"900000");}void Employee::change_name(){cout<<"Enter a name:";cin>>name;}void Employee::display(){cout<<"\n"<<name<<"\t"<<stree<<"\t"<<city<<"\t"<<zip<<"\t"; }int main(){int i;Employee *p=new Employee[5];for(i=0;i<5;i++){p[i].display();}for(i=0;i<5;i++){cout<<"\nnumber"<<i+1<<" : "<<endl;p[i].change_name();}for(i=0;i<5;i++){ p[i].display(); }delete p;system("pause");return 0;}五、自评良好实验三面向对象高级特性一、实验目的(1)掌握类与对象的定义(2)掌握对象成员的访问、构造函数和析构函数(3)理解基类和派生类(4)掌握单一继承和多重继承的定义和使用方法(5)掌握运算符重载程序的编写(6)掌握虚函数的编写和使用(7)掌握流类库与输入/输出;异常处理二、实验设备PC机,操作系统Windows 8,开发环境Visual Studio 2010 三、实验原理配套教材实验四、七、八、十一四、实验源程序//4-8#include<iostream>usingnamespace std;class Dog{public:Dog(int nage=0,int nweight=0){age=nage;weight=nweight;}Dog(Dog &d);inlinevoid showstatus();void setstatus();private:int age,weight;};Dog::Dog(Dog &d){age=d.age;weight=d.weight;}inlinevoid Dog::showstatus(){cout<<"His status is:"<<endl<<"age:"<<age<<"\tweight:"<<weight<<"kg"<<endl; }void Dog::setstatus(){int na,nw;cout<<"Please set age and weight:";cin>>na>>nw;age=na;weight=nw;}int main(){Dog Zangming(19,60);cout<<"Here is a dong Zangming!!"<<endl;Zangming.showstatus();cout<<"Please reset his status!"<<endl;Zangming.setstatus();cout<<"\n\nNow:"<<endl;Zangming.showstatus();system("pause");}//7-6#include<iostream>usingnamespace std;class Mammal{public:Mammal(int a,int w):age(a),weight(w){cout<<"Mammal Constructor called..."<<endl;}~Mammal(){cout<<"Mammal Destructor called..."<<endl;}private:int age;int weight;};class Dog:public Mammal{public:Dog(int a,int w):Mammal(a,w){cout<<"Dog Constructor called..."<<endl;}~Dog(){cout<<"Dog Destructor called..."<<endl;}};int main(){{cout<<"Constructing a Mammal..."<<endl;Mammal mammal(8,12);cout<<endl<<"Constructing a Dog..."<<endl;Dog dog(3,9);cout<<endl<<"Destructing......"<<endl;}system("pause");return 0;}//8-5#include<iostream>usingnamespace std;class Mammal{public:Mammal(){cout<<"Mammal Constructor..."<<endl;} ~Mammal(){cout<<"Mammal Destructor..."<<endl;} virtualvoid speak()=0;};class Dog:public Mammal{public:Dog(){cout<<"Dog Constructor..."<<endl;}~Dog(){cout<<"Dog Destructor..."<<endl;}virtualvoid speak();};void Dog::speak(){cout<<"Dog's sound...."<<endl;}int main(){Dog *pdog=new Dog;pdog->speak();delete pdog;system("pause");return 0;}//11-5#include<fstream>#include<iostream>usingnamespace std;int main(){ofstream file1("test.txt",ios::app);file1<<"已成功添加字符!";file1.close();char ch;ifstream file2("test.txt");while(file2.get(ch))cout<<ch;file2.close();system("pause");return 0;}五、自评良好实验成绩细化表。
面向对象程序设计实验报告
《面向对象程序设计实验》实验一、Java实验环境的建立(2学时)1、目的要求(1)掌握Java编程环境的搭建过程;(2)掌握Jcreator pro软件的使用方法;(3)能使用Java doc文档。
2、实验内容(1)下载并安装JDK1.6,配置JDK环境变量;(2)下载Javadoc压缩包并解压在JDK安装路径下;(3)下载Jcreator pro 4.0并安装和配置使用环境;(4)使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。
①Java application程序代码如下:public class HelloJava{public static void main(String args[]){ System.out.println("Hello Java!"); }}②Java applet程序代码如下:import java.awt.*;public class Hello extends java.applet.Applet{public void paint(Graphics g){ g.drawString("Hello!",30,30); }}3、仪器与材料:计算机实验二、Java语言程序设计训练(2学时)1、目的要求(1)输入、输出操作实现原理和方法;(2)掌握程序流程控制的实现方法;(3)掌握数组的定义和操作方法。
2、实验内容(1)计算Result=1!+2!+3!+...+10!。
public class Test3 {public static void main(String[] args) {int sum = 0, fact, n, i;for (n = 1; n <= 10; n++) {fact = 1;for (i = 1; i <= n; i++)fact *= i;sum += fact;}System.out.println("sum=" + sum);}}(2)计算1---50之间所有素数的和。
c++输入输出流实验报告要点
实验四输入输出流实验课程名:面向对象程序设计(C++)专业班级:学号:姓名:实验时间:实验地点:指导教师:代码分析: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<<mer;return 0;}实验代码:#include<iostream>using namespace std;class merchandise{out<<s.no<<' '<<<<' '<<s.price<<endl;return out;}int main(){merchandise mer;cin>>mer;cout<<mer;return 0;}实验结果:实验分析:先定义一个商品的类,构造函数定义为无参函数在函数体中将name置为空,其他为0.在重载>>时使用getline函数,输入name以’\n’作为结束标记重载<<时直接输出。
C输入输出流实验报告
深圳大学实验报告实验课程名称:程序设计实验与课程设计实验项目名称:实验10 C++流输入与流输出学院:计软专业:计科报告人:学号:班级: 3同组人:无指导教师:朱安民实验时间:2014年6月16日提交时间:2014年6月16声明:本次实验内容由报告人和同组人独立完成,所有涉及到他人的工作均已说明。
报告人和同组人均同意教师及学校为教学活动而引用本实验的内容,且无需事先征得同意和特别说明。
教务处制一、实验目的1.掌握标准输入输出(iostream库中标准对象cin、cout)的使用2.掌握IO流类成员函数输入输出(cin.get, cin.getline, cin.read; cout.put, cout.write)的使用3.掌握输出格式(标准控制符、IO流类成员函数、iomanip头文件中的控制符)控制方法4.掌握磁盘文件的输入输出方法二、实验说明和实验环境1.在奥特曼类的基础上,编写一个程序,重载运算符“》”和“《”,使得用户可以直接(格式化)输出奥特曼的状态。
在主程序中输入若干个(3个)奥特曼的状态,并分别将它们保存到文件RecordU.txt中。
然后读取并显示文件中的内容。
2.奥特曼和怪物都具有属性:等级, 生命, 攻击, 经验, 金钱,都具有方法:初始化initial和显示状态display在奥特曼的初始化中,需要接受外来等级参数,生命, 攻击的数值初始化为等级的10倍,金钱为等级的100倍,经验恒为0在怪兽的初始化中,需要接受外来等级参数,生命, 攻击的数值初始化为等级的8倍,经验为等级的80倍,金钱为等级的800倍对怪兽和奥特曼的状态输出采用运算符《重载的方法,并结合display方法使用,注意本题目要求怪兽和奥特曼的状态输出必须使用重载运算符《,不能直接使用display方法。
注意:为了实现运算符《重载,需要包含头文件<iomanip>经常天降怪石会砸中奥特曼或怪兽,如果被幸运石砸中,就会处于“鸿运当头”状态,被砸对象除等级外其它属性全部翻倍;如果被厄运石砸中,就会陷入“倒霉透顶”状态,被砸对象除等级外其它属性全部减半。
大学c语言实验报告-1基本输入输出
实现程序流程
写程序代码
调试验证代码
四、实验原始纪录(源程序、数据结构等)
11.原程序:
12.原程序:
13.原程序:
14.原程序:
五、实验结果及分析(计算过程与结果、数据曲线、图表等)
11题输出结果:
12题输出结果:
13题输出结果:1ຫໍສະໝຸດ 题输出结果:六、实验总结与思考
1.本次试验初步了解了输入与输出函数在实际程序中的运行及VC++的使用。
2.对逻辑运算了解的更加深刻。
教师评语:
二实验主要仪器和设备计算机三实验方法与步骤需求分析算法设计思路流程图等分析题目实现程序流程写程序代码调试验证代码四实验原始纪录源程序数据结构等11
实验报告
课程名称程序设计基础——c语言
实验项目名称实验1基本输入输出
实验学生班级
实验学生姓名
学 号
同组学生姓名\
实验时间
实验地点
实验成绩评定
指导教师签字年月日
一、实验目的和要求
1.理解该部分的概念。包括:
掌握该部分的用法,熟练编写程序应用
2.上机调试之前必须携带已经编写完毕的程序源代码,实验过程中主要是进行调试。
3.上机时间不足以完成实验项目的同学利用课外时间做完所有项目。
4.根据所选实验内容完成实验报告。
二、实验主要仪器和设备
计算机
三、实验方法与步骤(需求分析、算法设计思路、流程图等)
java输入输出流实验报告总结】
java输入输出流实验报告总结】Java输入输出流实验报告总结在本次实验中,我们学习了Java的输入输出流的概念和用法。
输入输出流是Java中用于处理输入和输出操作的工具。
通过输入流,我们可以将外部数据输入到程序中进行处理,通过输出流,我们可以将程序中的数据输出到外部文件或设备上。
在本次实验中,我们通过几个具体的示例来探索输入输出流的不同用法和特性,以期更好地理解和掌握它们的使用。
首先,我们学习了如何使用FileInputStream和FileOutputStream这两个类来进行字节流的输入和输出操作。
这两个类分别用于从指定文件中读取字节数据和将字节数据写入到指定文件中。
通过这两个类,我们可以实现文件的拷贝、移动、创建等功能。
同时,我们还了解了如何使用BufferedInputStream和BufferedOutputStream这两个类来提高读写效率。
这两个类可以通过缓存数据来减少对底层系统的IO操作次数,从而提高读写速度。
接下来,我们学习了如何使用FileReader和FileWriter这两个类进行字符流的输入和输出操作。
这两个类与字节流的输入输出类似,但它们处理的是字符数据。
通过这两个类,我们可以读取和写入文本文件中的字符数据。
我们还了解了字符编码和字符集的概念,并学习了如何使用InputStreamReader和OutputStreamWriter来进行字符流和字节流之间的转换。
除了字节流和字符流,我们还学习了对象流的使用。
对象流可以将Java 对象直接写入到文件中,也可以从文件中读取Java对象。
这在处理一些复杂的对象数据时非常有用。
我们通过使用ObjectInputStream和ObjectOutputStream这两个类,实现了对象的读写操作。
需要注意的是,被写入和读取的对象必须实现Serializable接口,否则会抛出NotSerializableException异常。
在实验过程中,我们还探索了如何使用标准输入输出流。
《面向对象程序设计_C++》实验报告
《⾯向对象程序设计_C++》实验报告C++实验报告实验⼀ Visual C++6.0开发环境应⽤⼊门(验证性实验2学时)1.⽬的要求:了解Visual C++6.0的特点,熟悉了解Visual C++6.0的开发环境,学习使⽤Visual C++6.0编写标准的C++控制台应⽤程序。
2.实验内容:使⽤Visual C++来建⽴⼀个⾮图形化的标准C++程序,编译、运⾏教材中的例3-3,⽤公式法求解PI的数值,并尝试利⽤其他⽅法求解并获得相同的结果。
π=16arctan(1/5)-4arctan(1/239)arctan(x)=x-x3/3+x5/5-x7/7+…求π=?(1)源代码和说明:#includeusing namespace std;double arctan(double x){double sqr=x*x;double e=x;double r=0;int i;while(e/i>1e-15){double f=e/i;r=(i%4==1)?r+f:r-f;e=e*sqr;i+=2;}return r;}int main(){double a=16.0*arctan(1/5.0);double b=4.0*arctan(1/239.0);cout<<"PI="<return 0;}2)运⾏结果:1实验⼆ C++简单程序设计实验(验证性实验4学时)1.⽬的要求:会编写简单的C++程序;复习基本数据类型变量和常量的应⽤;复习运算符与表达式的应⽤;复习结构化程序设计基本控制结构的应⽤;复习⾃定义数据类型的应⽤;练习使⽤简单的输⼊输出;观察头⽂件的作⽤;学会使⽤VC6.0开发环境中的debug调试功能;熟练程序设计中的技巧;2.实验内容:1)给定⼀个字符变量输出其⼆进制形式。
例如char a=’a’;其⼆进制为00100001。
1)源代码和说明#includeusing namespace std;int main(){char ch;int j,k[8]={0};cout<<"请输⼊⼀个字符:"<cin>>ch;for(j=0;j<=7;j++){if(ch){if(ch%2==0)k[j]=0;elsek[j]=1;ch=(ch-(ch%2))/2;}}for(j=7;j>=0;j--){cout<}cout<}2)运⾏结果:2)给定⼀个字符变量输出其⼆进制反转形式。
《面向对象程序设计c++》实验指导书
实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。
2、掌握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求1、分析下列程序运行的结果。
程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。
面向对象程序设计》C实验报告
面向对象程序设计》C实验报告《面向对象程序设计》实验报告学院:专业:班级学号:姓名:学期:教师:实验一 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++编译器使用函数体中的代码插入到调用该函数的语句处,同时用实参取代形参。
《面向对象程序设计》实验指导书
《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书郭⽟柱⼴东商学院信息学院⼆0⼀0 年⼗⼆⽉⽬录实验⼀ Java基础实验实验⼆ Java⾯向对象特性试验--Java中的类、对象和⽅法实验三类的继承、多态、接⼝、访问控制符与修饰符实验四 Java资源及其利⽤实验五 Java 语⾔的异常处理实验六输⼊输出流实验七图形⽤户界⾯设计实验⼋ Java Applet及多线程试验附录1 实验报告格式实验⼀ Java 基础实验⼀、实验⽬的与要求1. 学习编写简单的Java 程序。
2. 学习掌握Java 基本数据类型及其基本运算。
3. 学习掌握Java 的基本流程控制语句。
⼆、相关知识1. 了解JDK 的⼯作环境,以及如何使⽤JDK 进⾏编程。
2. 熟悉集成软件 eclipse3.5及其使⽤。
⼆、实验内容1. 编写Hello.java 程序并运⾏。
2. ⽤Java 语⾔编写⼀个应⽤程序在屏幕上输出1000之内的素数。
3. ⼀个数如果恰好等于它的因⼦之和,这个数就称为“完数”,⽐如28=1+2+4+7+14。
编写⼀个应⽤程序在屏幕上输出1000之内的完数。
4. 求满⾜1!+2!+3!+ …+n!≤9999的最⼤整数n 。
5. ⼀个三位的整数如果它的各位数字的⽴⽅之和等于这个三位数,就称此数为⽔仙花数,⽐如 333173371++=,编写⼀个应⽤程序在屏幕上输出所有⽔仙花数。
6. 下⾯程序的输出结果是什么?实验⼆ Java⾯向对象特性试验-Java中的类、对象和⽅法⼀、实验⽬的与要求1. 掌握类的定义和使⽤。
2. 掌握对象的声明、创建和使⽤。
3. 掌握构造⽅法的定义和使⽤。
4. 掌握类⽅法(静态⽅法)和⾮类⽅法(⾮静态⽅法)的区别和使⽤。
5. 掌握成员变量和局部变量的区别和使⽤。
⼆、实验内容1. 编写⼀个Java程序,定义⼀个表⽰学⽣的类,类名Student,其成员变量有:学号、班级姓名、性别、年龄;成员⽅法:(1)获得班号(2)获得姓名(3)获得年龄(4)修改年龄;创建⼀个Student的对象,修改该对象的年龄,并输出该对象的年龄。
c++输入输出流实验报告
实验四输入输出流实验课程名:面向对象程序设计(C++)专业班级:学号:姓名:实验时间:实验地点:指导教师:代码分析: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<<mer;return 0;}实验代码:#include<iostream>using namespace std;class merchandise{out<<s.no<<' '<<<<' '<<s.price<<endl;return out;}int main(){merchandise mer;cin>>mer;cout<<mer;return 0;}实验结果:实验分析:先定义一个商品的类,构造函数定义为无参函数在函数体中将name置为空,其他为0.在重载>>时使用getline函数,输入name以’\n’作为结束标记重载<<时直接输出。
输入输出函数的实训报告
一、实训目的通过本次实训,使学生掌握C语言输入输出函数的使用方法,熟悉标准输入输出流,能够编写简单的C语言程序实现数据的输入和输出。
二、实训环境计算机、C语言编译环境(如Visual Studio、Code::Blocks等)三、实训原理C语言中的输入输出函数主要涉及标准输入输出流,包括标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)。
标准输入输出流是C语言提供的一种特殊的文件流,通常与键盘和屏幕相关联。
1. 标准输入(stdin):用于从键盘读取数据。
2. 标准输出(stdout):用于将数据输出到屏幕。
3. 标准错误输出(stderr):用于输出程序错误信息。
常用的输入输出函数如下:1. scanf():从标准输入读取数据,并按照指定的格式进行格式化。
2. printf():将格式化后的数据输出到标准输出。
3. getchar():从标准输入读取一个字符。
4. putchar():将一个字符输出到标准输出。
四、实训过程1. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取一个整数和一个浮点数,并分别赋值给整型变量和浮点型变量。
(2)使用printf()函数将读取的整数和浮点数输出到屏幕。
(3)使用getchar()函数从键盘读取一个字符,并使用putchar()函数将读取的字符输出到屏幕。
2. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取一个字符串,并存储在字符数组中。
(2)使用printf()函数将读取的字符串输出到屏幕。
3. 编写程序实现以下功能:(1)使用scanf()函数从键盘读取两个整数,并计算它们的和。
(2)使用printf()函数将计算结果输出到屏幕。
五、实训结果1. 编写程序实现以下功能:```#include <stdio.h>int main() {int num;float fnum;printf("请输入一个整数:");scanf("%d", &num);printf("请输入一个浮点数:");scanf("%f", &fnum);printf("整数:%d\n浮点数:%f\n", num, fnum);return 0;}```2. 编写程序实现以下功能:```#include <stdio.h>int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);printf("字符串:%s\n", str);return 0;}```3. 编写程序实现以下功能:```#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("和:%d\n", sum);return 0;}```六、实训总结1. 通过本次实训,掌握了C语言输入输出函数的使用方法,熟悉了标准输入输出流。
C++程序设计实验报告
C++程序设计实验报告一、实验目的(1)学习编写简单的C++程序,并掌握C++程序的基本格式与规范,理解C++程序结构的特点。
(2)掌握函数的定义和调用方法。
(3)练习重载函数、函数模板、系统函数的使用。
(4)学习使用VC ++的debug调试功能,使用step into追踪到函数内部。
(5)学习类与对象的定义和使用方法以及对象的声明。
(6)学习具有不同属性的数据成员与成员函数的访问方式。
(7)理解构造函数和析构函数的定义与执行过程。
(8)掌握运算符重载的方法。
(9)学习使用虚函数实现动态多态性。
(10)熟悉流类库中常用的类及其成员函数的用法。
(11)学习标准输人输出及格式控制。
(12)学习对文件的应用方法(二进制文件、文本文件)。
二、实验内容与实验步骤实验一:(1)输人并运行所给的参考程1,并将程序中的注释部分也输人计算机,体会和理解程序的基本格式规范。
(2)编写一个函数把华氏温度转换为摄氏温度,转换公式为C= (F一32)*5/9。
(3)编写重载函数Maxl可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
(4)使用重载函数模板重新实现上小题中的函数Maxl。
(5)使用系统函数pow(x,y)计算x y的值,注意包含头文件math.h。
(6)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
实验二:(1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop,其中rank为枚举类型CPU_ Rank,定义为enum CPU_ Rank(P1 = 1,P2,P3,P4,P5,P6,P7),frequency为单位是MHz的整型数,voltage为浮点型的电压值。
观察构造函数和析构函数的调用顺序。
(2)定义一个简单的Computer类,有数据成员芯片(CPU),内存(ram),光驱(cdrom)等等,有两个公有成员函数run、stop,CPU为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。
C++面向对象程序设计-输入输出流实验报告
班级学号姓名[实验目的]1、深入理解C++的输入输出的含义和实现方法。
2、掌握对文件的输入输出操作。
[实验要求]给出以下各实验内容的源程序代码,并把编译、运行过程中出现的问题以及解决方法填入实验报告中,按时上交。
[实验学时] 2学时。
[实验内容]1、编程序,在显示屏上显示一个由字母B组成的三角形。
(用控制符或流成员函数控制输出格式)#include<iostream>#include<iomanip>using namespace std;int main(){int n,i;scanf("%d",&n);for(i=1;i<=n-1;i++)cout<<setw((2*n-1-(2*i-1))/2)<<setfill(' ')<<" "<<setw(2*i-1)<<setfill('B')<<"B"<<endl;cout<<setw(2*n-1)<<setfill('B')<<"B"<<endl;return 0;}2、建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作:①从键盘输入16个整数,分别存放在两个磁盘文件中(每个文件中放8个整数);②从f1.dat读入8个数,然后存放到f2.dat文件原有数据的后面;③从f2.dat中读入16个整数,将它们按从小到大的顺序存放到f2.dat(不保留原来的数据)。
④分别输出文件f1.dat和f2.dat的内容。
#include<iostream>#include<fstream>using namespace std;void fun1(){int a[8],i;ofstream outfile1("f1.dat"),outfile2("f2.dat");if(!outfile1){cerr<<"open f1.dat error"<<endl;exit(0);}if(!outfile2){cerr<<"open f2.dat error"<<endl;exit(0);}cout<<"enter 8 integer number"<<endl;for(i=0;i<8;i++){cin>>a[i];outfile1<<a[i]<<" ";}cout<<"enter 8 integer number"<<endl;for(i=0;i<8;i++){cin>>a[i];outfile2<<a[i]<<" ";}outfile1.close();outfile2.close();}void fun2(){ifstream infile("f1.dat");if(!infile){cerr<<"open f1.dat error"<<endl;exit(0);}ofstream outfile("f2.dat",ios::app);if(!outfile){cerr<<"open f2.dat error"<<endl;exit(0);}int a[8],i;for(i=0;i<8;i++){infile>>a[i];outfile<<a[i]<<" ";}infile.close();outfile.close();}void fun3(){ifstream infile("f2.dat");if(!infile){cerr<<"open f2.dat error!"<<endl;exit(1);}int a[16];int i;for(i=0;i<16;i++)infile>>a[i];int j,k,t;for(j=0;j<16;j++)for(k=0;k<16-j;k++){if(a[k]>a[k+1]){t=a[k];a[k]=a[k+1];a[k+1]=t;}}infile.close();ofstream outfile("f2.dat",ios::out);if(!outfile){cerr<<"open f2.dat error!"<<endl;exit(1);}cout<<"data in f2.dat"<<endl;for(i=0;i<16;i++){outfile<<a[i]<<" ";cout<<a[i]<<" ";}cout<<endl;outfile.close();}int main(){fun1();fun2();fun3();return 0;}3、利用字符串流完成下列操作:①将3个职工的数据按职工编号由小到大的顺序(包括编号、姓名、年龄、工资)保存在字符数组c中。
C面向对象程序设计标准教案(2024)
2024/1/27
34
输入输出流及文件操作
2024/1/27
std:string le, line)) { std:cout << line << std:endl;
35
输入输出流及文件操作
} inputFile.close();
2024/1/27
C面向对象程序设计标准教 案
2024/1/27
1
contents
目录
2024/1/27
• 课程介绍与目标 • C语言基础 • 面向对象程序设计原理 • C标准库及常用算法 • 实践项目:简单计算器设计 • 课程总结与展望
2
01
课程介绍与目标
2024/1/27
3
课程背景与意义
2024/1/27
C作为一种高效且通用的编程 语言,广泛应用于系统开发、 游戏开发、嵌入式系统等领域
42
项目需求分析与设计思路
设计简洁直观的界面,提供良好的用户 体验。
实现基本的四则运算功能,并考虑运算优先 级。
提供历史记录功能,方便用户查看 之前的运算结果。
2024/1/27
43
界面设计实现过程展示
输入框
用于用户输入数字和运算符。
显示区
显示运算结果和历史记录。
2024/1/27
44
界面设计实现过程展示
}
```
30
输入输出流及文件操作
1
输入输出流是C标准库中提供的一种用于处理数 据输入输出的机制。
2
C标准库提供了多种输入输出流类,如cin、cout 、fstream等,用于处理控制台输入输出和文件 操作。
3
文件操作包括打开文件、读写文件、关闭文件等 步骤,可以使用fstream类进行文件操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级学号姓名
[实验目的]
1、深入理解C++的输入输出的含义和实现方法。
2、掌握对文件的输入输出操作。
[实验要求]
给出以下各实验内容的源程序代码,并把编译、运行过程中出现的问题以及解决方法填入实验报告中,按时上交。
[实验学时] 2学时。
[实验内容]
1、编程序,在显示屏上显示一个由字母B组成的三角形。
(用控制符或流
成员函数控制输出格式)
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n,i;
scanf("%d",&n);
for(i=1;i<=n-1;i++)
cout<<setw((2*n-1-(2*i-1))/2)<<setfill(' ')<<" "<<setw(2*i-1)<<setfill('B')<<"B"<<endl;
cout<<setw(2*n-1)<<setfill('B')<<"B"<<endl;
return 0;
}
2、建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作:
①从键盘输入16个整数,分别存放在两个磁盘文件中(每个文件中放8
个整数);
②从f1.dat读入8个数,然后存放到f2.dat文件原有数据的后面;
③从f2.dat中读入16个整数,将它们按从小到大的顺序存放到f2.dat(不
保留原来的数据)。
④分别输出文件f1.dat和f2.dat的内容。
#include<iostream>
#include<fstream>
using namespace std;
void fun1()
{
int a[8],i;
ofstream outfile1("f1.dat"),outfile2("f2.dat");
if(!outfile1)
{
cerr<<"open f1.dat error"<<endl;
exit(0);
}
if(!outfile2)
{
cerr<<"open f2.dat error"<<endl;
exit(0);
}
cout<<"enter 8 integer number"<<endl;
for(i=0;i<8;i++)
{
cin>>a[i];
outfile1<<a[i]<<" ";
}
cout<<"enter 8 integer number"<<endl;
for(i=0;i<8;i++)
{
cin>>a[i];
outfile2<<a[i]<<" ";
}
outfile1.close();
outfile2.close();
}
void fun2()
{
ifstream infile("f1.dat");
if(!infile)
{
cerr<<"open f1.dat error"<<endl;
exit(0);
}
ofstream outfile("f2.dat",ios::app);
if(!outfile)
{
cerr<<"open f2.dat error"<<endl;
exit(0);
}
int a[8],i;
for(i=0;i<8;i++)
{
infile>>a[i];
outfile<<a[i]<<" ";
}
infile.close();
outfile.close();
}
void fun3()
{
ifstream infile("f2.dat");
if(!infile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
int a[16];
int i;
for(i=0;i<16;i++)
infile>>a[i];
int j,k,t;
for(j=0;j<16;j++)
for(k=0;k<16-j;k++)
{
if(a[k]>a[k+1])
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
infile.close();
ofstream outfile("f2.dat",ios::out);
if(!outfile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
cout<<"data in f2.dat"<<endl;
for(i=0;i<16;i++)
{
outfile<<a[i]<<" ";
cout<<a[i]<<" ";
}
cout<<endl;
outfile.close();
}
int main()
{
fun1();
fun2();
fun3();
return 0;
}
3、利用字符串流完成下列操作:
①将3个职工的数据按职工编号由小到大的顺序(包括编号、姓名、年龄、
工资)保存在字符数组c中。
②将存放在c数组中的数据读入并显示出来。
#include<iostream>
#include<strstream>
using namespace std;
struct staff
{
int num;
char name[20];
int age;
float salar;
};
int main()
{
staff
s[3]={1001,"Li",30,5000,1002,"Wang",32,6000,1003,"Fun",34,6500},s1[3 ];
char c[100];
int i;
ostrstream strout(c,100);
for(i=0;i<3;i++)
strout<<" "<<s[i].num<<" "<<s[i].name<<" "<<s[i].age<<"
"<<s[i].salar;
strout<<ends;
cout<<"array c:"<<endl<<c<<endl<<endl;
istrstream strin(c,100);
for(i=0;i<3;i++)
strin>>s1[i].num>>s1[i].name>>s1[i].age>>s1[i].salar;
cout<<"存放在c数组中的数据读入并显示出来"<<endl;
for(i=0;i<3;i++)
cout<<s1[i].num<<" "<<s1[i].name<<" "<<s1[i].age<<"
"<<s1[i].salar<<" ";
cout<<endl;
return 0;
}
[实验总结]给出对本次实验的总结。
本次实验让我对输入与输出有了进一步的了解,简单的使用C++文件操作,和字符流操作。