C++,读取TXT文件数据,并能使所取数据进行其他处理

0807091学生091信息080496989889938681930807054学生054信息080296959596908486930807079学生079信息080... 0807091 学生091 信息0804 96 98 98 89 93 86 81 93
0807054 学生054 信息0802 96 95 95 96 90 84 86 93
0807079 学生079 信息0803 96 94 99 76 90 81 90 89
0807026 学生026 信息0801 96 97 95 79 91 88 82 91
0807058 学生058 信息0802 94 98 89 85 92 84 84 90
0807115 学生115 信息0804 97 99 99 88 89 74 73 92
0807111 学生111 信息0804 94 91 96 96 89 80 83 92
0807055 学生055 信息0802 85 92 98 78 93 87 95 94
0807078 学生078 信息0803 97 95 81 89 82 92 82 93
0807022 学生022 信息0801 88 97 89 79 88 82 87 90
0807056 学生056 信息0802 86 96 99 77 90 88 79 94
0807025 学生025 信息0801 91 93 99 76 90 72 81 90
0807036 学生036 信息0802 89 96 94 88 83 91 73 90
===============================
读取这个,拜托前辈们写下代码吧,要读取学号和各科成绩,需要对成绩进行求平均值。
展开
 我来答
封_喉_剑
推荐于2016-09-25 · TA获得超过208个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:144万
展开全部
时间紧,个人也比较菜,所以比较低效也比较乱,见谅!!!
已在Win7下VS2010编译通过!!!

#include<iostream>
#include<vector>
#include<string>
#include<fstream>
using namespace std;

ifstream& openFile(ifstream& in, const string& fileName)
{
in.close();
in.clear();
in.open(fileName.c_str());

return in;
}

int main()
{
string fileName, str1, str2, str3;
int val1, val2, val3, val4, val5, val6, val7, val8;

cout << "请输入要打开的文件名" << endl;
cin >> fileName;
cin.clear();

ifstream fread;
if (openFile(fread, fileName))
{
while (fread >> str1 >> str2 >> str3 >> val1 >>val2 >> val3 >> val4 >> val5 >> val6 >> val7 >> val8)
{
cout << str1 << "\t" << str2 << "\t" << str3 << "\t" << "学生平均分成绩:\t" << (val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8) / 8 << endl;
}

return 0;
}
else
{
cout << "文件 " << fileName << " 打开失败!" << endl;
return -1;
}
}
kaladijia
2010-08-23 · TA获得超过4326个赞
知道小有建树答主
回答量:1737
采纳率:25%
帮助的人:518万
展开全部
使用C++提供输入输出函数或Windows操作系统的文件读写函数获取文件数据。
C++的文件读写函数在C++语言图书中有介绍,
而Windows操作系统的文件读写函数包括
CreateFile()、ReadFile()、WriteFile()、CloseHandle()等
你可以通过关键字 Win32 API查找。

在读取TXT注意字符编码形式,GB1213、Unicode的UTF-8、UTF-16等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leoujz
2010-08-23 · TA获得超过147个赞
知道答主
回答量:78
采纳率:0%
帮助的人:47.1万
展开全部
#include<stdio.h>
#include<stdlib.h>

int main()
{
FILE* fp;
fp = fopen( "in.txt", "r" );
char buf[200];
;
int a,b,c,d,e,f,g,h;
char stu_no[20];
char interval1[50], interval2[50];

while( fgets( buf, sizeof(buf), fp ) )
{
sscanf( buf, "%s %s %s %d %d %d %d %d %d %d %d", stu_no, interval1, interval2,
&a, &b, &c, &d, &e, &f, &g, &h );

printf("stu_no:%s a:%d b:%d c:%d d:%d e:%d f:%d g:%d h:%d\n",
stu_no, a, b, c, d, e, f, g, h);
}
fclose(fp);

return 0;
}

运行过了,没问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
精明且沉静灬福星
2010-08-23
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
//info.txt为TXT文件名
int main(int argc,char **argv)
{
freopen("info.txt","r",stdin);

char id[8],name[16],num[16];
int credits[8],temp;

while(scanf("%s %s %s",id,name,num)==3)
{

temp = 0;
for(int i=0;i<8;i++)
{
scanf("%d",&credits[i]);
temp += credits[i];
}

printf("学号:%s,平均分:%.1f\n",num,temp/8.0);
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式