c++动态结构数组、文件输入输出、分支语句和循环语句
2016-12-03 20:46
330 查看
#include<iostream> #include<fstream> #include<cstdlib> using namespace std;//命名空间要放在结构体定义之前 const int size=50; struct jxz//定义结构体 { char name[size]; double price; }; int main() { cout<<"enter the name of file:"; char filename[size]; cin.getline(filename,size);//输入指定文件名 ,要从绝对路径获取文件名,比如D:\\aaa.txt ifstream inFile; inFile.open(filename);//inFile与文件相关联 ofstream outFile;//定义文件输出对象 outFile.open("str.txt");//outFile与文件相关联 ,输出也可以写其他路径名,比如D:\\str.txt if(!inFile.is_open())//检查是否可以打开文件 { cout<<"can not open the file:"<<filename<<endl; exit(EXIT_FAILURE); } int number,i; inFile>>number;//文件读取 inFile.get(); jxz *p=new jxz [number];//定义动态结构数组,本质上是动态数组,只是每个数组元素类型都是结构体 for (i=0;i<number;++i) { inFile.getline(p[i].name,size);//类似于cin的输入方式 ,动态结构数组用句点操作符 inFile>>p[i].price;//如果只是动态结构的话,用指针表示的时候那么就用箭头操作符 inFile.get();//去掉换行符 } int a=0; for (i=0;i<number;++i)//for循环处理结构数组 { if(p[i].price>=10000)//分支语句判断 { if(a==0)//定义标志位,便于分类 { outFile<<"grand patrons:"<<endl; a++; } outFile<<p[i].name<<endl; outFile<<p[i].price<<endl; } } for (a=0,i=0;i<number;++i) { if(p[i].price<=10000) { if(a==0) { outFile<<"patrons:"<<endl; a++; } outFile<<p[i].name<<endl; outFile<<p[i].price<<endl; } } delete [] p;//释放指针 inFile.close();//关闭文件 return 0; }
相关文章推荐
- 第02章 CORE C++_控制语句_选择_循环_分支_跳出_函数_声明_形参_返回值_重载_递归
- Java笔记1 Java编程基础<2>循环语句、函数(重载)、变量和数组的内存结构
- C++学习日记--分支结构(if语句)
- 【C++】C++的输入输出、循环、条件、字符串、数组、类、继承的使用实例
- 你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作
- 黑马程序员----分支、循环结构、跳转语句
- 实验7:巩固分支结构、循环结构、函数和数组的使用方法 三。
- C++控制结构-循环语句
- 实验7:巩固分支结构、循环结构、函数和数组的使用方法 四
- 如何使用opencv的c++接口来读取、写结构体数组到yml文件中
- C语言的分支语句和循环结构知识点
- 分支结构、循环结构流控语句(if、switch、for、while)
- 2013-C++第7周项目——初步体验分支结构和循环结构的程序设计
- C++学习笔记(第三章 多分支结构 循环程序设计 之一)
- 打造 C++ 最灵活动态数组结构 (二)
- 关于C++的一些细节[四:循环,分支语句,关系表达式,关系运算符]
- 2013C++-第8周项目——用if语句实现分支结构程序设计
- 如何使用opencv的c++接口来读取、写结构体数组到xml文件中
- (转载)你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作
- C++学习笔记(第三章 多分支结构 循环程序设计 之二)