#include <iostream>
using namespace std;
//类Student用来完成对student.txt文件的写入
class Student{
private:
//数据成员分别对应:序号、考号、姓名、语文、数学、英语、总分
int Num[1000];
char ID[1000][10],Name[1000][10];
double Chinese[1000],Math[1000],English[1000],Total[1000];
//数组after_sort[]用于存放排序后的序号
int after_sort[1000];
//变量N用于记录需要处理的学生数量
int N;
public:
//函数CalculateAchievement()用于计算总分
void CalculateAchievement();
//函数Sort()用于对总分进行排序
void Sort();
//函数cinDate()用于读文件
void cinDate();
//函数coutDate()用于写文件
void coutDate();
};
//读文件
void Student::cinDate(){
FILE *f;
char file[31];
cout<<"请输入需要读取的文件名(记得加上后缀哦!):";
cin>>file;
cout<<"1241234";
if((f=fopen(file,"r"))==NULL)
{
cout<<"无法打开此文件"<<endl;
exit(0);
}
int i=0;
while(!feof(f)) {
fscanf(f,"%s%s%lf%lf%lf",ID[i],Name[i],Chinese[i],Math[i],English[i]);
Num[i]=i;
cout<<Name[i]<<endl;
i++;
}
N=i;
fclose(f);
}
应该是循环里面的数据成员操作有错 但是具体是什么错误,谁能告诉我?
C++读文件运行时错误
答案:1 悬赏:20
解决时间 2021-12-13 11:57
- 提问者网友:枫涩帘淞幕雨
- 2021-12-12 13:58
最佳答案
- 二级知识专家网友:木子香沫兮
- 2021-12-12 15:18
fscanf(f, "%s%s%lf%lf%lf", ID[i], Name[i], &Chinese[i], &Math[i], &English[i]);
^ ^ ^
%lf需要传递的是double*类型的指针
^ ^ ^
%lf需要传递的是double*类型的指针
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |