文档库 最新最全的文档下载
当前位置:文档库 › 实验八 流类库与输入输出

实验八 流类库与输入输出

实验报告

课程:面向对象技术学号:1010431079 姓名:郝祥海

班级:2010级计算机软件(嵌入式系统)1班

教师:周晓

计算机科学与技术系

实验八流类库与输入输出

一、实验目的及要求

1.熟悉流类库中常用的类及其成员函数的用法;

2.掌握标准输入/输出及格式控制;

3.掌握对文件的应用方法。

二、实验环境

硬件:计算机软件:Microsoft Visual C++

三、实验内容

1.声明一个学生类数组,输入数据,显示出来,使用I/O流把此数组的内容写入磁盘文件,再显示出文件内容。学生类具有的属性如下:姓名name、学号number、班号classno、性别sex、出生日期birthday,其中“出生日期”声明为一个“日期”类内嵌子对象。四、实验结果(附截图)

五、总结

通过本次实验,我了解到流是一种抽象,它负责在数据的生产者和消费者之间建立联系,并管理数据的流动。我对文件的输入输出流有了更深的了解。

六、附录(源程序清单)

#include

#include

#include

using namespace std;

class Student{

public:

Student(string n,int nu,int cl,char s);

string GetName(){return name;}

int GetNumber(){return number;}

int GetClassno(){return classno;}

char GetSex(){return sex;}

private:

string name;

int number;

int classno;

char sex;

};

Student::Student(string n,int nu,int cl,char s):name(n),number(nu),classno(cl),sex(s){}

int main(){

Student a[3] = {Student("Frank",101,1,'M'), Student("Lucy",201,2,'W'), Student("Mike",301,3,'M')};

int i;

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

{ cout << "姓名\t" << a[i].GetName()

<< "\t学号\t" << a[i].GetNumber()

<< "\t班号\t" << a[i].GetClassno()

<<"\t性别\t"<

<< endl;

}

ofstream f;

f.open("C:\\student.txt", ios::out);

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

{

f << "姓名\t" << a[i].GetName()

<< "\t学号\t" << a[i].GetNumber()

<< "\t班号\t" << a[i].GetClassno()

<<"\t性别\t"<

java输入输出流实验报告总结

java输入输出流实验报告总结 Java输入输出流是Java中非常重要的概念,也是Java程序设计的基础。在Java 程序中,输入输出流用于处理与设备之间的数据传输,例如键盘、鼠标、文件等。 Java的输入输出流主要包含两种类型:字节流和字符流。字节流以字节为最小读写单位,而字符流以字符为最小读写单位。 Java的输入流有很多种类型,例如:InputStream、ByteArrayInputStream、FileInputStream等。这些输入流的共同特点是读取外部数据到程序中。 Java的输出流也有多种类型,例如:OutputStream、ByteArrayOutputStream、FileOutputStream等。这些输出流的共同特点是将程序中的数据输出到外部。 下面将以实验报告的形式进行总结,详细介绍Java输入输出流的原理和使用方法。 实验一:字节流输入输出 1. 实验目的:掌握字节流输入输出的基本使用方法。 2. 实验内容:编写一个程序,实现从文件中读取数据,然后将数据输出到另一个文件中。

3. 实验步骤: a. 创建一个输入流对象,用于读取原始文件的数据。 b. 创建一个输出流对象,用于将读取到的数据输出到目标文件中。 c. 循环读取输入流中的数据,直到读取到文件末尾。 d. 将读取到的数据写入输出流中。 e. 关闭输入流和输出流。 4. 实验结果:成功读取原始文件中的数据,并将数据输出到目标文件中。 实验二:字符流输入输出 1. 实验目的:掌握字符流输入输出的基本使用方法。 2. 实验内容:编写一个程序,实现从键盘输入文字,然后将文字输出到屏幕上。 3. 实验步骤:

字符及字符串输入输出与顺序程序设计实验报告

字符及字符串输入输出与顺序程序设计实验 实验报告 2.2.1 实验目的 1、学习和掌握字符及字符串的输入输出方法。 2、掌握顺序程序的设计方法。 3、进一步掌握调试工具的使用方法。 2.2.2 实验预习要求 1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串 输入(功能号为0AH)以及字符串输出(功能号09H)的调用方法(详见教材5.5.6)。 2、复习BCD码运算调整指令。 3、根据“2.2.3 实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试。

4、从“2.2.4 实验习题”中任选一道题目,编写源程序,以便上机调试。 2.2.3实验内容 从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。 1、问题分析 比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。由于数字0 9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。综上所述,需要考虑以下问题。 (1)从键盘输入一个一位十进制数的方法 通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:MOV AH, 01H INT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中 SUB AL, 30H ;减去30H后得到键入数字所代表的数值 (2)提示信息字符串的显示 通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必需为’$’。指令格式如下: MOV DX, OFFSET INFOR1 ;INFOR1为在数据段中定义的要显示的字符串 MOV AH, 09H INT 21H (2)非压缩型BCD数加法调整指令的使用 设从键盘输入的数值已存放在寄存器AL, BL中,可用下列程序完成数据相加和调整操作: XOR AH,AH ADD AL, BL AAA ; 执行该指令后,AH中为和的十位上的数字,AL中为个位上的数字 请读者考虑,为什么要使用指令“XOR AH,AH”,不用行否? (3)计算结果的显示 执行完AAA指令后,只需分别将AH(十位上的数值)和AL(个位上的数值)加上30H,并依次调用功能号为2的DOS功能调用来显示字符。具体指令代码如下:PUSH AX MOV DL, AH ADD DL, 30H MOV AH, 02H INT 21H POP AX MOV DL, AL ADD DL, 30H

数据库技术与应用实验八

实验8 存储过程和触发器 1.实验目的 (1)掌握通过SQL Server管理平台和Transact-SQL语句CREATE PROCEDURE 创建存储过程的方法和步骤。 (2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。 (3)掌握通过SQL Server管理平台和Transact-SQL语句ALTER PROCEDURE 修改存储过程的方法。 (4)掌握通过SQL Server管理平台和Transact-SQL语句DROP PROCEDURE 删除存储过程的方法。 (5)掌握通过SQL Server管理平台和Transact-SQL语句CREATE TRIGGER 创建触发器的方法和步骤。 (6)掌握引发触发器的方法。 (7)掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器。(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。2.实验内容及步骤 (1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print,该存储过程能够显示26个小写字母。 CREATE PROCEDURE letters_print AS DECLARE @count int SET @count=0 WHILE @count<26 BEGIN PRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END 单击查询分析器的“执行查询”按钮,查看studentsdb数据库的存储过程是否有letters_print。 使用EXECUTE命令执行letters_print存储过程。 (2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。 CREATE PROCEDURE stu_info @name varchar(40) AS SELECT a.学号,姓名,课程编号,分数 FROM student_info a INNER JOIN grade ta ON a.学号= ta.学号 WHERE 姓名= @name 使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。 如果存储过程stu_info执行时没有提供参数,要求能按默认值查询(设姓名为“刘卫平”),如何修改该过程的定义? (3)使用studentsdb数据库中的student_info表、curriculum表、grade表。 ①创建一个存储过程stu_grade,查询学号为0001的学生的姓名、课程名称、分数。

Java输入与输出实验报告

实验报告 课程名称: Java语言程序设计 姓名: 学号: 班级: 数学与计算机科学学院

数学与计算机科学学院实验报告实验名称:输入与输出 指导教师:日期:

} private static void writeFile() throws Exception { String s; while(true) { System.out.println("输入字符串:"); System.out.flush(); s=keyread.readLine(); if(s.length()==0) break; bwrite.write(s); bwrite.newLine(); } } public static void main(String args[]) throws Exception { String filename="E:\\project_java\\src\\file"; file=new File(filename); if(!file.exists()) { System.out.println("文件不存在"); return; } fwrite=new FileWriter(file); bwrite=new BufferedWriter(fwrite); keyread=new BufferedReader(new InputStreamReader(System.in)); writeFile(); keyread.close(); bwrite.close(); fread=new FileReader(file); bread=new BufferedReader(fread); readFile(); bread.close(); } } 第2题代码: import java.io.*; public class MyFile { public static void main(String args[]) throws IOException { String filename="E:\\project_java\\src\\file"; File file=new File(filename); if(!file.exists()){ System.out.println("文件不存在"); return; } FileReader fread=new FileReader(file); BufferedReader bread=new BufferedReader(fread);

java输入输出流实验报告总结】

java输入输出流实验报告总结】 Java输入输出流实验报告总结 在本次实验中,我们学习了Java的输入输出流的概念和用法。输入输出流是Java中用于处理输入和输出操作的工具。通过输入流,我们可以将外部数据输入到程序中进行处理,通过输出流,我们可以将程序中的数据输出到外部文件或设备上。在本次实验中,我们通过几个具体的示例来探索输入输出流的不同用法和特性,以期更好地理解和掌握它们的使用。 首先,我们学习了如何使用FileInputStream和FileOutputStream这两个类来进行字节流的输入和输出操作。这两个类分别用于从指定文件中读取字节数据和将字节数据写入到指定文件中。通过这两个类,我们可以实现文件的拷贝、移动、创建等功能。同时,我们还了解了如何使用BufferedInputStream和BufferedOutputStream这两个类来提高读写效率。这两个类可以通过缓存数据来减少对底层系统的IO操作次数,从而提高读写速度。 接下来,我们学习了如何使用FileReader和FileWriter这两个类进行字符流的输入和输出操作。这两个类与字节流的输入输出类似,但它们处理的是字符数据。通过这两个类,我们可以读取和写入文本文件中的字符数据。我们还了解了字符编码和字符集的概念,并学习了如何使用InputStreamReader和OutputStreamWriter来进行字符流和字节流之

间的转换。 除了字节流和字符流,我们还学习了对象流的使用。对象流可以将Java 对象直接写入到文件中,也可以从文件中读取Java对象。这在处理一些复杂的对象数据时非常有用。我们通过使用ObjectInputStream和ObjectOutputStream这两个类,实现了对象的读写操作。需要注意的是,被写入和读取的对象必须实现Serializable接口,否则会抛出NotSerializableException异常。 在实验过程中,我们还探索了如何使用标准输入输出流。标准输入输出流分别用于读取和写入控制台上的数据。通过使用System.in和System.out 对象,我们可以实现从键盘读取数据和向屏幕输出数据的功能。我们还学习了如何使用Scanner类来读取标准输入流中的数据,以及如何使用PrintWriter类来将数据输出到标准输出流。 综上所述,本次实验中我们学习了Java的输入输出流的不同用法和特性。通过实际的例子,我们了解了字节流、字符流和对象流的基本操作和使用方式。我们还探索了标准输入输出流的用法,以及如何利用缓冲流来提高读写效率。输入输出流是Java编程中非常重要的一部分,熟练掌握其用法对于开发大型应用程序和处理文件数据非常有帮助。 在今后的实际项目中,我们可以根据不同的需求选择合适的输入输出流来

实验八:PWM输出实验

微控制器 综合设计与实训实验名称:实验八PWM输出实验

实验八:PWM输出实验 1 实训任务 (1) 开启TIM时钟,配置定时器通道对应IO口为复用输出; (2) 利用定时器的PWM输出功能产生波; (3) 通过调节占空比调节LED的亮度。 1.1 实验说明 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。 STM32的定时器除了TIM6和7。其他的定时器都可以用来产生PWM输出。其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。而通用定时器也能同时产生多达4路的PWM输出。要使STM32的通用定时器TIMx产生PWM输出,除了上一实验的寄存器外,我们还会用到3个寄存器,分别是:捕获/比较模式寄存器(TIMx_CCMR1/2)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄存器(TIMx_CCR1~4)。 本实验仅利用TIM3的CH2产生一路PWM输出。通过重映射TIM_CH2到PB5上,由TIM_CH2输出PWM来控制LED1的亮度。 1.2 实验步骤 (1)在实训平台上将PB5连接LED灯; (2)编写timer.c与timer.h文件,实现通过重映射TIM_CH2到PB5上,由TIM_CH2输出PWM来控制LED1的亮度。 (3)编写main文件,编译成功; (4) 程序编译无误后下载到实训平台,观察LED亮度的变化:通过示波器观察输出的波形。

2 程序设计 (1) 新建文件夹并命名为PWM输出实验,复制粘贴上一章的实验文件,将工程文件改名为PWM.uvprojx。 (2)timer.h文件只需再添加TIM3_PWM_Init的声明即可。 (3) 编写timer.c文件。 a. 开启TIM3时钟以及复用功能时钟置,配置PB5为复用输出 要使用TIM3,必须先开启TIM3的时钟,使能GPIO外设和AFIO复用功能模块时钟。因为TIM3_CH2通道将重映射到PB5上,此时还要配置PB5为复用输出。 库函数使能TIM3时钟的方法是: RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能定时器3时钟 库函数设置AFIO时钟的方法是: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //复用时钟使能 GPIO初始化为复用推挽输出: GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 图9.2开启TIM3时钟 b.设置TIM3_CH2重映射到PB5上 因为TIM3_CH2默认是接在PA7上的,所以需要设置TIM3_REMAP为部分重映射(通过AFIO_MAPR配置),让TIM3_CH2重映射到PB5上面。 库函数函数里面设置重映射的函数是: V oid GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState

实验八-输入输出流

实验八输入输出流 1.实验目的 1、掌握字符输入、输出流的用法 2、掌握使用Scanner类解析文件 3、掌握Console流的使用 2.实验内容 1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行 得出结果。 1) 实验1举重成绩单 2) 实验2统计英文单词 3) 实验3密码流 4) 实验4学读汉字 5)实验5 读取Zip文件 2、设计编写程序完成以下任务。 1)修改实验2,要求按字典顺序输出全部不相同的单词。 2)参考实验3编写一个程序,程序运行时,要求用户输入的密码是:hello。如果用户输入了正确的密码。程序将输出“你好,欢迎你!”。程序允许用户2次输入的密码不正确,一旦超过2次,程序将立刻退出。 3)在本机的磁盘系统中,找一个文件夹,利用File类的提供方法,列出该文件夹中的所有文件的文件名和文件的路径,执行效果如下:路径是xxx的文件夹内的文件有: 文件名:abc.txt 路径名:c:\temp\abc.txt -------------------------------------------- 文件名:def.txt 路径名:c:\temp\def.txt 知识点:File管理 4)使用java的输入输出流将一个文本文件的内容读出并在控制台将文件中的内容打印出来。(参考书上P184页) 5)从控制台输入一串字符串,将该串字符串写入到磁盘某位置上的out.txt文件中去。(参考教材P183页) 6)使用java的输入输出流将一个文本文件的内容按行读取,每读一行就顺序添加行号,并写入到另一个文件中. 7)定义一个Person类,包含姓名、年龄、身份证号码属性。有一个带参数的构造方法用于对所有属性赋值,还有一个study的方法,里面只打印一条“我喜欢学习”的话。写一个Test类,里面实例化若干个Person对象,并将这些对象写入到obj.txt文件中去。 8)创建c:/test.txt文件并在其中输入"hello world"

c++文件输入输出流实验报告

实验6 文件输入输出流 班级学号(最后两位)姓名成绩 一、实验目的 1.掌握文件流的打开、关闭及使用的使用方法; 2.理解文本文件流与二进制文件流在操作上的区别。 二.实验内容 1.利用一个文本文件保存100以内的所有素数。 #include #include #include #include using namespace std; void main() { ofstream ofile; ofile.open("E:\\c语言\\100以内素数.txt"); int i,j; double k; for(i=2;i<=100;i++) { k=sqrt(double(i)); for(j=2;j<=k;j++) if(i%j==0) break; if(j>k) ofile<

int main() { int x; fstream fp; fp.open("data.txt",ios_base::out|ios_base::binary); srand((unsigned)time(NULL)); //设置产生不同的随机数 for(int i=0;i<10;i++) { x=rand()%100+1; //设置随机数产生的范围 fp<9) { count=0; fp<

c++流类库与输入输出习题答案

1.概念填空题 1.1头文件iostream中定义了4个标准流对象cin,cout,cerr,clog。其中标准输入流对象为cin,与键盘连用,用于输入;cout为标准输出流对象,与显示器连用,用于输出。 1.2用标准输入流对象cin与提取操作符>>连用进行输入时,将空格与回车当作分隔符,使用get()成员函数进行输入时可以指定输入分隔符。 1.3每一个输入输出流对象都维护一个流格式状态字,用它表示流对象当前的格式状态并控制流的格式。C++提供了使用格式控制函数与操作子函数来控制流的格式的方法。 1.4 C++根据文件内容的数据格式可分为两类:文本文件和二进制文件。前者存取的最小信息单位为字节,后者记录。 1.5文件输入是指从文件向内存读入数据;文件输出则指从内存向文件输出数据。文件的输入输出首先要打开文件;然后进行读写;最后关闭文件。 1.6文本文件是存储ASCII码字符的文件,文本文件的输入可用cin从输入文件流中提取字符实现。文本文件的输出可用cout将字符插入到输出文件流来实现。程序在处理文本文件时需要(需要/不需要)对数据进行转换。 1.7二进制文件是指直接将计算机内的数据不经转换直接保存在文件中。二进制文件的输入输出分别采用read()、write() 成员函数。这两个成员函数的参数都是2个,分别表示读写缓冲区和字节数。 1.8设定、返回文件读指针位置的函数分别为seekg,tellg;设定、返回文件写指针位置的函数分别为seekp,tellp。 2 简答题 2.1 为什么cin输入时,空格和回车无法读入?这时可改用哪些流成员函数? 2.2 文件的使用有它的固定格式,试做简单介绍。 2.3 在ios类中定义的文件打开方式中,公有枚举类型open_mode的各成员代表什么文件打开方式? 2.4 简述文本文件和二进制文件在存储格式、读写方式等方面的不同,各自的优点和缺点。 2.5 文本文件可以按行也可以按字符进行复制,在使用中为保证能完整复制要注意哪些问题? 2.6 文件的随机访问为什么总是用二进制文件,而不用文本文件? 2.7 怎样使用istream和ostream的成员函数来实现随机访问文件? 3.选择题 3.1要进行文件的输出,除了包含头文件iostream外,还要包含头文件(C )。 A.ifstream B.fstream C.ostream D.cstdio 3.2执行以下程序: char *str; cin>>str; cout<

C++的输入和输出与标准输出流

* 掌握:输入输出的含意;文件流以及输入/输出的格式控制;标准输出在C++程序中的应用。 * 理解:C++类库中的常用流类。 * 了解:C++的I/O对C的发展。 重点、难点 ◆输入输出的含意;文件流以及输入/输出的格式控制;标准输出在C++程序中的应用。 一、C++ 输入输出的含义 以前所用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上。从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件。程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++的输入与输出包括以下3方面的内容: 1、对系统指定的标准设备的输入和输出。简称标准I/O。(设备) 2、以外存磁盘(或光盘)文件为对象进行输入和输出。简称文件I/0。(文件) 3、对内存中指定的空间进行输入和输出。简称串I/O。(内存) C++采取不同的方法来实现以上3种输人输出。为了实现数据的有效流动,C++系统提供了庞大的I/O类库,调用不同的类去实现不同的功能。 二、C++的I/O对C的发展—类型安全和可扩展性 C语言中I/O存在问题: 1、在C语言中,用prinff和scanf进行输入输出,往往不能保证所输入输出的数据是可靠的、安全的。学过C语言的读者可以分析下面的用法:想用格式符%d输出一个整数,但不小心错用了它输出单精度变量和字符串,会出现什么情况?假定所用的系统int型占两个字节。printf("%d",i);//i为整型变量,正确,输出i的值 printf("%d",f);//f为单精度变量,输出变量中前两个字节的内容 printf("%d","C++");//输出字符串"C++”的起始地址 编译系统认为以上语句都是合法的,而不对数据类型的合法性进行检查,显然所得到的结果不是人们所期望的。 2、在用scanf输入时,有时出现的问题是很隐蔽的。如

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

实验四输入输出流 实验课程名:面向对象程序设计(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();

实验八 流类库与输入输出

实验报告 课程:面向对象技术学号:1010431079 姓名:郝祥海 班级:2010级计算机软件(嵌入式系统)1班 教师:周晓 计算机科学与技术系

实验八流类库与输入输出 一、实验目的及要求 1.熟悉流类库中常用的类及其成员函数的用法; 2.掌握标准输入/输出及格式控制; 3.掌握对文件的应用方法。 二、实验环境 硬件:计算机软件:Microsoft Visual C++ 三、实验内容 1.声明一个学生类数组,输入数据,显示出来,使用I/O流把此数组的内容写入磁盘文件,再显示出文件内容。学生类具有的属性如下:姓名name、学号number、班号classno、性别sex、出生日期birthday,其中“出生日期”声明为一个“日期”类内嵌子对象。四、实验结果(附截图) 五、总结

通过本次实验,我了解到流是一种抽象,它负责在数据的生产者和消费者之间建立联系,并管理数据的流动。我对文件的输入输出流有了更深的了解。 六、附录(源程序清单) #include #include #include using namespace std; class Student{ public: Student(string n,int nu,int cl,char s); string GetName(){return name;} int GetNumber(){return number;} int GetClassno(){return classno;} char GetSex(){return sex;} private: string name; int number; int classno; char sex; }; Student::Student(string n,int nu,int cl,char s):name(n),number(nu),classno(cl),sex(s){} int main(){ Student a[3] = {Student("Frank",101,1,'M'), Student("Lucy",201,2,'W'), Student("Mike",301,3,'M')}; int i; for(i=0;i<3;i++) { cout << "姓名\t" << a[i].GetName() << "\t学号\t" << a[i].GetNumber() << "\t班号\t" << a[i].GetClassno() <<"\t性别\t"<

面向对象程序设计(C++)课程教学大纲

面向对象的程序设计(C++)教学大纲 教学目的 本课程为高级语言程序设计的入门课程,完全针对零起点的学生,可作为其他信息类相关课程的基础课。目标是使学生通过本课程的学习,掌握面向对象程序设计的基本概念和方法、C++的基本语法和编程方法;学会使用集成开发环境;掌握程序调试方法;初步了解常用数据结构和非数值算法;初步了解C++标准模板库的使用方法。 教学任务 完成《C++语言程序设计(第4版)》教材内容,及《C++语言程序设计(第4版)学生用书》中的实验内容,另有学生自主选题的大作业、选作的论文回报告。学时:大课30、实验30、课外30、课外讨论10学时。 教学内容的结构 课程由4个模块共12个教学单元组成,对应于《C++语言程序设计(第4版)》的十二章内容。 教学活动以及教学方法上的基本要求 大课、实验、课外作业、自选题目的大作业、论文和报告结合,学时大课30、实验30、课外30。另有课外讨论环节。 通过大课讲解基本原理和方法;通过实验课巩固大课内容,并在助教辅导下完成基础实验,当堂由助教验收;课外作业由学生独立完成,并提交清橙考试系统进行评分。 自选题目的大作业要在期中提交选题报告,逐一批改并给出评语,期末提交全部文档及程序并且逐一答辩。答辩形式为:学生演示5分钟,教师提问5分钟,当即给出成绩。 论文和报告属于加分因素。 课外讨论安排在每次大课之后,加1学时,自愿参加,每人每学期至少参加一次。内容为:教师对难点进行复习、讲解补充例题,学生提问和讨论。 模块及单元教学目标与任务 模块1:程序设计基础 单元1 绪论 要点: ●面向对象程序设计语言的产生和特点,面向对象方法的由来及其基本概念,面向对 象的软件工程简介; ●信息在计算机中的表示和存储,程序的开发过程。 教学任务: 1.1计算机程序设计语言的发展 1.2面向对象的方法 1.3面向对象的软件开发 1.4信息的表示与存储

java实验8指导(实训)1.8

《Java程序设计与应用》实验教学大纲 一、实验目的和要求 1、实验目的 力图通过本实践课程的学习,使学生掌握编写、调试和运行Java程序的基本技巧,熟悉面向对象技术的主要原则和思维方法,借助Java把这些原则和特点融入具体的程序中,建立由感性到理性的深入认识;最后介绍Java编程的必备工具,包括类库、常用算法、GUI、Swing和网络编程,提高解决实际问题的能力。 2、实验要求 实验的编排本着循序渐近、由浅入深的原则,基本覆盖了Java程序设计的主要方面,要求学生实验前认真准备,实验后提供实验报告,给出详细设计结果以及设计依据。 实验报告的格式应采用统一封面,统一的实验报告纸。封面应包括:课程名称、实验序号、名称、专业、班级、姓名、同组实验者、实验时间。实验报告内容应包括:实验名称、目的、内容、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。 二、实验环境介绍 1、硬件设备要求 PC及其联网环境 2、软件设备要求 Windows xp操作系统; Myeclipse6.5集成开发工具; 三、实验内容和学时分配 1、实验内容 实验一:创建用户类 实验二:重构用户类 实验三:使用集合(数组、向量)构建用户管理类 实验四:递归日志查询 实验五:对集合(数组、向量)进行排序查找 实验六:构建聊天客户端界面 实验七:输入输出流

实验八:数据库编程 2、课时分配 四、各实验简述 实验准备: 在E盘建立以自己姓名为名称的文件夹,以便保存实验数据。

实验一:创建用户类 1.1实验目的 1) 熟悉Java开发环境 2) 掌握Java语言基础知识 3) 运用基础知识实现聊天程序中的用户类 1.2实验内容 1) 新建一个Hello.java程序,在控制台打印”欢迎使用本聊天系统!”。 2) 新建一个Test类,在test类中打印下面表达式的运算结果,设a=3,b=-5,f=true: (1) --a % b ++ (2) (a>=1&&a<=12?a:b) 3) 创建聊天程序中的用户类(User),用户拥有自己的名称、出生年份、年龄、密码等信息。其中年龄要通过出生年份计算出来。 1.3实验步骤 1) 在MyEclipse中新建一个Java工程,工程文件保存到E盘自己名字下,新建Hello.java程序 public class Hello { public static void main(String[] args){ System.out.println("欢迎使用聊天系统!"); } } 2) 新建Test类测试表达式 1.编写测试程序,打印测试结果 public class Test { public static void main(String[] args){ int a = 3; int b = -5; boolean f = true; int c=--a % b ++;//自增,自减测试 System.out.println(c); } } 2.实验分析: (1)各表达式的结果是怎么得出来的即表达式的执行顺序? (2)计算表达式的值(a>=1&&a<=12?a:b) ? 3)创建用户类

《Java面向对象程序设计》实验-实验八(输入输出流)(合集)

《Java面向对象程序设计》实验-实验八(输入输出流)(合 集) 第一篇:《Java面向对象程序设计》实验-实验八(输入输出流) 广西科技大学 计通学院 《Java面向对象程序设计》实验 实验八 输入输出流 学生姓名:××× 学 号:××× 班 级:××× 指导老师:××× 专 业:计算机科学与技术 提交日期:×××年×× 月××日 实验报告内容 1.实验目的 掌握字符输入、输出流用法;掌握使用Scanner类解析文件;掌握Console流的使用。 2.实验内容 实验教材-第12章实验1、2、3 字符输入输出流;Scanner类和Console类。 要求: 完善程序,给出实验结果截图; 完成试验后练习。 3.程序代码及运行结果: 实验1 举重成绩单 // AnalysisResult.java import java.io.*;import java.util.*;public

class AnalysisResult { public static void main(String[] args){ File fRead=new File(“score.txt”);File fWrite=new File(“scoreAnalysis.txt”);try{ Writer out=new FileWriter(fWrite);BufferedWriter bufferWrite=new BufferedWriter(out);Reader in=new FileReader(fRead);BufferedReader bufferRead=new BufferedReader(in);String str=null; while((str=bufferRead.readLine())!=null){ double totalScore=Fenxi.getTotalScore(str);str=str+“总成绩:”+totalScore;System.out.println(str);bufferWrite.write(str);b ufferWrite.newLine();} bufferRead.close();bufferWrite.close();} catch(IOException e){ System.out.println(e.toString());} } } // Fenxi.java import java.util.*;public class Fenxi { public static double getTotalScore(String s){ String regex = “[^0123456789.]”;String digitMess = s.replaceAll(regex,“*”);StringTokenizer fenxi = new StringTokenizer(digitMess,“*”);double totalScore=0;while(fenxi.hasMoreT okens()){ double score=Double.parseDouble(fenxi.nextToken());totalScore=totalS core+score;} return totalScore; } } // score.txt 姓名:张三,抓举成绩106kg,挺举189kg。姓名:李四,抓举成绩108kg,挺举186kg。姓名:周五,抓举成绩112kg,挺举190kg。 运行结果如图1所示 图1 实验 2 统计英文单词// WordStatistic.java import java.io.*;import java.util.*;public class WordStatistic { Vector allWord,noSameWord;File file=new File(“english.txt”);Scanner

C++标准输入输出流

C++标准输入输出流 C++标准输入输出流 在C++语言中,数据的输入和输出(简写为I/O)包括对标准输入设备键盘和标准输 出设备显示器、对在外存磁盘上的文件和对存中指定的字符串存储空间(当然可 用该空间存储任何信息)进行输入输出这三个方面。对标准输入设备和标准输出设 备的输入输出简称为标准I/O,对在外存磁盘上文件的输入输出简称为文件I/O,对 存中指定的字符串存储空间的输入输出简称为串I/O。 C++语言系统为实现数据的输入和输出定义了一个庞大的类库,它包括的类主要有ios,istream,ostream,iostream,ifstream,ofstream,fstream,istrst ream,ostrs tream,strstream等,其中ios为根基类,其余都是它的直接或间接派生类。 ios为根基类,它直接派生四个类:输入流类istream、输出流类ostream、文件流 基类fstreambase和字符串流基类strstreambase,输入文件流类同时继承了输入流

类和文件流基类(当然对于根基类是间接继承),输出文件流类ofstream同时继承了输出流类和文件流基类,输入字符串流类istrstream同时继承了输入流类和字符串流基类,输出字符串流类ostrstream同时继承了输出流类和字符串流基类,输入输出流类iostream同时继承了输入流类和输出流类,输入输出文件流类fstream 同时继承了输入输出流类和文件流基类,输入输出字符串流类strstream同时继承了输入输出流类和字符串流基类。 “流”就是“流动”,是物质从一处向另一处流动的过程。C++流是指信息从外部输入设备(如键盘和磁盘)向计算机部(即存)输入和从存向外部输出设备(如显示器和磁盘)输出的过程,这种输入输出过程被形象地比喻为“流”。为了实现信息的外流动,C++系统定义了I/O类库,其中的每一个类都称作相应的流或流类,用以完成某一方面的功能。根据一个流类定义的对象也时常被称为流。如根据文件流类fstream定义的一个对象fio,可称作为fio流或fio文件流,用它可以同磁盘上一个文件相联系,实现对该文件的输入和输出,fio就等同于与之相联系的文件。 C++系统中的I/O类库,其所有类被包含在iostream.h,fstream.h 和strstrea.h这三个系统头文件中,各头文件包含的类如下:iostream.h包含有:ios, iostream, istream, ostream, iostream_withassign, istream_withassign, ostream_withassign等。

相关文档
相关文档 最新文档