用C++编写一个教师信息管理系统,要求如下。。。

1、定义一个TeacherList类2、可以实现简单的增加教师3、可以实现简单的查找教师4、可以实现简单的删除教师5、要求用二进制文件的读写操作大神帮帮忙啊,我在网上也帮... 1、定义一个 TeacherList 类
2、可以实现简单的增加教师
3、可以实现简单的查找教师
4、可以实现简单的删除教师
5、要求用二进制文件的读写操作
大神帮帮忙啊,我在网上也帮过蛮多的人,希望大家帮帮我啊!重要是输出得了程序
展开
 我来答
军昊韦0el95b
推荐于2016-05-22 · TA获得超过624个赞
知道小有建树答主
回答量:443
采纳率:50%
帮助的人:383万
展开全部
#include <iostream>
#include <fstream>
#include<string>
using namespace std;
class Teacher
{
public:
    Teacher(){name = "";num = 0;}
    Teacher(string a,int num){name =a;this->num = num;}
    Teacher operator =(const Teacher &t)
    {
         this->name = t.name;
         this->num  = t.num;
         return *this;
    }
    string name;
    int num;
};
char *filePath = "D:/123.data";
class TeacherList:public Teacher
{
public:
    TeacherList(int num=0):n(num){s = new Teacher[num];};
    ~TeacherList(){delete[] s;}
    void add(Teacher &t){
        int i;
        for( i =0;!s[i].name.empty();i++)
            NULL;
        s[i] = t;
    }
    void delet(Teacher &t)
    {
        int i,j;
        for( i =0;!s[i].name.empty();i++)
        {
            if(!s[i].name.compare(t.name))
            {
                for( j = i;!s[j+1].name.empty();j++)
                {
                    s[j] = s[j+1];
                }
                s[j].name = "";
            }
        }
    }

    string find(int num)
    {
        for(int i =0;!s[i].name.empty();i++)
        {
            if(s[i].num == num)
               return s[i].name;
        }
        return NULL;
    }
    int find(string  &name)
    {
        for(int i =0;!s[i].name.empty();i++)
        {
            if(!s[i].name.compare(name))
               return s[i].num;
        }
        return 0;
    }

    void print()
    {
        for(int i =0;!s[i].name.empty();i++)
            cout<<s[i].name<<s[i].num<<endl;
    }
    void filewirte()
    {
        ofstream fout;
        fout.open(filePath,ofstream::binary);
        for(int i =0;!s[i].name.empty();i++)

        fout.write((char *)&s[i],sizeof(s[i]));
        fout.close();
    }
    void fileread()
    {
        ifstream fin;
        fin.open(filePath,ifstream::binary);
        Teacher t;
        int i = 0;
        while(fin.read((char *)&t,sizeof(t)))
        {
            if(i<n)
                s[i++] = t;
        }
        fin.close();
    }

private:
    Teacher *s;
    int n;

};
int main(int argc, char *argv[])
{
    TeacherList a(10);
    string aa = "huang";
    string bb = "yiyong";
    string cc = "gongke";
    Teacher aaa(aa,20);
    Teacher bbb(bb,30);
    Teacher ccc(cc,30);
    a.add(aaa);
    a.add(bbb);
    a.add(ccc);
    a.print();
    a.delet(ccc);
    a.print();
    string test = a.find(20);
    cout<<test<<endl;
    int dd = a.find(aa);
    cout<<dd<<endl;
    a.filewirte();
    TeacherList b(10);
    b.fileread();
    b.print();
    return 0;

}

g++ 编译实测通过  

追问
能不能用标准的格式通过,谢谢了,
追答
这个就是C++的标准格式了 你说的标准格式 是个啥
校管家
2024-02-28 广告
培训机构教务系统是一款专为培训机构设计的综合管理软件,旨在提升机构的教学质量和管理效率。该系统涵盖学员管理、课程管理、排课管理、财务管理等功能,可帮助机构实现精细化管理,提高学员满意度。通过该系统,培训机构可以更好地安排课程、优化师资资源配... 点击进入详情页
本回答由校管家提供
刷新①丅5e6
2015-06-15 · TA获得超过4333个赞
知道大有可为答主
回答量:1499
采纳率:64%
帮助的人:597万
展开全部
这玩意不难,你可以如果稍微听过课平时自己也敲过代码的话,再问问别人上网搜搜资料,不难做出来。虽然问题不难,但是也得有个上百行代码,估计在这里不会有人免费给你做的,除非刚好有人做过类似的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式