基本控制结构程序设计-枚举与

上传人:san****019 文档编号:70319712 上传时间:2019-01-16 格式:PPT 页数:13 大小:351.31KB
返回 下载 相关 举报
基本控制结构程序设计-枚举与_第1页
第1页 / 共13页
基本控制结构程序设计-枚举与_第2页
第2页 / 共13页
基本控制结构程序设计-枚举与_第3页
第3页 / 共13页
基本控制结构程序设计-枚举与_第4页
第4页 / 共13页
基本控制结构程序设计-枚举与_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基本控制结构程序设计-枚举与》由会员分享,可在线阅读,更多相关《基本控制结构程序设计-枚举与(13页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计(第2版),第2章 基本控制结构程序设计-枚举与文件,如果一个变量只有几种可能的值,可以定义为枚举类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。,定义一个枚举类型 enum color_name red, yellow, blue, white, black; enum color_name color;,(1)C+语言在编译时按顺序赋值为0,1,2,。 (2)可以在定义枚举类型时,改变枚举元素的值。例如 enum weekdaysun=7,mon=1,tue,wed,thu,fri,sat week1, week2; (3)枚举变量可以用来作比

2、较判断 if(week1 = sun) break;,2.7 枚举类型(enum),【例319】 口袋中有红、黄、蓝、白、黑五种颜色的球若干个,每次从口袋中取三种不同颜色的球,统计并输出所有的取法。 分析:每个球的颜色都是这五种颜色之一,因此可以使用枚举类型来定义球的颜色。假设所取三个球的颜色分别为i, j, k, 每个量都有5种取值,其中ijk就是满足要求的取法,因此用穷举算法可以解决。,/文件名:Ex3_19.cpp #include #include void main( ) enum color_set red,yellow,blue,white,black; color_set co

3、lor; int i,j,k,counter=0,loop;,for(i=red;i=black;i+) for(j=red;j=black;j+) if(i!=j)/前两个球颜色不同 for(k=red;k=black;k+) if(k!=i,运行结果为: 1 red yellow blue 2 red yellow white 3 red yellow black 4 red blue yellow 共有60种取法,2.8 简单的文件操作,“文件”,一般是指内存以外的存储介质上一批数据的集合。C+在语言层次上提供了文件操作的一系列函数用于完成文件的操作,打开文件,读取或写入文件数据,关闭文

4、件。,1. 内部文件与外部文件,内部文件:指在程序中运行的文件,由程序进行控制和操作。 外部文件:指存放在外部存储设备中的文件(如磁盘、光盘等) 计算机将处部设备也作为文件进行管理。键盘就是标准的输入文件(cin),显示器就是标准的输出文件(cout)。,字符文件:又称ASCII文件或文本TEXT文件,它是一个字节存放一个ASCII码,代表一个字符。例如,32767需要使用5个字节表示,即: 51 50 55 54 55 (十进制表示的ASCII),而浮点数136.56需要使用6个字节表示,即49 51 54 46 53 54。,二进制文件:是指以数据在内存中存储形式原样输出(存放)到文件上去

5、。例136.56是一个float型实数,它在内存中占有4个字节长度。将该4个字节按其在内存中的原来形式存放到文件中。无论该float型数有多大,都只占用4个字节。,2. 字符文件与二进制文件,缓冲文件系统是指:系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区。从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘文件中去。如果从磁盘向内存读入数据,则一次从磁盘文件中将一批数据输入到内存缓冲区,然后再从缓冲区逐个地将数据送到程序数据区。 非缓冲文件系统是指:系统不自动开辟确定大小的缓冲区,而由程序员为每个文件设定缓冲区。,磁盘,3. 缓冲文件系统和非缓冲文件系统,4. 文

6、件和操作步骤,(1)说明一个文件对象(内部文件) 文件类型ifstream:支持从输入文件提取数据的操作(输入指以文件为信息源,从文件进入程序,相当于提取,是读操作) 文件类型ofstream:支持将数据写入到输出文件的操作(输出是指以文件为信息的汇,信息从程序插入文件到达磁盘的过程,是写操作,相当于插入) 例: ifstream ifile; /定义输入文件ifile, ofstream ofile; /定义输出文件ofile;,(2)打开文件 必须使用特殊的函数来打开文件:open( ); 例: ifile.open(“d:my_in_file.txt”); /在d盘上打开文件名为:my_

7、in_file.txt的文本文件,用于读(输入),该文件必须已经存在; ofile.open(“d:my_out_file.txt”); /在d盘上打开文件名为:my_out_file.txt的文本文件,用于写(输出),如果磁盘文件不存在,则会自动建立新文件。如果原来已经有同名文件存在,则清空原来的文件内容。,(3)对文件进行读/写操作 从文件头到文件尾的顺序读/写的操作,可以用C+的提取运算符和插入运算符进行,也可以用读字符的get( )和读字符串的getline( )等函数。 读写文件是在文件缓冲区中进行的。,(4)关闭文件 关闭文件时,系统把与该文件相关联的文件缓冲区中的数据写到磁盘文件

8、中,以保证文件的完整。同时把磁盘文件名与文件对象之间的关联断开,防止由于误操作修改磁盘文件。 例: ifile.close( ); ofile.close( );,#include #include void main( ) int i,j,k; ofstream ofile; /定义输出文件 ofile.open(“d:myfile.txt“); /打开文件 ofile“ 公鸡 母鸡 小鸡“endl; for(i=0;i=20;i+) for(j=0;j=33;j+) k=100-i-j; if(5*i+3*j+k/3=100),【例3.20】将百鸡问题计算结果存入文件,然后读出。,ifstream ifile; ifile.open(“d:myfile.txt“); i=0; while(ifile.get(ai) /不可用,它不能读 /白字符包括空格,制表,backspace和回车等) if(ai=n) break; i+; ai=0; coutijk; /由文件读入 if(ifile.eof( )!=0) break; coutsetw(6)isetw(10)j setw(10)kendl;/屏幕显示 ifile.close( ); 找一找D盘有无文件myfile.txt,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号