C++读取txt文件内容——每行按列存入数组
来源:互联网 发布:平板电脑淘宝开店认证 编辑:程序博客网 时间:2024/06/08 02:59
考研筛选计算机考生的成绩,利用大三学习的数据挖掘课程的相应代码。数据:
程序首先自定义一个存放每行数据元素的类:
//定义访问类class Grade{public:char sname[50];//学生姓名char sid[20];//学生考号char institute[50];//学院名称int majorid;//专业代码char major[20];//专业名称float ptgrade;//初试成绩float rtgrade;//复试成绩float tgrade;//总成绩char LearningMethod[20];//学习方式char AdmissionCategory[20];//录取类别};
然后利用ifstream读取文件数据:每行每隔一个空格存入Grade[]数组的各项中。//打开和创立文件:ifstream infile;infile.open("infile.txt", ios::in);/*string contents;*/if (infile.fail()){cout << "error open!" << endl;}//读取文件:Grade grades[3500];int grade_size = 0;while (!infile.eof()){infile >> grades[grade_size].sname >> grades[grade_size].sid >> grades[grade_size].institute >> grades[grade_size].majorid >> grades[grade_size].major >> grades[grade_size].ptgrade >> grades[grade_size].rtgrade >> grades[grade_size].tgrade >> grades[grade_size].LearningMethod >> grades[grade_size].AdmissionCategory;grade_size++;}最后将读取到的文件内容以自己想要的格式和数据(计算机考生)输出到另一txt文件中:
//保存文件:if (outfile){for (int i = 0; i<grade_size; i++){if(grades[i].majorid == 81200 || grades[i].majorid == 85211 || grades[i].majorid == 85212 || grades[i].majorid == 83500){outfile << grades[i].sname << '\t' << grades[i].institute << '\t' << grades[i].majorid << '\t' << grades[i].major << '\t' << grades[i].ptgrade << '\t' << grades[i].rtgrade << '\t' << grades[i].tgrade << '\t' << grades[i].LearningMethod << '\t' << grades[i].AdmissionCategory << '\t' << endl;}}}elsecerr << "无法打开文件!" << endl;
获得数据:
整体代码:
#include "stdafx.h"#include<iostream>#include<string>#include<fstream>#include<algorithm>using namespace std;//定义访问类class Grade{public:char sname[50];//学生姓名char sid[20];//学生考号char institute[50];//学院名称int majorid;//专业代码char major[20];//专业名称float ptgrade;//初试成绩float rtgrade;//复试成绩float tgrade;//总成绩char LearningMethod[20];//学习方式char AdmissionCategory[20];//录取类别};int main(){//打开和创立文件:char name2[50];ifstream infile;infile.open("infile.txt", ios::in);/*string contents;*/if (infile.fail()){cout << "error open!" << endl;}cout << "输入要保存的文件名:" << endl;cin >> name2;ofstream outfile(name2, ios::out);if (!outfile){cout << "open eror!" << endl;exit(1);}//读入文件:Grade grades[3500];int grade_size = 0;while (!infile.eof()){infile >> grades[grade_size].sname >> grades[grade_size].sid >> grades[grade_size].institute >> grades[grade_size].majorid >> grades[grade_size].major >> grades[grade_size].ptgrade >> grades[grade_size].rtgrade >> grades[grade_size].tgrade >> grades[grade_size].LearningMethod >> grades[grade_size].AdmissionCategory;grade_size++;}//保存文件:if (outfile){for (int i = 0; i<grade_size; i++){if(grades[i].majorid == 81200 || grades[i].majorid == 85211 || grades[i].majorid == 85212 || grades[i].majorid == 83500){outfile << grades[i].sname << '\t' << grades[i].institute << '\t' << grades[i].majorid << '\t' << grades[i].major << '\t' << grades[i].ptgrade << '\t' << grades[i].rtgrade << '\t' << grades[i].tgrade << '\t' << grades[i].LearningMethod << '\t' << grades[i].AdmissionCategory << '\t' << endl;}}}elsecerr << "无法打开文件!" << endl; return 0;}
阅读全文
0 0
- C++读取txt文件内容——每行按列存入数组
- android 读取txt文件获取每行内容
- 从txt文件中读取数据存入数组
- C格式化读取txt文件内容
- VC++读取文件内容并将其存入二维数组
- 读取txt文件内容
- 读取txt文件内容
- 读取txt文件内容
- c语言实现读取txt文件内容到结构体数组中
- MFC打开txt文件并读取二维不等列数组
- 对txt文件内容修改存入新txt文件
- C# Window编程随记——读取.txt文件内容
- 简单的读取文件的每行内容
- c#读取文件内容存放到int数组 array.txt
- PHP读取txt文件的内容并赋值给数组
- c++ 读取全部txt文件内容到数组
- qt 读取txt文件内容并保存到数组中
- c++读取txt中每行的数据到数组中
- HDU 2013 蟠桃记
- [AHK]窗口监控
- Vue源码解析(三)
- PAT 1075. PAT Judge (25) 多重排序。已解决
- LeetCode | 40. Combination Sum II
- C++读取txt文件内容——每行按列存入数组
- 86. Partition List
- cdn学习
- HDU 2014 青年歌手大奖赛_评委会打分
- 第九章 JSP标签
- 667. Beautiful Arrangement II(Java)
- 基于lua服务器
- tf.shape(a)和a.get_shape()
- Js作用域与作用域链详解