用C++编写一个教师信息管理系统,要求如下。。。
1、定义一个TeacherList类2、可以实现简单的增加教师3、可以实现简单的查找教师4、可以实现简单的删除教师5、要求用二进制文件的读写操作大神帮帮忙啊,我在网上也帮...
1、定义一个 TeacherList 类
2、可以实现简单的增加教师
3、可以实现简单的查找教师
4、可以实现简单的删除教师
5、要求用二进制文件的读写操作
大神帮帮忙啊,我在网上也帮过蛮多的人,希望大家帮帮我啊!重要是输出得了程序 展开
2、可以实现简单的增加教师
3、可以实现简单的查找教师
4、可以实现简单的删除教师
5、要求用二进制文件的读写操作
大神帮帮忙啊,我在网上也帮过蛮多的人,希望大家帮帮我啊!重要是输出得了程序 展开
2个回答
展开全部
#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 广告
2024-02-28 广告
培训机构教务系统是一款专为培训机构设计的综合管理软件,旨在提升机构的教学质量和管理效率。该系统涵盖学员管理、课程管理、排课管理、财务管理等功能,可帮助机构实现精细化管理,提高学员满意度。通过该系统,培训机构可以更好地安排课程、优化师资资源配...
点击进入详情页
本回答由校管家提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询