首页 新闻 搜索 专区 学院

noj小型数据库 佛系寻求解决方案

0
悬赏园豆:5 [待解决问题]

请各位大佬看一看我的代码为什么错误呜
题目如下:

我的代码怎么也得不到正确的结果,我的代码在问题补充中!
输出结果如下~(结果中包括了调试内容)
下面是结果:

C++
问题补充:
#include <fstream>
#include <iostream> 
using namespace std;
class Student{
    public:
        int num;
                char name[12];
                int grade;
};
int main(){
    int i,k=0,n;
    Student stud[10],stud1[10];
    cin>>n;//输入学生数目
    ofstream outf("DATA5614.DB",ios::binary);
    if(!outf){
        cerr<<"open error!"<<endl;
        abort();
    }
    for(i=0;i<n;i++){
//输入学生信息
        cin>>stud[i].num>>stud[i].name>>stud[i].grade;
//将学生信息写入文件
        outf.write((char *)&stud[i],sizeof(stud[i]));
    }
    outf.close();
    ifstream inf("DATA5614.DB",ios::binary);
    for(i=0;i<n;i++){
//对文件读出的指针进行定位
        inf.seekg(i*sizeof(stud1[i]),ios::beg);
//读出数据到stud1[]数组中
        inf.read((char *)&stud1[1],sizeof(stud1[i]));
    }
        for(i=0;i<n;i++)//本循环用于调试结果
      cout<<stud1[i].num<<" "<<stud1[i].name<<" "<<stud1[i].grade<<endl;
    for(i=0;i<n;i++)//按照题目要求进行成绩比较
    if(stud1[i].grade>stud1[k].grade) k=i;
    cout<<stud1[k].num<<" "<<stud1[k].name<<" "<<stud1[k].grade<<endl;//按题目要求进行输出
        cout<<k<<endl;//调试成绩最高者的确定是否正确
    inf.close(); 
    return 0;
}
一条C鱼的主页 一条C鱼 | 初学一级 | 园豆:194
提问于:2020-05-18 22:33
< >
分享
所有回答(1)
0

复制粘贴代码请用《插入代码》,不然会改变你的代码格式,让人很难看懂

时间过了不知道我还能帮上忙吗

Conan-jine | 园豆:843 (小虾三级) | 2020-05-19 11:00

好的感谢!我再编辑一下题目!

支持(0) 反对(0) 一条C鱼 | 园豆:194 (初学一级) | 2020-05-19 11:15

小白刚注册博客不知道怎么使用,十分感谢指正!已经在补充问题中插入代码!请您看一下呜!

支持(0) 反对(0) 一条C鱼 | 园豆:194 (初学一级) | 2020-05-19 11:26

@一条C鱼: 我还没试过你这样的代码,但是做题的思路是有的,代码大部分能看懂。
就题目而言,假如当成绩最高者不止一位,你的程序只输出了一位

支持(0) 反对(0) Conan-jine | 园豆:843 (小虾三级) | 2020-05-19 11:43

你这个做题网站是哪的呀,可以给我吗?

支持(0) 反对(0) Conan-jine | 园豆:843 (小虾三级) | 2020-05-19 11:58

@Conan-jine: 但是我想知道的是,为什么我调试的结果中只有一个人的结果输出正常,同时还只输出正常了成绩最高者,而且为什么最终成绩最高者编号k的值是0而不是4呢

支持(0) 反对(0) 一条C鱼 | 园豆:194 (初学一级) | 2020-05-19 13:52

@Conan-jine: 点击这个网站的课后练习的noj就可以的啦noj.nwpu.edu.cn/

支持(0) 反对(0) 一条C鱼 | 园豆:194 (初学一级) | 2020-05-19 13:54

@Conan-jine: 不过程序最高者有几位这种情况确实没有考虑到!感谢~

支持(0) 反对(0) 一条C鱼 | 园豆:194 (初学一级) | 2020-05-19 13:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册