文档详情

C程序设计华中科技大学课件new.ppt

发布:2017-09-10约2.72万字共106页下载文档
文本预览下载声明
2.7.2 枚举类型的变量的使用 枚举类型应用要点: 2、由于枚举常量本身是一个整数值,因此也允许将一个枚举量赋给整型变量。但不允许将一个整型变量赋给枚举量,即使整型变量取值合适,也必须将整型变量强制转换为枚举型 。例如: int i, j; i=color3; //合法,i的值为1 j=GREEN; //合法,j的值为0 color3= i; //非法 3、关系运算可以是同一枚举类型的两个枚举变量之间或一个枚举变量和一个枚举常量之间,用它们所取的值(序号)比较。例如: if (color3==color4) cout”相等”; if (color3!=WHITE) cout”not white”; 4、枚举变量不能直接输入,可以直接输出,但输出的是变量的整数值。例如: cincolor1 //非法 coutcolor3 //合法,输出的是2 从程序的合法性和可读性出发,枚举变量的输入输出一般都采用switch语句将其转换为字符或字符串。同时,枚举类型数据的其他处理也往往应用switch语句。 2.7.2 枚举类型的变量的使用 *【例2.24】 口袋中有红、黄、蓝、白、黑五种颜色的球若干个,每次从口袋中取三个不同颜色的球,统计并输出所有的取法。 2.8 输入输出文件简介 如果希望程序的运行结果能够永久保留下来,供随时查阅或取用,则需要将其保存在文件中。 文件包括文本文件和二进制文件。本小节只讨论文本文件的基本操作和简单应用。文本文件由字符序列组成,也称ASCII码文件,在文本文件中存取的最小信息单位为字符(character)。 两个概念:内部文件和外部文件。通常所谓的文件是指磁盘文件,就是在“我的电脑”的目录中见到的文件,这里称为外部文件。而在程序中运行的文件,称为内部文件(文件流对象)。程序中操作的是内部文件,最后保存的是外部文件。 算法 枚举 文件 2.8 输入输出文件简介 使用文件的步骤如下: 说明一个文件流对象(内部文件)。 文件流类型ifstream支持从输入文件提取数据的操作。 而文件流类型ofstream完成数据写入输出文件的各种操作。 ifstream ifile; //定义输入文件,ifile为文件名,可用任意标识符 ofstream ofile; //定义输出文件,ofile为文件名,可用任意标识符 (2) 打开文件。 ifile.open(”d:\\my_in_file.txt”); ofile.open(”d:\\my_out_file.txt”); 引号中的”d:\\my_in_file.txt” 和”d:\\my_out_file.txt”为磁盘文件路径名,这样在文件流对象和磁盘文件名之间建立了联系。 (3) 对文件进行读写操作。最常见的文件读写是顺序的,所谓“顺序”指的是从文件头开始进行读写。顺序读写可用C++的提取运算符()和插入运算符()进行。也可以用读字符的get()和读字符串的getling()等函数。读写是在文件缓冲区中进行。 (4) 关闭文件。当打开一个文件进行读写后,应该显式地关闭该文件。与打开文件相对应: ifile.close(); ofile.close(); 关闭文件时,系统把与该文件相关联的文件缓冲区中的数据写到磁盘文件中,保证文件的完整;同时把磁盘文件名与文件流对象之间的关联断开,可防止误操作修改了磁盘文件。 【例2.25】将百鸡问题计算结果存入文件。 【例2.26】读出存放百鸡问题计算结果的文件。 *【例2.24】 口袋中有红、黄、蓝、白、黑五种颜色的球若干个,每次从口袋中取三个不同颜色的球,统计并输出所有的取法。 分析: 每个球的颜色都是这五种颜色之一,因此可以使用枚举类型来定义球的颜色。 假设所取三个球的颜色分别为i, j, k, 每个量都有5种取值,其中i≠j≠k就是满足要求的取法,因此用枚举算法(穷举法)可以解决。 2.7.2 枚举类型的变量的使用*【例2.24】 算法: 1、定义枚举类型及相应变量; enum color {red,yellow,blue,white,black}; color i,j,k,col; 2、 for(i=red;i=black;i++) for(j=red;j=black;j++) if(i!=j) //前两个球颜色不同 for(k=red;k=black;k++) if(k!=ik!=j) //第三个球不同于前两个,满足要求;找到一种取法 3、输出该取法:注意枚举量的输出方法。 2.7.2 枚举类型的变量的使用*【例
显示全部
相似文档